ADVANCE PRAISE FOR
INTRODUCTION TO
OPERATIONS RESEARCH
SEVENTH EDITION
Reviewers seem to agree that this is clearly the best edition yet. Here is a sampling of
comments:
“The new edition seems to contain the most current information available.”
“The new edition of Hillier/Lieberman is very well done and greatly enhances this clas-
sic text.”
“The authors have done an admirable job of rewriting and reorganizing to reflect mod-
ern management practices and the latest software developments.”
“It is a complete package.”
“Hillier/Lieberman has recaptured any advantage it may have lost to other competitors
in the past.”
“The changes in this new edition make Hillier/Lieberman the preeminent book for oper-
ations research and I would highly recommend it.”

slide 3:

INTRODUCTION TO
OPERATIONS RESEARCH

slide 4:

McGraw-Hill Series in Industrial Engineering and Management Science
CONSULTING EDITORS
Kenneth E. Case Department of Industrial Engineering and Management Oklahoma State University
Philip M. Wolfe Department of Industrial and Management Systems Engineering Arizona State University
Barnes
Statistical Analysis for Engineers and Scientists: A Computer-Based Approach
Bedworth Henderson and Wolfe
Computer-Integrated Design and Manufacturing
Blank and Tarquin
Engineering Economy
Ebeling
Reliability and Maintainability Engineering
Grant and Leavenworth
Statistical Quality Control
Harrell Ghosh and Bowden
Simulation Using PROMODEL
Hillier and Lieberman
Introduction to Operations Research
Gryna
Quality Planning and Analysis: From Product Development through Use
Kelton Sadowski and Sadowski
Simulation with ARENA
Khalil
Management of Technology
Kolarik
Creating Quality: Concepts Systems Strategies and Tools
Creating Quality: Process Design for Results
Law and Kelton
Simulation Modeling and Analysis
Nash and Sofer
Linear and Nonlinear Programming
Nelson
Stochastic Modeling: Analysis and Simulation
Niebel and Freivalds
Methods Standards and Work Design
Pegden
Introduction to Simulation Using SIMAN
Riggs Bedworth and Randhawa
Engineering Economics
Sipper and Bulfin
Production: Planning Control and Integration
Steiner
Engineering Economics Principles

slide 5:

INTRODUCTION TO
OPERATIONS RESEARCH
Seventh Edition
FREDERICK S. HILLIER
Stanford University
GERALD J. LIEBERMAN
Late of Stanford University
Cases developed by Karl Schmedders and Molly Stephens
Tutorial software developed by Mark Hillier and Michael O’Sullivan
Boston Burr Ridge IL Dubuque IA Madison WI New York
San Francisco St. Louis Bangkok Bogotá Caracas Lisbon London
Madrid Mexico City Milan New Delhi Seoul Singapore Sydney
Taipei Toronto

vii
ABOUT THE AUTHORS
Frederick S. Hillier was born and raised in Aberdeen Washington where he was an award
winner in statewide high school contests in essay writing mathematics debate and mu-
sic. As an undergraduate at Stanford University he ranked first in his engineering class of
over 300 students. He also won the McKinsey Prize for technical writing won the Out-
standing Sophomore Debater award played in the Stanford Woodwind Quintet and won
the Hamilton Award for combining excellence in engineering with notable achievements
in the humanities and social sciences. Upon his graduation with a B.S. degree in Industrial
Engineering he was awarded three national fellowships National Science Foundation Tau
Beta Pi and Danforth for graduate study at Stanford with specialization in operations re-
search. After receiving his Ph.D. degree he joined the faculty of Stanford University and
also received visiting appointments at Cornell University Carnegie-Mellon University the
Technical University of Denmark the University of Canterbury New Zealand and the
University of Cambridge England. After 35 years on the Stanford faculty he took early
retirement from his faculty responsibilities in 1996 in order to focus full time on textbook
writing and so now is Professor Emeritus of Operations Research at Stanford.
Dr. Hillier’s research has extended into a variety of areas including integer program-
ming queueing theory and its application statistical quality control and the application of
operations research to the design of production systems and to capital budgeting. He has pub-
lished widely and his seminal papers have been selected for republication in books of se-
lected readings at least ten times. He was the first-prize winner of a research contest on “Cap-
ital Budgeting of Interrelated Projects” sponsored by The Institute of Management Sciences
TIMS and the U.S. Office of Naval Research. He and Dr. Lieberman also received the hon-
orable mention award for the 1995 Lanchester Prize best English-language publication of
any kind in the field of operations research which was awarded by the Institute of Opera-
tions Research and the Management Sciences INFORMS for the 6th edition of this book.
Dr. Hillier has held many leadership positions with the professional societies in his
field. For example he has served as Treasurer of the Operations Research Society of Amer-
ica ORSA Vice President for Meetings of TIMS Co-General Chairman of the 1989 TIMS
International Meeting in Osaka Japan Chair of the TIMS Publications Committee Chair
of the ORSA Search Committee for Editor of Operations Research Chair of the ORSA
Resources Planning Committee Chair of the ORSA/TIMS Combined Meetings Commit-
tee and Chair of the John von Neumann Theory Prize Selection Committee for INFORMS.

slide 8:

He currently is serving as the Series Editor for the International Series in Operations Re-
search and Management Science being published by Kluwer Academic Publishers.
In addition to Introduction to Operations Research and the two companion volumes
Introduction to Mathematical Programming and Introduction to Stochastic Models in Op-
erations Research his books are The Evaluation of Risky Interrelated Investments North-
Holland 1969 Queueing Tables and Graphs Elsevier North-Holland 1981 co-authored
by O. S. Yu with D. M. Avis L. D. Fossett F. D. Lo and M. I. Reiman and Introduc-
tion to Management Science: A Modeling and Case Studies Approach with Spreadsheets
Irwin/McGraw-Hill co-authored by M. S. Hillier and G. J. Lieberman.
The late Gerald J. Lieberman sadly passed away shortly before the completion of this edi-
tion. He had been Professor Emeritus of Operations Research and Statistics at Stanford Uni-
versity where he was the founding chair of the Department of Operations Research. He was
both an engineer having received an undergraduate degree in mechanical engineering from
Cooper Union and an operations research statistician with an A.M. from Columbia Uni-
versity in mathematical statistics and a Ph.D. from Stanford University in statistics.
Dr. Lieberman was one of Stanford’s most eminent leaders in recent decades. After
chairing the Department of Operations Research he served as Associate Dean of the School
of Humanities and Sciences Vice Provost and Dean of Research Vice Provost and Dean
of Graduate Studies Chair of the Faculty Senate member of the University Advisory
Board and Chair of the Centennial Celebration Committee. He also served as Provost or
Acting Provost under three different Stanford presidents.
Throughout these years of university leadership he also remained active profession-
ally. His research was in the stochastic areas of operations research often at the interface
of applied probability and statistics. He published extensively in the areas of reliability
and quality control and in the modeling of complex systems including their optimal de-
sign when resources are limited.
Highly respected as a senior statesman of the field of operations research Dr. Lieberman
served in numerous leadership roles including as the elected President of The Institute of
Management Sciences. His professional honors included being elected to the National Acad-
emy of Engineering receiving the Shewhart Medal of the American Society for Quality Con-
trol receiving the Cuthbertson Award for exceptional service to Stanford University and serv-
ing as a fellow at the Center for Advanced Study in the Behavioral Sciences. In addition the
Institute of Operations Research and the Management Sciences INFORMS awarded him
and Dr. Hillier the honorable mention award for the 1995 Lanchester Prize for the 6th edi-
tion of this book. In 1996 INFORMS also awarded him the prestigious Kimball Medal for
his exceptional contributions to the field of operations research and management science.
In addition to Introduction to Operations Research and the two companion volumes
Introduction to Mathematical Programming and Introduction to Stochastic Models in Op-
erations Research his books are Handbook of Industrial Statistics Prentice-Hall 1955
co-authored by A. H. Bowker Tables of the Non-Central t-Distribution Stanford Uni-
versity Press 1957 co-authored by G. J. Resnikoff Tables of the Hypergeometric Prob-
ability Distribution Stanford University Press 1961 co-authored by D. Owen Engi-
neering Statistics Second Edition Prentice-Hall 1972 co-authored by A. H. Bowker
and Introduction to Management Science: A Modeling and Case Studies Approach with
Spreadsheets Irwin/McGraw-Hill 2000 co-authored by F. S. Hillier and M. S. Hillier.
viii ABOUT THE AUTHORS

slide 9:

ix
ABOUT THE CASE WRITERS
Karl Schmedders is assistant professor in the Department of Managerial Economics and
Decision Sciences at the Kellogg Graduate School of Management Northwestern Uni-
versity where he teaches quantitative methods for managerial decision making. His re-
search interests include applications of operations research in economic theory general
equilibrium theory with incomplete markets asset pricing and computational economics.
Dr. Schmedders received his doctorate in operations research from Stanford University
where he taught both undergraduate and graduate classes in operations research. Among
the classes taught was a case studies course in operations research and he subsequently
was invited to speak at a conference sponsored by the Institute of Operations Research
and the Management Sciences INFORMS about his successful experience with this
course. He received several teaching awards at Stanford including the university’s pres-
tigious Walter J. Gores Teaching Award.
Molly Stephens is currently pursuing a J.D. degree with a concentration in technology
and law. She graduated from Stanford University with a B.S. in Industrial Engineering
and an M.S. in Operations Research. A champion debater in both high school and col-
lege and president of the Stanford Debating Society Ms. Stephens taught public speak-
ing in Stanford’s School of Engineering and served as a teaching assistant for a case stud-
ies course in operations research. As a teaching assistant she analyzed operations research
problems encountered in the real world and the transformation of these problems into
classroom case studies. Her research was rewarded when she won an undergraduate re-
search grant from Stanford to continue her work and was invited to speak at an INFORMS
conference to present her conclusions regarding successful classroom case studies. Fol-
lowing graduation Ms. Stephens worked at Andersen Consulting as a systems integrator
experiencing real cases from the inside before resuming her graduate studies.

slide 10:

xi
DEDICATION
To the memory of our parents
and
To the memory of one of the true
giants of our field Jerry Lieberman
whose recent passing prevented him
from seeing the publication
of this edition

slide 11:

xxiii
PREFACE
It now is 33 years since the first edition of this book was published in 1967. We have been
humbled by having had both the privilege and the responsibility of introducing so many
students around the world to our field over such a long span of time. With each new edi-
tion we have worked toward the goal of meeting the changing needs of new generations
of students by helping to define the modern approach to teaching the current status of op-
erations research effectively at the introductory level. Over 33 years much has changed
in both the field and the pedagogical needs of the students being introduced to the field.
These changes have been reflected in the substantial revisions of successive editions of
this book. We believe that this is true for the current 7th edition as well.
The enthusiastic response to our first six editions has been most gratifying. It was a
particular pleasure to have the 6th edition receive honorable mention for the 1995 IN-
FORMS Lanchester Prize the prize awarded for the year’s most outstanding English-
language publication of any kind in the field of operations research including receiving
the following citation. “This is the latest edition of the textbook that has introduced ap-
proximately one-half million students to the methods and models of Operations Research.
While adding material on a variety of new topics the sixth edition maintains the high
standard of clarity and expositional excellence for which the authors have long been known.
In honoring this work the prize committee noted the enormous cumulative impact that
the Hillier-Lieberman text has had on the development of our field not only in the United
States but also around the world through its many foreign-language editions.”
As we enter a new millennium the particular challenge for this new edition was to
revise a book with deep roots in the 20th century so thoroughly that it would become fully
suited for the 21st century. We made a special effort to meet this challenge especially in
regard to the software and pedagogy in the book.
The new CD-ROM that accompanies the book provides an exciting array of software op-
tions that reflect current practice.
One option is to use the increasingly popular spreadsheet approach with Excel and
its Solver. Using spreadsheets as a key medium of instruction clearly is one new wave in
A WEALTH OF SOFTWARE OPTIONS

slide 12:

the teaching of operations research. The new Sec. 3.6 describes and illustrates how to use
Excel and its Solver to formulate and solve linear programming models on a spreadsheet.
Similar discussions and examples also are included in several subsequent chapters for
other kinds of models. In addition the CD-ROM provides an Excel file for many of the
chapters that displays the spreadsheet formulation and solution for the relevant examples
in the chapter. Several of the Excel files also include a number of Excel templates for
solving the models in the chapter. Another key resource is a collection of Excel add-ins
on the CD-ROM Premium Solver TreePlan SensIt and RiskSim that are integrated into
the corresponding chapters. In addition Sec. 22.6 describes how some simulations can be
performed efficiently on spreadsheets by using another popular Excel add-in RISK
that can be downloaded temporarily from a website.
Practitioners of operations research now usually use a modeling language to formu-
late and manage models of the very large size commonly encountered in practice. A mod-
eling language system also will support one or more sophisticated software packages that
can be called to solve a model once it has been formulated appropriately. The new Sec.
3.7 discusses the application of modeling languages and illustrates it with one modeling
language MPL that is relatively amenable to student use. The student version of MPL
is provided on the CD-ROM along with an extensive MPL tutorial. Accompanying MPL
as its primary solver is the student version of the renowned state-of-the-art software pack-
age CPLEX. The student version of CONOPT also is provided as the solver for nonlin-
ear programming. We are extremely pleased to be able to provide such powerful and pop-
ular software to students using this book. To further assist students many of the chapters
include an MPL/CPLEX file or MPL/CPLEX/CONOPT file in the case of the nonlinear
programming chapter on the CD-ROM that shows how MPL and CPLEX would formu-
late and solve the relevant examples in the chapter. These files also illustrate how MPL
and CPLEX can be integrated with spreadsheets.
As described in the appendix to Chaps. 3 and 4 a third attractive option is to employ
the student version of the popular and student-friendly software package LINDO and its
modeling language companion LINGO. Both packages can be downloaded free from the
LINDO Systems website. Associated tutorial material is included on the CD-ROM along
with a LINDO/LINGO file for many of the chapters showing how LINDO and LINGO
would formulate and solve the relevant examples in the chapter. Once again integration
with spreadsheets also is illustrated.
Complementing all these options on the CD-ROM is an updated version of the tuto-
rial software that many instructors have found so useful for their students with the 5th and
6th editions. A program called OR Tutor provides 16 demonstration examples from the
6th edition but now with an attractive new design based on JavaScript. These demos
vividly demonstrate the evolution of an algorithm in ways that cannot be duplicated on
the printed page. Most of the interactive routines from the 6th edition also are included
on the CD-ROM but again with an attractive new design. This design features a spread-
sheet format based on VisualBasic. Each of the interactive routines enables the student to
interactively execute one of the algorithms of operations research making the needed de-
cision at each step while the computer does the needed arithmetic. By enabling the stu-
dent to focus on concepts rather than mindless number crunching when doing homework
to learn an algorithm we have found that these interactive routines make the learning
process far more efficient and effective as well as more stimulating. In addition to these
xxiv PREFACE

slide 13:

routines the CD-ROM includes a few of the automatic routines from the 6th edition again
redesigned with VisualBasic for those cases that are not covered by the software options
described above. We were very fortunate to have the services of Michael O’Sullivan a
talented programmer and an advanced Ph.D. student in operations research at Stanford
to do all this updating of the software that had been developed by Mark S. Hillier for the
5th and 6th editions.
Microsoft Project is introduced in Chap. 10 as a useful tool for project management.
This software package also is included on the CD-ROM.
PREFACE xxv
Today’s students in introductory operations research courses tend to be very interested in
learning more about the relevance of the material being covered including how it is ac-
tually being used in practice. Therefore without diluting any of the features of the 6th
edition the focus of the revision for this edition has been on increasing the motivation
and excitement of the students by making the book considerably more “real world” ori-
ented and accessible. The new emphasis on the kinds of software that practitioners use is
one thrust in this direction. Other major new features are outlined below.
Twenty-five elaborate new cases embedded in a realistic setting and employing a
stimulating storytelling approach have been added at the end of the problem sections. All
but one of these cases were developed jointly by two talented case writers Karl Schmed-
ders a faculty member at the Kellogg Graduate School of Management at Northwestern
University and Molly Stephens recently an operations research consultant with Ander-
sen Consulting. We also have further fleshed out six cases that were in the 6th edition.
The cases generally require relatively challenging and comprehensive analyses with sub-
stantial use of the computer. Therefore they are suitable for student projects working ei-
ther individually or in teams and can then lead to class discussion of the analysis.
A complementary new feature is that many new problems embedded in a realistic set-
ting have been added to the problem section of many chapters. Some of the current prob-
lems also have been fleshed out in a more interesting way.
This edition also places much more emphasis on providing perspective in terms of
what is actually happening in the practice of operations research. What kinds of applica-
tions are occurring What sizes of problems are being solved Which models and tech-
niques are being used most widely What are their shortcomings and what new develop-
ments are beginning to address these shortcomings These kinds of questions are being
addressed to convey the relevance of the techniques under discussion. Eight new sections
Secs. 10.7 12.2 15.6 18.5 19.8 20.1 20.10 and 22.2 are fully devoted to discussing
the practice of operations research in such ways along with briefer mentions elsewhere.
The new emphases described above benefited greatly from our work in developing
our recent new textbook with Mark S. Hillier Introduction to Management Science: A
Modeling and Case Studies Approach with Spreadsheets Irwin/McGraw-Hill 2000. That
book has a very different orientation from this one. It is aimed directly at business stu-
dents rather than students who may be in engineering and the mathematical sciences and
it provides almost no coverage of the mathematics and algorithms of operations research.
Nevertheless its applied orientation enabled us to adapt some excellent material devel-
oped for that book to provide a more well-rounded coverage in this edition.
NEW EMPHASES

slide 14:

xxvi PREFACE
In addition to all the new software and new emphases just described this edition received
a considerable number of other enhancements as well.
The previous section on project planning and control with PERT/CPM has been re-
placed by a complete new chapter Chap. 10 with an applied orientation. Using the ac-
tivity-on-node AON convention this chapter provides an extensive modern treatment of
the topic in a very accessible way.
Other new topics not yet mentioned include the SOB mnemonic device for deter-
mining the form of constraints in the dual problem in Sec. 6.4 100 percent rules for si-
multaneous changes when conducting sensitivity analysis in Sec. 6.7 sensitivity analy-
sis with Bayes’ decision rule in Sec. 15.2 a probability tree diagram for calculating
posterior probabilities in Sec. 15.3 a single-server variation of the nonpreemptive pri-
orities model where the service for different priority classes of customers now have dif-
ferent mean service rates in Sec. 17.8 a new simpler analysis of a stochastic continu-
ous-review inventory model Sec. 19.5 the mean absolute deviation as a measure of
performance for forecasting methods in Sec. 20.7 and the elements of a major simula-
tion study Sec. 22.5.
We also have added much supplementary text material on the book’s new website
www.mhhe.com/hillier. Some of these supplements are password protected but are avail-
able to all instructors who adopt this textbook. For the most part this material appeared
in previous editions of this book and then was subsequently deleted for space reasons
to the disappointment of some instructors. Some also appeared in our Introduction to Math-
ematical Programming textbook. As delineated in the table of contents this supplemen-
tary material includes a chapter on additional special types of linear programming prob-
lems a review or primer chapter on probability theory and a chapter on reliability along
with supplements to a few chapters in the book.
In addition to providing this supplementary text material the website will give up-
dates about the book including an errata as the need arises.
We made two changes in the order of the chapters. The decision analysis chapter has
been moved forward to Chap. 15 in front of the stochastic chapters. The game theory
chapter has been moved backward to Chap. 14 to place it next to the related decision
analysis chapter. We believe that these changes provide a better transition from topics that
are mainly deterministic to those that are mainly stochastic.
Every chapter has received significant revision and updating ranging from modest
refining to extensive rewriting. Chapters receiving a particularly major revision and reor-
ganization included Chaps. 15 Decision Analysis 19 Inventory Theory 20 Forecast-
ing and 22 Simulation. Many sections in the linear programming and mathematical
programming chapters also received major revisions and updating.
The overall thrust of all the revision efforts has been to build upon the strengths of
previous editions while thoroughly updating and clarifying the material in a contempo-
rary setting to fully meet the needs of today’s students.
We think that the net effect has been to make this edition even more of a “student’s
book”—clear interesting and well-organized with lots of helpful examples and illustra-
tions good motivation and perspective easy-to-find important material and enjoyable
homework without too much notation terminology and dense mathematics. We believe
OTHER FEATURES

slide 15:

and trust that the numerous instructors who have used previous editions will agree that
this is the best edition yet. This feeling has been reinforced by the generally enthusiastic
reviews of drafts of this edition.
The prerequisites for a course using this book can be relatively modest. As with pre-
vious editions the mathematics has been kept at a relatively elementary level. Most of
Chaps. 1 to 14 introduction linear programming and mathematical programming re-
quire no mathematics beyond high school algebra. Calculus is used only in Chaps. 13
Nonlinear Programming and in one example in Chap. 11 Dynamic Programming. Ma-
trix notation is used in Chap. 5 The Theory of the Simplex Method Chap. 6 Duality
Theory and Sensitivity Analysis Sec. 7.4 An Interior-Point Algorithm and Chap. 13
but the only background needed for this is presented in Appendix 4. For Chaps. 15 to 22
probabilistic models a previous introduction to probability theory is assumed and cal-
culus is used in a few places. In general terms the mathematical maturity that a student
achieves through taking an elementary calculus course is useful throughout Chaps. 15 to
22 and for the more advanced material in the preceding chapters.
The content of the book is aimed largely at the upper-division undergraduate level
including well-prepared sophomores and at first-year master’s level graduate students.
Because of the book’s great flexibility there are many ways to package the material into
a course. Chapters 1 and 2 give an introduction to the subject of operations research. Chap-
ters 3 to 14 on linear programming and on mathematical programming may essentially
be covered independently of Chaps. 15 to 22 on probabilistic models and vice versa.
Furthermore the individual chapters among Chaps. 3 to 14 are almost independent ex-
cept that they all use basic material presented in Chap. 3 and perhaps in Chap. 4. Chap-
ter 6 and Sec. 7.2 also draw upon Chap. 5. Sections 7.1 and 7.2 use parts of Chap. 6. Sec-
tion 9.6 assumes an acquaintance with the problem formulations in Secs. 8.1 and 8.3
while prior exposure to Secs. 7.3 and 8.2 is helpful but not essential in Sec. 9.7. Within
Chaps. 15 to 22 there is considerable flexibility of coverage although some integration
of the material is available.
An elementary survey course covering linear programming mathematical program-
ming and some probabilistic models can be presented in a quarter 40 hours or semes-
ter by selectively drawing from material throughout the book. For example a good sur-
vey of the field can be obtained from Chaps. 1 2 3 4 15 17 19 20 and 22 along with
parts of Chaps. 9 11 12 and 13. A more extensive elementary survey course can be com-
pleted in two quarters 60 to 80 hours by excluding just a few chapters for example
Chaps. 7 14 and 21. Chapters 1 to 8 and perhaps part of Chap. 9 form an excellent ba-
sis for a one-quarter course in linear programming. The material in Chaps. 9 to 14 cov-
ers topics for another one-quarter course in other deterministic models. Finally the ma-
terial in Chaps. 15 to 22 covers the probabilistic stochastic models of operations research
suitable for presentation in a one-quarter course. In fact these latter three courses the
material in the entire text can be viewed as a basic one-year sequence in the techniques
of operations research forming the core of a master’s degree program. Each course out-
lined has been presented at either the undergraduate or the graduate level at Stanford Uni-
versity and this text has been used in the manner suggested.
To assist the instructor who will be covering only a portion of the chapters and who
prefers a slimmer book containing only those chapters all the material including the sup-
plementary text material on the book’s website has been placed in McGraw-Hill’s PRIMIS
PREFACE xxvii

slide 16:

system. This system enables an instructor to pick and choose precisely which material to
include in a self-designed book and then to order copies for the students at an econom-
ical price. For example this enables instructors who previously used our Introduction to
Mathematical Programming or Introduction to Stochastic Models in Operations Research
textbooks to obtain updated versions of the same material from the PRIMIS system. For
this reason we will not be publishing new separate editions of these other books.
Again as in previous editions we thank our wives Ann and Helen for their en-
couragement and support during the long process of preparing this 7th edition. Our chil-
dren David John and Mark Hillier Janet Lieberman Argyres and Joanne Michael and
Diana Lieberman have literally grown up with the book and our periodic hibernations to
prepare a new edition. Now most of them have used the book as a text in their own col-
lege courses given considerable advice and even in the case of Mark Hillier become a
software collaborator. It is a joy to see them and we trust the book reach maturity to-
gether.
And now I must add a very sad note. My close friend and co-author Jerry Lieber-
man passed away on May 18 1999 while this edition was in preparation so I am writ-
ing this preface on behalf of both of us. Jerry was one of the great leaders of our field
and he had a profound influence on my life. More than a third of a century ago we em-
barked on a mission together to attempt to develop a path-breaking book for teaching op-
erations research at the introductory level. Ever since we have striven to meet and extend
the same high standards for each new edition. Having worked so closely with Jerry for
so many years I believe I understand well how he would want the book to evolve to meet
the needs of each new generation of students. As the substantially younger co-author I
am grateful that I am able to carry on our joint mission to continue to update and improve
the book both with this edition and with future editions as well. It is the least I can do
to honor Jerry.
I welcome your comments suggestions and errata to help me improve the book in
the future.
xxviii PREFACE
We are indebted to an excellent group of reviewers who provided sage advice throughout
the revision process. This group included Jeffery Cochran Arizona State University Yahya
Fathi North Carolina State University Yasser Hosni and Charles Reilly University of
Central Florida Cerry Klein University of Missouri—Columbia Robert Lipset Ohio Uni-
versity Mark Parker United States Air Force Academy Christopher Rump State Uni-
versity of New York at Buffalo and Ahmad Seifoddini California Polytechnic State Uni-
versity—San Luis Obispo. We also received helpful advice from Judith Liebman Siegfried
Schaible David Sloan and Arthur F. Veinott Jr. as well as many instructors who sent us
letters or e-mail messages. In addition we also thank many dozens of Stanford students
and many students at other universities who gave us helpful written suggestions.
This edition was very much of a team effort. Our case writers Karl Schmedders and
Molly Stephens both graduates of our department made a vital contribution. One of our
department’s current Ph.D. students Roberto Szechtman did an excellent job in prepar-
ing the solutions manual. Another Ph.D. student Michael O’Sullivan was very skillful in
updating the software that Mark Hillier had developed for the 5th and 6th editions. Mark
ACKNOWLEDGMENTS

slide 17:

who was born the same year as the first edition and now is a tenured faculty member in
the Management Science Department at the University of Washington helped to oversee
this updating and also provided both the spreadsheets and the Excel files including many
Excel templates for this edition. Linus Schrage of the University of Chicago and LINDO
Systems and who took an introductory operations research course from me 37 years ago
supervised the development of LINGO/LINDO files for the various chapters as well as
providing tutorial material for the CD-ROM. Another long-time friend Bjarni Kristjans-
son who heads Maximal Software did the same thing for the MPL/CPLEX files and
MPL tutorial material as well as arranging to provide student versions of MPL CPLEX
CONOPT and OptiMax 2000 for the CD-ROM. One of our department’s Ph.D. gradu-
ates Irv Lustig was the ILOG project manager for providing CPLEX. Linus Bjarni and
Irv all were helpful in checking material going into this edition regarding their software.
Ann Hillier devoted numerous long days and nights to sitting with a Macintosh doing
word processing and constructing many figures and tables in addition to endless cutting
and pasting photocopying and FedExing of material. Helen Lieberman also carried a
heavy burden in supporting Jerry. They all were vital members of the team.
The inside back cover lists the various companies and individuals who have provided
software for the CD-ROM. We greatly appreciate their key contributions.
It was a real pleasure working with McGraw-Hill’s thoroughly professional editorial
and production staff including Eric Munson executive editor Maja Lorkovic develop-
mental editor and Christine Vaughan project manager.
Frederick S. Hillier
Stanford University fhillierLeland.Stanford.edu January 2000
PREFACE xxix

slide 18:

xiii
TABLE OF CONTENTS
PREFACE xxiii
CHAPTER 1
Introduction 1
1.1 The Origins of Operations Research 1
1.2 The Nature of Operations Research 2
1.3 The Impact of Operations Research 3
1.4 Algorithms and OR Courseware 5
Problems 6
CHAPTER 2
Overview of the Operations Research Modeling Approach 7
2.1 Defining the Problem and Gathering Data 7
2.2 Formulating a Mathematical Model 10
2.3 Deriving Solutions from the Model 14
2.4 Testing the Model 16
2.5 Preparing to Apply the Model 18
2.6 Implementation 20
2.7 Conclusions 21
Selected References 22
Problems 22
CHAPTER 3
Introduction to Linear Programming 24
3.1 Prototype Example 25
3.2 The Linear Programming Model 31
3.3 Assumptions of Linear Programming 36
3.4 Additional Examples 44
3.5 Some Case Studies 61
3.6 Displaying and Solving Linear Programming Models on a Spreadsheet 67
3.7 Formulating Very Large Linear Programming Models 73
3.8 Conclusions 79
Appendix 3.1 The LINGO Modeling Language 79

slide 19:

Selected References 89
Learning Aids for This Chapter in Your OR Courseware 90
Problems 90
Case 3.1 Auto Assembly 103
Case 3.2 Cutting Cafeteria Costs 104
Case 3.3 Staffing a Call Center 106
CHAPTER 4
Solving Linear Programming Problems: The Simplex Method 109
4.1 The Essence of the Simplex Method 109
4.2 Setting Up the Simplex Method 114
4.3 The Algebra of the Simplex Method 118
4.4 The Simplex Method in Tabular Form 123
4.5 Tie Breaking in the Simplex Method 128
4.6 Adapting to Other Model Forms 132
4.7 Postoptimality Analysis 152
4.8 Computer Implementation 160
4.9 The Interior-Point Approach to Solving Linear Programming Problems 163
4.10 Conclusions 168
Appendix 4.1 An Introduction to Using LINDO 169
Selected References 171
Learning Aids for This Chapter in Your OR Courseware 172
Problems 172
Case 4.1 Fabrics and Fall Fashions 182
Case 4.2 New Frontiers 185
Case 4.3 Assigning Students to Schools 188
CHAPTER 5
The Theory of the Simplex Method 190
5.1 Foundations of the Simplex Method 190
5.2 The Revised Simplex Method 202
5.3 A Fundamental Insight 212
5.4 Conclusions 220
Selected References 220
Learning Aids for This Chapter in Your OR Courseware 221
Problems 221
CHAPTER 6
Duality Theory and Sensitivity Analysis 230
6.1 The Essence of Duality Theory 231
6.2 Economic Interpretation of Duality 239
6.3 Primal-Dual Relationships 242
6.4 Adapting to Other Primal Forms 247
6.5 The Role of Duality Theory in Sensitivity Analysis 252
6.6 The Essence of Sensitivity Analysis 254
xiv TABLE OF CONTENTS

slide 20:

6.7 Applying Sensitivity Analysis 262
6.8 Conclusions 284
Selected References 284
Learning Aids for This Chapter in Your OR Courseware 285
Problems 285
Case 6.1 Controlling Air Pollution 302
Case 6.2 Farm Management 304
Case 6.3 Assigning Students to Schools Revisited 307
CHAPTER 7
Other Algorithms for Linear Programming 309
7.1 The Dual Simplex Method 309
7.2 Parametric Linear Programming 312
7.3 The Upper Bound Technique 317
7.4 An Interior-Point Algorithm 320
7.5 Linear Goal Programming and Its Solution Procedures 332
7.6 Conclusions 339
Selected References 340
Learning Aids for This Chapter in Your OR Courseware 340
Problems 341
Case 7.1 A Cure for Cuba 347
CHAPTER 8
The Transportation and Assignment Problems 350
8.1 The Transportation Problem 351
8.2 A Streamlined Simplex Method for the Transportation Problem 365
8.3 The Assignment Problem 381
8.4 Conclusions 391
Selected References 391
Learning Aids for This Chapter in Your OR Courseware 392
Problems 392
Case 8.1 Shipping Wood to Market 401
Case 8.2 Project Pickings 402
CHAPTER 9
Network Optimization Models 405
9.1 Prototype Example 406
9.2 The Terminology of Networks 407
9.3 The Shortest-Path Problem 411
9.4 The Minimum Spanning Tree Problem 415
9.5 The Maximum Flow Problem 420
9.6 The Minimum Cost Flow Problem 429
9.7 The Network Simplex Method 438
9.8 Conclusions 448
Selected References 449
TABLE OF CONTENTS xv

slide 21:

Learning Aids for This Chapter in Your OR Courseware 449
Problems 450
Case 9.1 Aiding Allies 458
Case 9.2 Money in Motion 464
CHAPTER 10
Project Management with PERT/CPM 468
10.1 A Prototype Example—The Reliable Construction Co. Project 469
10.2 Using a Network to Visually Display a Project 470
10.3 Scheduling a Project with PERT/CPM 475
10.4 Dealing with Uncertain Activity Durations 485
10.5 Considering Time-Cost Trade-Offs 492
10.6 Scheduling and Controlling Project Costs 502
10.7 An Evaluation of PERT/CPM 508
10.8 Conclusions 512
Selected References 513
Learning Aids for This Chapter in Your OR Courseware 514
Problems 514
Case 10.1 Steps to Success 524
Case 10.2 “School’s out forever . . .” 527
CHAPTER 11
Dynamic Programming 533
11.1 A Prototype Example for Dynamic Programming 533
11.2 Characteristics of Dynamic Programming Problems 538
11.3 Deterministic Dynamic Programming 541
11.4 Probabilistic Dynamic Programming 562
11.5 Conclusions 568
Selected References 568
Learning Aids for This Chapter in Your OR Courseware 568
Problems 569
CHAPTER 12
Integer Programming 576
12.1 Prototype Example 577
12.2 Some BIP Applications 580
12.3 Innovative Uses of Binary Variables in Model Formulation 585
12.4 Some Formulation Examples 591
12.5 Some Perspectives on Solving Integer Programming Problems 600
12.6 The Branch-and-Bound Technique and Its Application to Binary Integer
Programming 604
12.7 A Branch-and-Bound Algorithm for Mixed Integer Programming 616
12.8 Other Developments in Solving BIP Problems 622
12.9 Conclusions 630
Selected References 631
xvi TABLE OF CONTENTS

slide 22:

Learning Aids for This Chapter in Your OR Courseware 631
Problems 632
Case 12.1 Capacity Concerns 642
Case 12.2 Assigning Art 645
Case 12.3 Stocking Sets 649
Case 12.4 Assigning Students to Schools Revisited Again 653
CHAPTER 13
Nonlinear Programming 654
13.1 Sample Applications 655
13.2 Graphical Illustration of Nonlinear Programming Problems 659
13.3 Types of Nonlinear Programming Problems 664
13.4 One-Variable Unconstrained Optimization 670
13.5 Multivariable Unconstrained Optimization 673
13.6 The Karush-Kuhn-Tucker KKT Conditions for Constrained Optimization 679
13.7 Quadratic Programming 683
13.8 Separable Programming 690
13.9 Convex Programming 697
13.10 Nonconvex Programming 702
13.11 Conclusions 706
Selected References 706
Learning Aids for This Chapter in Your OR Courseware 707
Problems 708
Case 13.1 Savvy Stock Selection 720
CHAPTER 14
Game Theory 726
14.1 The Formulation of Two-Person Zero-Sum Games 726
14.2 Solving Simple Games—A Prototype Example 728
14.3 Games with Mixed Strategies 733
14.4 Graphical Solution Procedure 735
14.5 Solving by Linear Programming 738
14.6 Extensions 741
14.7 Conclusions 742
Selected References 743
Learning Aids for This Chapter in Your OR Courseware 743
Problems 743
CHAPTER 15
Decision Analysis 749
15.1 A Prototype Example 750
15.2 Decision Making without Experimentation 751
15.3 Decision Making with Experimentation 758
15.4 Decision Trees 764
15.5 Utility Theory 770
TABLE OF CONTENTS xvii

slide 23:

15.6 The Practical Application of Decision Analysis 778
15.7 Conclusions 781
Selected References 781
Learning Aids for This Chapter in Your OR Courseware 782
Problems 782
Case 15.1 Brainy Business 795
Case 15.2 Smart Steering Support 798
CHAPTER 16
Markov Chains 802
16.1 Stochastic Processes 802
16.2 Markov Chains 803
16.3 Chapman-Kolmogorov Equations 808
16.4 Classification of States of a Markov Chain 810
16.5 Long-Run Properties of Markov Chains 812
16.6 First Passage Times 818
16.7 Absorbing States 820
16.8 Continuous Time Markov Chains 822
Selected References 827
Learning Aids for This Chapter in Your OR Courseware 828
Problems 828
CHAPTER 17
Queueing Theory 834
17.1 Prototype Example 835
17.2 Basic Structure of Queueing Models 835
17.3 Examples of Real Queueing Systems 840
17.4 The Role of the Exponential Distribution 841
17.5 The Birth-and-Death Process 848
17.6 Queueing Models Based on the Birth-and-Death Process 852
17.7 Queueing Models Involving Nonexponential Distributions 871
17.8 Priority-Discipline Queueing Models 879
17.9 Queueing Networks 885
17.10 Conclusions 889
Selected References 890
Learning Aids for This Chapter in Your OR Courseware 890
Problems 891
Case 17.1 Reducing In-Process Inventory 905
CHAPTER 18
The Application of Queueing Theory 907
18.1 Examples 907
18.2 Decision Making 909
18.3 Formulation of Waiting-Cost Functions 912
xviii TABLE OF CONTENTS

slide 24:

18.4 Decision Models 917
18.5 Some Award-Winning Applications of Queueing Theory 923
18.6 Conclusions 926
Selected References 926
Learning Aids for This Chapter in Your OR Courseware 926
Problems 927
Case 18.1 Queueing Quandary 932
CHAPTER 19
Inventory Theory 935
19.1 Examples 936
19.2 Components of Inventory Models 938
19.3 Deterministic Continuous-Review Models 941
19.4 A Deterministic Periodic-Review Model 951
19.5 A Stochastic Continuous-Review Model 956
19.6 A Stochastic Single-Period Model for Perishable Products 961
19.7 Stochastic Periodic-Review Models 975
19.8 Larger Inventory Systems in Practice 983
19.9 Conclusions 987
Selected References 987
Learning Aids for This Chapter in Your OR Courseware 987
Problems 988
Case 19.1 Brushing Up on Inventory Control 1000
Case 19.2 TNT: Tackling Newsboy’s Teachings 1002
Case 19.3 Jettisoning Surplus Stock 1004
CHAPTER 20
Forecasting 1009
20.1 Some Applications of Forecasting 1010
20.2 Judgmental Forecasting Methods 1013
20.3 Time Series 1014
20.4 Forecasting Methods for a Constant-Level Model 1016
20.5 Incorporating Seasonal Effects into Forecasting Methods 1018
20.6 An Exponential Smoothing Method for a Linear Trend Model 1021
20.7 Forecasting Errors 1025
20.8 Box-Jenkins Method 1026
20.9 Causal Forecasting with Linear Regression 1028
20.10 Forecasting in Practice 1036
20.11 Conclusions 1038
Selected References 1038
Learning Aids for This Chapter in Your OR Courseware 1038
Problems 1039
Case 20.1 Finagling the Forecasts 1048
TABLE OF CONTENTS xix

slide 25:

CHAPTER 21
Markov Decision Processes 1053
21.1 A Prototype Example 1053
21.2 A Model for Markov Decision Processes 1056
21.3 Linear Programming and Optimal Policies 1059
21.4 Policy Improvement Algorithm for Finding Optimal Policies 1064
21.5 Discounted Cost Criterion 1069
21.6 Conclusions
Selected References 1077
Learning Aids for This Chapter in Your OR Courseware 1078
Problems 1078
CHAPTER 22
Simulation 1084
22.1 The Essence of Simulation 1084
22.2 Some Common Types of Applications of Simulation 1097
22.3 Generation of Random Numbers 1101
22.4 Generation of Random Observations from a Probability Distribution 1105
22.5 Outline of a Major Simulation Study 1110
22.6 Performing Simulations on Spreadsheets 1115
22.7 Variance-Reducing Techniques 1126
22.8 Regenerative Method of Statistical Analysis 1131
22.9 Conclusions 1138
Selected References 1140
Learning Aids for This Chapter in Your OR Courseware 1140
Problems 1141
Case 22.1 Planning Planers 1151
Case 22.2 Pricing under Pressure 1153
APPENDIXES
1. Documentation for the OR Courseware 1156
2. Convexity 1159
3. Classical Optimization Methods 1165
4. Matrices and Matrix Operations 1169
5. Tables 1174
PARTIAL ANSWERS TO SELECTED PROBLEMS 1176
INDEXES
Author Index 1195
Subject Index 1199
xx TABLE OF CONTENTS

slide 26:

1
1
Introduction
Since the advent of the industrial revolution the world has seen a remarkable growth in
the size and complexity of organizations. The artisans’ small shops of an earlier era have
evolved into the billion-dollar corporations of today. An integral part of this revolution-
ary change has been a tremendous increase in the division of labor and segmentation of
management responsibilities in these organizations. The results have been spectacular.
However along with its blessings this increasing specialization has created new prob-
lems problems that are still occurring in many organizations. One problem is a tendency
for the many components of an organization to grow into relatively autonomous empires
with their own goals and value systems thereby losing sight of how their activities and
objectives mesh with those of the overall organization. What is best for one component
frequently is detrimental to another so the components may end up working at cross pur-
poses. A related problem is that as the complexity and specialization in an organization
increase it becomes more and more difficult to allocate the available resources to the var-
ious activities in a way that is most effective for the organization as a whole. These kinds
of problems and the need to find a better way to solve them provided the environment for
the emergence of operations research commonly referred to as OR.
The roots of OR can be traced back many decades when early attempts were made
to use a scientific approach in the management of organizations. However the beginning
of the activity called operations research has generally been attributed to the military ser-
vices early in World War II. Because of the war effort there was an urgent need to allo-
cate scarce resources to the various military operations and to the activities within each
operation in an effective manner. Therefore the British and then the U.S. military man-
agement called upon a large number of scientists to apply a scientific approach to deal-
ing with this and other strategic and tactical problems. In effect they were asked to do
research on military operations. These teams of scientists were the first OR teams. By
developing effective methods of using the new tool of radar these teams were instrumental
in winning the Air Battle of Britain. Through their research on how to better manage con-
voy and antisubmarine operations they also played a major role in winning the Battle of
the North Atlantic. Similar efforts assisted the Island Campaign in the Pacific.
When the war ended the success of OR in the war effort spurred interest in apply-
ing OR outside the military as well. As the industrial boom following the war was run-
1.1 THE ORIGINS OF OPERATIONS RESEARCH

slide 27:

ning its course the problems caused by the increasing complexity and specialization in
organizations were again coming to the forefront. It was becoming apparent to a growing
number of people including business consultants who had served on or with the OR teams
during the war that these were basically the same problems that had been faced by the
military but in a different context. By the early 1950s these individuals had introduced
the use of OR to a variety of organizations in business industry and government. The
rapid spread of OR soon followed.
At least two other factors that played a key role in the rapid growth of OR during
this period can be identified. One was the substantial progress that was made early in im-
proving the techniques of OR. After the war many of the scientists who had participated
on OR teams or who had heard about this work were motivated to pursue research rele-
vant to the field important advancements in the state of the art resulted. A prime exam-
ple is the simplex method for solving linear programming problems developed by George
Dantzig in 1947. Many of the standard tools of OR such as linear programming dynamic
programming queueing theory and inventory theory were relatively well developed be-
fore the end of the 1950s.
A second factor that gave great impetus to the growth of the field was the onslaught
of the computer revolution. A large amount of computation is usually required to deal
most effectively with the complex problems typically considered by OR. Doing this by
hand would often be out of the question. Therefore the development of electronic digital
computers with their ability to perform arithmetic calculations thousands or even millions
of times faster than a human being can was a tremendous boon to OR. A further boost
came in the 1980s with the development of increasingly powerful personal computers ac-
companied by good software packages for doing OR. This brought the use of OR within
the easy reach of much larger numbers of people. Today literally millions of individuals
have ready access to OR software. Consequently a whole range of computers from main-
frames to laptops now are being routinely used to solve OR problems.
2 1 INTRODUCTION
1.2 THE NATURE OF OPERATIONS RESEARCH
As its name implies operations research involves “research on operations.” Thus opera-
tions research is applied to problems that concern how to conduct and coordinate the op-
erations i.e. the activities within an organization. The nature of the organization is es-
sentially immaterial and in fact OR has been applied extensively in such diverse areas
as manufacturing transportation construction telecommunications financial planning
health care the military and public services to name just a few. Therefore the breadth
of application is unusually wide.
The research part of the name means that operations research uses an approach that
resembles the way research is conducted in established scientific fields. To a considerable
extent the scientific method is used to investigate the problem of concern. In fact the
term management science sometimes is used as a synonym for operations research. In
particular the process begins by carefully observing and formulating the problem in-
cluding gathering all relevant data. The next step is to construct a scientific typically
mathematical model that attempts to abstract the essence of the real problem. It is then
hypothesized that this model is a sufficiently precise representation of the essential fea-
tures of the situation that the conclusions solutions obtained from the model are also

slide 28:

valid for the real problem. Next suitable experiments are conducted to test this hypothe-
sis modify it as needed and eventually verify some form of the hypothesis. This step is
frequently referred to as model validation. Thus in a certain sense operations research
involves creative scientific research into the fundamental properties of operations. How-
ever there is more to it than this. Specifically OR is also concerned with the practical
management of the organization. Therefore to be successful OR must also provide pos-
itive understandable conclusions to the decision makers when they are needed.
Still another characteristic of OR is its broad viewpoint. As implied in the preceding
section OR adopts an organizational point of view. Thus it attempts to resolve the con-
flicts of interest among the components of the organization in a way that is best for the
organization as a whole. This does not imply that the study of each problem must give
explicit consideration to all aspects of the organization rather the objectives being sought
must be consistent with those of the overall organization.
An additional characteristic is that OR frequently attempts to find a best solution re-
ferred to as an optimal solution for the problem under consideration. We say a best in-
stead of the best solution because there may be multiple solutions tied as best. Rather
than simply improving the status quo the goal is to identify a best possible course of ac-
tion. Although it must be interpreted carefully in terms of the practical needs of manage-
ment this “search for optimality” is an important theme in OR.
All these characteristics lead quite naturally to still another one. It is evident that no
single individual should be expected to be an expert on all the many aspects of OR work
or the problems typically considered this would require a group of individuals having di-
verse backgrounds and skills. Therefore when a full-fledged OR study of a new problem
is undertaken it is usually necessary to use a team approach. Such an OR team typically
needs to include individuals who collectively are highly trained in mathematics statistics
and probability theory economics business administration computer science engineering
and the physical sciences the behavioral sciences and the special techniques of OR. The
team also needs to have the necessary experience and variety of skills to give appropriate
consideration to the many ramifications of the problem throughout the organization.
1.3 THE IMPACT OF OPERATIONS RESEARCH 3
1.3 THE IMPACT OF OPERATIONS RESEARCH
Operations research has had an impressive impact on improving the efficiency of numer-
ous organizations around the world. In the process OR has made a significant contribu-
tion to increasing the productivity of the economies of various countries. There now are
a few dozen member countries in the International Federation of Operational Research
Societies IFORS with each country having a national OR society. Both Europe and Asia
have federations of OR societies to coordinate holding international conferences and pub-
lishing international journals in those continents.
It appears that the impact of OR will continue to grow. For example according to the
U.S. Bureau of Labor Statistics OR currently is one of the fastest-growing career areas
for U.S. college graduates.
To give you a better notion of the wide applicability of OR we list some actual award-
winning applications in Table 1.1. Note the diversity of organizations and applications in
the first two columns. The curious reader can find a complete article describing each ap-
plication in the January–February issue of Interfaces for the year cited in the third col-

slide 29:

TABLE 1.1 Some applications of operations research
Year of Related Annual
Organization Nature of Application Publication Chapters
†
Savings
The Netherlands Develop national water management 1985 2–8 13 22 15 million
Rijkswaterstaat policy including mix of new facilities
operating procedures and pricing.
Monsanto Corp. Optimize production operations in 1985 2 12 2 million
chemical plants to meet production targets
with minimum cost.
United Airlines Schedule shift work at reservation offices 1986 2–9 12 17 6 million
and airports to meet customer needs with 18 20
minimum cost.
Citgo Petroleum Optimize refinery operations and the supply 1987 2–9 20 70 million
Corp. distribution and marketing of products.
San Francisco Optimally schedule and deploy police 1989 2–4 12 20 11 million
Police Department patrol officers with a computerized system.
Texaco Inc. Optimally blend available ingredients into 1989 2 13 30 million
gasoline products to meet quality and
sales requirements.
IBM Integrate a national network of spare parts 1990 2 19 22 20 million
inventories to improve service support. 250 million
less inventory
Yellow Freight Optimize the design of a national trucking 1992 2 9 13 20 17.3 million
System Inc. network and the routing of shipments. 22
New Haven Health Design an effective needle exchange 1993 2 33 less
Department program to combat the spread of HIV/AIDS. HIV/AIDS
ATT Develop a PC-based system to guide 1993 17 18 22 750 million
business customers in designing their call
centers.
Delta Airlines Maximize the profit from assigning 1994 12 100 million
airplane types to over 2500 domestic
flights.
Digital Equipment Restructure the global supply chain of 1995 12 800 million
Corp. suppliers plants distribution centers
potential sites and market areas.
China Optimally select and schedule massive 1995 12 425 million
projects for meeting the country’s future
energy needs.
South African Optimally redesign the size and shape of 1997 12 1.1 billion
defense force the defense force and its weapons systems.
Proctor and Gamble Redesign the North American production 1997 8 200 million
and distribution system to reduce costs
and improve speed to market.
Taco Bell Optimally schedule employees to provide 1998 12 20 22 13 million
desired customer service at a minimum
cost.
Hewlett-Packard Redesign the sizes and locations of 1998 17 18 280 million
buffers in a printer production line to meet more revenue
production goals.
Pertains to a January–February issue of Interfaces in which a complete article can be found describing the application.
†
Refers to chapters in this book that describe the kinds of OR techniques used in the application.
4 1 INTRODUCTION

slide 30:

1.4 ALGORITHMS AND OR COURSEWARE 5
umn of the table. The fourth column lists the chapters in this book that describe the kinds
of OR techniques that were used in the application. Note that many of the applications
combine a variety of techniques. The last column indicates that these applications typi-
cally resulted in annual savings in the millions or even tens of millions of dollars. Fur-
thermore additional benefits not recorded in the table e.g. improved service to customers
and better managerial control sometimes were considered to be even more important than
these financial benefits. You will have an opportunity to investigate these less tangible
benefits further in Probs. 1.3-1 and 1.3-2.
Although most routine OR studies provide considerably more modest benefits than
these award-winning applications the figures in the rightmost column of Table 1.1 do ac-
curately reflect the dramatic impact that large well-designed OR studies occasionally can
have.
We will briefly describe some of these applications in the next chapter and then we
present two in greater detail as case studies in Sec. 3.5.
1.4 ALGORITHMS AND OR COURSEWARE
An important part of this book is the presentation of the major algorithms systematic
solution procedures of OR for solving certain types of problems. Some of these algo-
rithms are amazingly efficient and are routinely used on problems involving hundreds or
thousands of variables. You will be introduced to how these algorithms work and what
makes them so efficient. You then will use these algorithms to solve a variety of problems
on a computer. The CD-ROM called OR Courseware that accompanies the book will be
a key tool for doing all this.
One special feature in your OR Courseware is a program called OR Tutor. This pro-
gram is intended to be your personal tutor to help you learn the algorithms. It consists of
many demonstration examples that display and explain the algorithms in action. These
“demos” supplement the examples in the book.
In addition your OR Courseware includes many interactive routines for executing
the algorithms interactively in a convenient spreadsheet format. The computer does all the
routine calculations while you focus on learning and executing the logic of the algorithm.
You should find these interactive routines a very efficient and enlightening way of doing
many of your homework problems.
In practice the algorithms normally are executed by commercial software packages.
We feel that it is important to acquaint students with the nature of these packages that
they will be using after graduation. Therefore your OR Courseware includes a wealth of
material to introduce you to three particularly popular software packages described be-
low. Together these packages will enable you to solve nearly all the OR models encoun-
tered in this book very efficiently. We have added our own automatic routines to the OR
Courseware only in a few cases where these packages are not applicable.
A very popular approach now is to use today’s premier spreadsheet package Mi-
crosoft Excel to formulate small OR models in a spreadsheet format. The Excel Solver
then is used to solve the models. Your OR Courseware includes a separate Excel file for
nearly every chapter in this book. Each time a chapter presents an example that can be
solved using Excel the complete spreadsheet formulation and solution is given in that
chapter’s Excel file. For many of the models in the book an Excel template also is pro-

slide 31:

vided that already includes all the equations necessary to solve the model. Some Excel
add-ins also are included on the CD-ROM.
After many years LINDO and its companion modeling language LINGO contin-
ues to be a dominant OR software package. Student versions of LINDO and LINGO now
can be downloaded free from the Web. As for Excel each time an example can be solved
with this package all the details are given in a LINGO/LINDO file for that chapter in
your OR Courseware.
CPLEX is an elite state-of-the-art software package that is widely used for solving
large and challenging OR problems. When dealing with such problems it is common to
also use a modeling system to efficiently formulate the mathematical model and enter it
into the computer. MPL is a user-friendly modeling system that uses CPLEX as its main
solver. A student version of MPL and CPLEX is available free by downloading it from
the Web. For your convenience we also have included this student version in your OR
Courseware. Once again all the examples that can be solved with this package are de-
tailed in MPL/CPLEX files for the corresponding chapters in your OR Courseware.
We will further describe these three software packages and how to use them later es-
pecially near the end of Chaps. 3 and 4. Appendix 1 also provides documentation for the
OR Courseware including OR Tutor.
To alert you to relevant material in OR Courseware the end of each chapter from
Chap. 3 onward has a list entitled Learning Aids for This Chapter in Your OR Course-
ware. As explained at the beginning of the problem section for each of these chapters
symbols also are placed to the left of each problem number or part where any of this ma-
terial including demonstration examples and interactive routines can be helpful.
6 1 INTRODUCTION
PROBLEMS
1.3-1. Select one of the applications of operations research listed
in Table 1.1. Read the article describing the application in the
January–February issue of Interfaces for the year indicated in the
third column. Write a two-page summary of the application and
the benefits including nonfinancial benefits it provided.
1.3-2. Select three of the applications of operations research listed
in Table 1.1. Read the articles describing the applications in the Jan-
uary–February issue of Interfaces for the years indicated in the third
column. For each one write a one-page summary of the applica-
tion and the benefits including nonfinancial benefits it provided.

slide 32:

7
2
Overview of the
Operations Research
Modeling Approach
The bulk of this book is devoted to the mathematical methods of operations research OR.
This is quite appropriate because these quantitative techniques form the main part of what
is known about OR. However it does not imply that practical OR studies are primarily
mathematical exercises. As a matter of fact the mathematical analysis often represents only
a relatively small part of the total effort required. The purpose of this chapter is to place
things into better perspective by describing all the major phases of a typical OR study.
One way of summarizing the usual overlapping phases of an OR study is the
following:
1. Define the problem of interest and gather relevant data.
2. Formulate a mathematical model to represent the problem.
3. Develop a computer-based procedure for deriving solutions to the problem from the
model.
4. Test the model and refine it as needed.
5. Prepare for the ongoing application of the model as prescribed by management.
6. Implement.
Each of these phases will be discussed in turn in the following sections.
Most of the award-winning OR studies introduced in Table 1.1 provide excellent ex-
amples of how to execute these phases well. We will intersperse snippets from these ex-
amples throughout the chapter with references to invite your further reading.
2.1 DEFINING THE PROBLEM AND GATHERING DATA
In contrast to textbook examples most practical problems encountered by OR teams are
initially described to them in a vague imprecise way. Therefore the first order of busi-
ness is to study the relevant system and develop a well-defined statement of the problem
to be considered. This includes determining such things as the appropriate objectives con-
straints on what can be done interrelationships between the area to be studied and other
areas of the organization possible alternative courses of action time limits for making a
decision and so on. This process of problem definition is a crucial one because it greatly
affects how relevant the conclusions of the study will be. It is difficult to extract a “right”
answer from the “wrong” problem

slide 33:

The first thing to recognize is that an OR team is normally working in an advisory ca-
pacity. The team members are not just given a problem and told to solve it however they
see fit. Instead they are advising management often one key decision maker. The team
performs a detailed technical analysis of the problem and then presents recommendations
to management. Frequently the report to management will identify a number of alterna-
tives that are particularly attractive under different assumptions or over a different range of
values of some policy parameter that can be evaluated only by management e.g. the trade-
off between cost and benefits. Management evaluates the study and its recommendations
takes into account a variety of intangible factors and makes the final decision based on its
best judgment. Consequently it is vital for the OR team to get on the same wavelength as
management including identifying the “right” problem from management’s viewpoint and
to build the support of management for the course that the study is taking.
Ascertaining the appropriate objectives is a very important aspect of problem defini-
tion. To do this it is necessary first to identify the member or members of management
who actually will be making the decisions concerning the system under study and then to
probe into this individual’s thinking regarding the pertinent objectives. Involving the de-
cision maker from the outset also is essential to build her or his support for the imple-
mentation of the study.
By its nature OR is concerned with the welfare of the entire organization rather than
that of only certain of its components. An OR study seeks solutions that are optimal for
the overall organization rather than suboptimal solutions that are best for only one com-
ponent. Therefore the objectives that are formulated ideally should be those of the entire
organization. However this is not always convenient. Many problems primarily concern
only a portion of the organization so the analysis would become unwieldy if the stated ob-
jectives were too general and if explicit consideration were given to all side effects on the
rest of the organization. Instead the objectives used in the study should be as specific as
they can be while still encompassing the main goals of the decision maker and maintain-
ing a reasonable degree of consistency with the higher-level objectives of the organization.
For profit-making organizations one possible approach to circumventing the prob-
lem of suboptimization is to use long-run profit maximization considering the time value
of money as the sole objective. The adjective long-run indicates that this objective pro-
vides the flexibility to consider activities that do not translate into profits immediately
e.g. research and development projects but need to do so eventually in order to be worth-
while. This approach has considerable merit. This objective is specific enough to be used
conveniently and yet it seems to be broad enough to encompass the basic goal of profit-
making organizations. In fact some people believe that all other legitimate objectives can
be translated into this one.
However in actual practice many profit-making organizations do not use this ap-
proach. A number of studies of U.S. corporations have found that management tends to
adopt the goal of satisfactory profits combined with other objectives instead of focusing
on long-run profit maximization. Typically some of these other objectives might be to
maintain stable profits increase or maintain one’s share of the market provide for prod-
uct diversification maintain stable prices improve worker morale maintain family con-
trol of the business and increase company prestige. Fulfilling these objectives might
achieve long-run profit maximization but the relationship may be sufficiently obscure that
it may not be convenient to incorporate them all into this one objective.
8 2 OVERVIEW OF THE OPERATIONS RESEARCH MODELING APPROACH

slide 34:

Furthermore there are additional considerations involving social responsibilities that
are distinct from the profit motive. The five parties generally affected by a business firm
located in a single country are 1 the owners stockholders etc. who desire profits div-
idends stock appreciation and so on 2 the employees who desire steady employment
at reasonable wages 3 the customers who desire a reliable product at a reasonable price
4 the suppliers who desire integrity and a reasonable selling price for their goods and
5 the government and hence the nation which desire payment of fair taxes and consid-
eration of the national interest. All five parties make essential contributions to the firm
and the firm should not be viewed as the exclusive servant of any one party for the ex-
ploitation of others. By the same token international corporations acquire additional obli-
gations to follow socially responsible practices. Therefore while granting that manage-
ment’s prime responsibility is to make profits which ultimately benefits all five parties
we note that its broader social responsibilities also must be recognized.
OR teams typically spend a surprisingly large amount of time gathering relevant data
about the problem. Much data usually are needed both to gain an accurate understanding
of the problem and to provide the needed input for the mathematical model being formu-
lated in the next phase of study. Frequently much of the needed data will not be available
when the study begins either because the information never has been kept or because what
was kept is outdated or in the wrong form. Therefore it often is necessary to install a new
computer-based management information system to collect the necessary data on an on-
going basis and in the needed form. The OR team normally needs to enlist the assistance
of various other key individuals in the organization to track down all the vital data. Even
with this effort much of the data may be quite “soft” i.e. rough estimates based only on
educated guesses. Typically an OR team will spend considerable time trying to improve
the precision of the data and then will make do with the best that can be obtained.
Examples. An OR study done for the San Francisco Police Department
1
resulted in
the development of a computerized system for optimally scheduling and deploying police
patrol officers. The new system provided annual savings of 11 million an annual 3 mil-
lion increase in traffic citation revenues and a 20 percent improvement in response times.
In assessing the appropriate objectives for this study three fundamental objectives were
identified:
1. Maintain a high level of citizen safety.
2. Maintain a high level of officer morale.
3. Minimize the cost of operations.
To satisfy the first objective the police department and city government jointly established
a desired level of protection. The mathematical model then imposed the requirement that
this level of protection be achieved. Similarly the model imposed the requirement of bal-
ancing the workload equitably among officers in order to work toward the second objec-
tive. Finally the third objective was incorporated by adopting the long-term goal of min-
imizing the number of officers needed to meet the first two objectives.
2.1 DEFINING THE PROBLEM AND GATHERING DATA 9
1
P. E. Taylor and S. J. Huxley “A Break from Tradition for the San Francisco Police: Patrol Officer Schedul-
ing Using an Optimization-Based Decision Support System” Interfaces 191: 4–24 Jan.–Feb. 1989. See es-
pecially pp. 4–11.

slide 35:

The Health Department of New Haven Connecticut used an OR team
1
to de-
sign an effective needle exchange program to combat the spread of the virus that causes
AIDS HIV and succeeded in reducing the HIV infection rate among program clients
by 33 percent. The key part of this study was an innovative data collection program
to obtain the needed input for mathematical models of HIV transmission. This program
involved complete tracking of each needle and syringe including the identity loca-
tion and date for each person receiving the needle and each person returning the
needle during an exchange as well as testing whether the returned needle was HIV-
positive or HIV-negative.
An OR study done for the Citgo Petroleum Corporation
2
optimized both refinery
operations and the supply distribution and marketing of its products thereby achieving
a profit improvement of approximately 70 million per year. Data collection also played
a key role in this study. The OR team held data requirement meetings with top Citgo man-
agement to ensure the eventual and continual quality of data. A state-of-the-art manage-
ment database system was developed and installed on a mainframe computer. In cases
where needed data did not exist LOTUS 1-2-3 screens were created to help operations
personnel input the data and then the data from the personal computers PCs were up-
loaded to the mainframe computer. Before data was inputted to the mathematical model
a preloader program was used to check for data errors and inconsistencies. Initially the
preloader generated a paper log of error messages 1 inch thick Eventually the number
of error and warning messages indicating bad or questionable numbers was reduced to
less than 10 for each new run.
We will describe the overall Citgo study in much more detail in Sec. 3.5.
10 2 OVERVIEW OF THE OPERATIONS RESEARCH MODELING APPROACH
2.2 FORMULATING A MATHEMATICAL MODEL
After the decision maker’s problem is defined the next phase is to reformulate this prob-
lem in a form that is convenient for analysis. The conventional OR approach for doing
this is to construct a mathematical model that represents the essence of the problem. Be-
fore discussing how to formulate such a model we first explore the nature of models in
general and of mathematical models in particular.
Models or idealized representations are an integral part of everyday life. Common
examples include model airplanes portraits globes and so on. Similarly models play an
important role in science and business as illustrated by models of the atom models of
genetic structure mathematical equations describing physical laws of motion or chemical
reactions graphs organizational charts and industrial accounting systems. Such models
are invaluable for abstracting the essence of the subject of inquiry showing interrelation-
ships and facilitating analysis.
1
E. H. Kaplan and E. O’Keefe “Let the Needles Do the Talking Evaluating the New Haven Needle Exchange”
Interfaces 231: 7–26 Jan.–Feb. 1993. See especially pp. 12–14.
2
D. Klingman N. Phillips D. Steiger R. Wirth and W. Young “The Challenges and Success Factors in Im-
plementing an Integrated Products Planning System for Citgo” Interfaces 163: 1–19 May–June 1986. See
especially pp. 11–14. Also see D. Klingman N. Phillips D. Steiger and W. Young “The Successful Deploy-
ment of Management Science throughout Citgo Petroleum Corporation” Interfaces 171: 4–25 Jan.–Feb. 1987.
See especially pp. 13–15. This application will be described further in Sec. 3.5.

slide 36:

Mathematical models are also idealized representations but they are expressed in
terms of mathematical symbols and expressions. Such laws of physics as F ma and
E mc
2
are familiar examples. Similarly the mathematical model of a business problem
is the system of equations and related mathematical expressions that describe the essence
of the problem. Thus if there are n related quantifiable decisions to be made they are
represented as decision variables say x
1
x
2
... x
n
whose respective values are to be
determined. The appropriate measure of performance e.g. profit is then expressed as a
mathematical function of these decision variables for example P 3x
1
2x
2
+ 5x
n
.
This function is called the objective function. Any restrictions on the values that can be
assigned to these decision variables are also expressed mathematically typically by means
of inequalities or equations for example x
1
3x
1
x
2
2x
2
10. Such mathematical ex-
pressions for the restrictions often are called constraints. The constants namely the co-
efficients and right-hand sides in the constraints and the objective function are called the
parameters of the model. The mathematical model might then say that the problem is to
choose the values of the decision variables so as to maximize the objective function sub-
ject to the specified constraints. Such a model and minor variations of it typifies the mod-
els used in OR.
Determining the appropriate values to assign to the parameters of the model one
value per parameter is both a critical and a challenging part of the model-building process.
In contrast to textbook problems where the numbers are given to you determining param-
eter values for real problems requires gathering relevant data. As discussed in the pre-
ceding section gathering accurate data frequently is difficult. Therefore the value assigned
to a parameter often is of necessity only a rough estimate. Because of the uncertainty
about the true value of the parameter it is important to analyze how the solution derived
from the model would change if at all if the value assigned to the parameter were changed
to other plausible values. This process is referred to as sensitivity analysis as discussed
further in the next section and much of Chap. 6.
Although we refer to “the” mathematical model of a business problem real problems
normally don’t have just a single “right” model. Section 2.4 will describe how the process
of testing a model typically leads to a succession of models that provide better and bet-
ter representations of the problem. It is even possible that two or more completely dif-
ferent types of models may be developed to help analyze the same problem.
You will see numerous examples of mathematical models throughout the remainder
of this book. One particularly important type that is studied in the next several chapters
is the linear programming model where the mathematical functions appearing in both
the objective function and the constraints are all linear functions. In the next chapter spe-
cific linear programming models are constructed to fit such diverse problems as deter-
mining 1 the mix of products that maximizes profit 2 the design of radiation therapy
that effectively attacks a tumor while minimizing the damage to nearby healthy tissue
3 the allocation of acreage to crops that maximizes total net return and 4 the combi-
nation of pollution abatement methods that achieves air quality standards at minimum cost.
Mathematical models have many advantages over a verbal description of the problem.
One advantage is that a mathematical model describes a problem much more concisely. This
tends to make the overall structure of the problem more comprehensible and it helps to re-
veal important cause-and-effect relationships. In this way it indicates more clearly what ad-
ditional data are relevant to the analysis. It also facilitates dealing with the problem in its
2.2 FORMULATING A MATHEMATICAL MODEL 11

slide 37:

entirety and considering all its interrelationships simultaneously. Finally a mathematical
model forms a bridge to the use of high-powered mathematical techniques and computers
to analyze the problem. Indeed packaged software for both personal computers and main-
frame computers has become widely available for solving many mathematical models.
However there are pitfalls to be avoided when you use mathematical models. Such a
model is necessarily an abstract idealization of the problem so approximations and sim-
plifying assumptions generally are required if the model is to be tractable capable of be-
ing solved. Therefore care must be taken to ensure that the model remains a valid repre-
sentation of the problem. The proper criterion for judging the validity of a model is whether
the model predicts the relative effects of the alternative courses of action with sufficient
accuracy to permit a sound decision. Consequently it is not necessary to include unim-
portant details or factors that have approximately the same effect for all the alternative
courses of action considered. It is not even necessary that the absolute magnitude of the
measure of performance be approximately correct for the various alternatives provided that
their relative values i.e. the differences between their values are sufficiently precise. Thus
all that is required is that there be a high correlation between the prediction by the model
and what would actually happen in the real world. To ascertain whether this requirement
is satisfied it is important to do considerable testing and consequent modifying of the
model which will be the subject of Sec. 2.4. Although this testing phase is placed later in
the chapter much of this model validation work actually is conducted during the model-
building phase of the study to help guide the construction of the mathematical model.
In developing the model a good approach is to begin with a very simple version and
then move in evolutionary fashion toward more elaborate models that more nearly reflect
the complexity of the real problem. This process of model enrichment continues only as
long as the model remains tractable. The basic trade-off under constant consideration is
between the precision and the tractability of the model. See Selected Reference 6 for a
detailed description of this process.
A crucial step in formulating an OR model is the construction of the objective function.
This requires developing a quantitative measure of performance relative to each of the deci-
sion maker’s ultimate objectives that were identified while the problem was being defined.
If there are multiple objectives their respective measures commonly are then transformed
and combined into a composite measure called the overall measure of performance. This
overall measure might be something tangible e.g. profit corresponding to a higher goal of
the organization or it might be abstract e.g. utility. In the latter case the task of develop-
ing this measure tends to be a complex one requiring a careful comparison of the objectives
and their relative importance. After the overall measure of performance is developed the ob-
jective function is then obtained by expressing this measure as a mathematical function of
the decision variables. Alternatively there also are methods for explicitly considering multi-
ple objectives simultaneously and one of these goal programming is discussed in Chap. 7.
Examples. An OR study done for Monsanto Corp.
1
was concerned with optimizing pro-
duction operations in Monsanto’s chemical plants to minimize the cost of meeting the target
for the amount of a certain chemical product maleic anhydride to be produced in a given
12 2 OVERVIEW OF THE OPERATIONS RESEARCH MODELING APPROACH
1
R. F. Boykin “Optimizing Chemical Production at Monsanto” Interfaces 151: 88–95 Jan.–Feb. 1985. See
especially pp. 92–93.

slide 38:

month. The decisions to be made are the dial setting for each of the catalytic reactors used
to produce this product where the setting determines both the amount produced and the cost
of operating the reactor. The form of the resulting mathematical model is as follows:
Choose the values of the decision variables R
ij
i 1 2 . . . r j 1 2 . . . s
so as to
Minimize
r
i 1
s
j 1
c
ij
R
ij
subject to
r
i 1
s
j 1
p
ij
R
ij
T
s
j 1
R
ij
1 for i 1 2 . . . r
R
ij
0 or 1
where R
ij
1 if reactor i is operated at setting j
0 otherwise
c
ij
cost for reactor i at setting j
p
ij
production of reactor i at setting j
T production target
r number of reactors
s number of settings including off position
The objective function for this model is c
ij
R
ij
. The constraints are given in the three
lines below the objective function. The parameters are c
ij
p
ij
and T. For Monsanto’s ap-
plication this model has over 1000 decision variables R
ij
that is rs 1000. Its use led
to annual savings of approximately 2 million.
The Netherlands government agency responsible for water control and public works
the Rijkswaterstaat commissioned a major OR study
1
to guide the development of a
new national water management policy. The new policy saved hundreds of millions of
dollars in investment expenditures and reduced agricultural damage by about 15 million
per year while decreasing thermal and algae pollution. Rather than formulating one math-
ematical model this OR study developed a comprehensive integrated system of 50 mod-
els Furthermore for some of the models both simple and complex versions were devel-
oped. The simple version was used to gain basic insights including trade-off analyses.
The complex version then was used in the final rounds of the analysis or whenever greater
accuracy or more detailed outputs were desired. The overall OR study directly involved
over 125 person-years of effort more than one-third in data gathering created several
dozen computer programs and structured an enormous amount of data.
2.2 FORMULATING A MATHEMATICAL MODEL 13
1
B. F. Goeller and the PAWN team: “Planning the Netherlands’ Water Resources” Interfaces 151: 3–33
Jan.–Feb. 1985. See especially pp. 7–18.

slide 39:

14 2 OVERVIEW OF THE OPERATIONS RESEARCH MODELING APPROACH
2.3 DERIVING SOLUTIONS FROM THE MODEL
After a mathematical model is formulated for the problem under consideration the next
phase in an OR study is to develop a procedure usually a computer-based procedure for
deriving solutions to the problem from this model. You might think that this must be the
major part of the study but actually it is not in most cases. Sometimes in fact it is a rel-
atively simple step in which one of the standard algorithms systematic solution proce-
dures of OR is applied on a computer by using one of a number of readily available soft-
ware packages. For experienced OR practitioners finding a solution is the fun part whereas
the real work comes in the preceding and following steps including the postoptimality
analysis discussed later in this section.
Since much of this book is devoted to the subject of how to obtain solutions for var-
ious important types of mathematical models little needs to be said about it here. How-
ever we do need to discuss the nature of such solutions.
A common theme in OR is the search for an optimal or best solution. Indeed many
procedures have been developed and are presented in this book for finding such solu-
tions for certain kinds of problems. However it needs to be recognized that these solu-
tions are optimal only with respect to the model being used. Since the model necessarily
is an idealized rather than an exact representation of the real problem there cannot be any
utopian guarantee that the optimal solution for the model will prove to be the best possi-
ble solution that could have been implemented for the real problem. There just are too
many imponderables and uncertainties associated with real problems. However if the
model is well formulated and tested the resulting solution should tend to be a good ap-
proximation to an ideal course of action for the real problem. Therefore rather than be
deluded into demanding the impossible you should make the test of the practical success
of an OR study hinge on whether it provides a better guide for action than can be ob-
tained by other means.
Eminent management scientist and Nobel Laureate in economics Herbert Simon points
out that satisficing is much more prevalent than optimizing in actual practice. In coining
the term satisficing as a combination of the words satisfactory and optimizing Simon is
describing the tendency of managers to seek a solution that is “good enough” for the prob-
lem at hand. Rather than trying to develop an overall measure of performance to opti-
mally reconcile conflicts between various desirable objectives including well-established
criteria for judging the performance of different segments of the organization a more
pragmatic approach may be used. Goals may be set to establish minimum satisfactory lev-
els of performance in various areas based perhaps on past levels of performance or on
what the competition is achieving. If a solution is found that enables all these goals to be
met it is likely to be adopted without further ado. Such is the nature of satisficing.
The distinction between optimizing and satisficing reflects the difference between the-
ory and the realities frequently faced in trying to implement that theory in practice. In the
words of one of England’s OR leaders Samuel Eilon “Optimizing is the science of the
ultimate satisficing is the art of the feasible.”
1
OR teams attempt to bring as much of the “science of the ultimate” as possible to the
decision-making process. However the successful team does so in full recognition of the
1
S. Eilon “Goals and Constraints in Decision-making” Operational Research Quarterly 23: 3–15 1972—ad-
dress given at the 1971 annual conference of the Canadian Operational Research Society.

slide 40:

overriding need of the decision maker to obtain a satisfactory guide for action in a rea-
sonable period of time. Therefore the goal of an OR study should be to conduct the study
in an optimal manner regardless of whether this involves finding an optimal solution for
the model. Thus in addition to pursuing the science of the ultimate the team should also
consider the cost of the study and the disadvantages of delaying its completion and then
attempt to maximize the net benefits resulting from the study. In recognition of this con-
cept OR teams occasionally use only heuristic procedures i.e. intuitively designed pro-
cedures that do not guarantee an optimal solution to find a good suboptimal solution.
This is most often the case when the time or cost required to find an optimal solution for
an adequate model of the problem would be very large. In recent years great progress has
been made in developing efficient and effective heuristic procedures including so-called
metaheuristics so their use is continuing to grow.
The discussion thus far has implied that an OR study seeks to find only one solution
which may or may not be required to be optimal. In fact this usually is not the case. An
optimal solution for the original model may be far from ideal for the real problem so ad-
ditional analysis is needed. Therefore postoptimality analysis analysis done after find-
ing an optimal solution is a very important part of most OR studies. This analysis also
is sometimes referred to as what-if analysis because it involves addressing some ques-
tions about what would happen to the optimal solution if different assumptions are made
about future conditions. These questions often are raised by the managers who will be
making the ultimate decisions rather than by the OR team.
The advent of powerful spreadsheet software now has frequently given spreadsheets
a central role in conducting postoptimality analysis. One of the great strengths of a
spreadsheet is the ease with which it can be used interactively by anyone including
managers to see what happens to the optimal solution when changes are made to the
model. This process of experimenting with changes in the model also can be very help-
ful in providing understanding of the behavior of the model and increasing confidence
in its validity.
In part postoptimality analysis involves conducting sensitivity analysis to determine
which parameters of the model are most critical the “sensitive parameters” in deter-
mining the solution. A common definition of sensitive parameter used throughout this
book is the following.
For a mathematical model with specified values for all its parameters the model’s sensi-
tive parameters are the parameters whose value cannot be changed without changing the
optimal solution.
Identifying the sensitive parameters is important because this identifies the parameters
whose value must be assigned with special care to avoid distorting the output of the model.
The value assigned to a parameter commonly is just an estimate of some quantity
e.g. unit profit whose exact value will become known only after the solution has been
implemented. Therefore after the sensitive parameters are identified special attention is
given to estimating each one more closely or at least its range of likely values. One then
seeks a solution that remains a particularly good one for all the various combinations of
likely values of the sensitive parameters.
If the solution is implemented on an ongoing basis any later change in the value of
a sensitive parameter immediately signals a need to change the solution.
2.3 DERIVING SOLUTIONS FROM THE MODEL 15

slide 41:

In some cases certain parameters of the model represent policy decisions e.g. re-
source allocations. If so there frequently is some flexibility in the values assigned to
these parameters. Perhaps some can be increased by decreasing others. Postoptimality
analysis includes the investigation of such trade-offs.
In conjunction with the study phase discussed in the next section testing the model
postoptimality analysis also involves obtaining a sequence of solutions that comprises a
series of improving approximations to the ideal course of action. Thus the apparent weak-
nesses in the initial solution are used to suggest improvements in the model its input data
and perhaps the solution procedure. A new solution is then obtained and the cycle is re-
peated. This process continues until the improvements in the succeeding solutions become
too small to warrant continuation. Even then a number of alternative solutions perhaps
solutions that are optimal for one of several plausible versions of the model and its input
data may be presented to management for the final selection. As suggested in Sec. 2.1
this presentation of alternative solutions would normally be done whenever the final choice
among these alternatives should be based on considerations that are best left to the judg-
ment of management.
Example. Consider again the Rijkswaterstaat OR study of national water management
policy for the Netherlands introduced at the end of the preceding section. This study did
not conclude by recommending just a single solution. Instead a number of attractive al-
ternatives were identified analyzed and compared. The final choice was left to the Dutch
political process culminating with approval by Parliament. Sensitivity analysis played a
major role in this study. For example certain parameters of the models represented envi-
ronmental standards. Sensitivity analysis included assessing the impact on water man-
agement problems if the values of these parameters were changed from the current envi-
ronmental standards to other reasonable values. Sensitivity analysis also was used to assess
the impact of changing the assumptions of the models e.g. the assumption on the effect
of future international treaties on the amount of pollution entering the Netherlands. A va-
riety of scenarios e.g. an extremely dry year and an extremely wet year also were an-
alyzed with appropriate probabilities assigned.
16 2 OVERVIEW OF THE OPERATIONS RESEARCH MODELING APPROACH
2.4 TESTING THE MODEL
Developing a large mathematical model is analogous in some ways to developing a large
computer program. When the first version of the computer program is completed it in-
evitably contains many bugs. The program must be thoroughly tested to try to find and
correct as many bugs as possible. Eventually after a long succession of improved pro-
grams the programmer or programming team concludes that the current program now
is generally giving reasonably valid results. Although some minor bugs undoubtedly re-
main hidden in the program and may never be detected the major bugs have been suf-
ficiently eliminated that the program now can be reliably used.
Similarly the first version of a large mathematical model inevitably contains many
flaws. Some relevant factors or interrelationships undoubtedly have not been incorporated
into the model and some parameters undoubtedly have not been estimated correctly. This
is inevitable given the difficulty of communicating and understanding all the aspects and

slide 42:

subtleties of a complex operational problem as well as the difficulty of collecting reliable
data. Therefore before you use the model it must be thoroughly tested to try to identify
and correct as many flaws as possible. Eventually after a long succession of improved
models the OR team concludes that the current model now is giving reasonably valid re-
sults. Although some minor flaws undoubtedly remain hidden in the model and may never
be detected the major flaws have been sufficiently eliminated that the model now can
be reliably used.
This process of testing and improving a model to increase its validity is commonly
referred to as model validation.
It is difficult to describe how model validation is done because the process depends
greatly on the nature of the problem being considered and the model being used. How-
ever we make a few general comments and then we give some examples. See Selected
Reference 2 for a detailed discussion.
Since the OR team may spend months developing all the detailed pieces of the model
it is easy to “lose the forest for the trees.” Therefore after the details “the trees” of the
initial version of the model are completed a good way to begin model validation is to
take a fresh look at the overall model “the forest” to check for obvious errors or over-
sights. The group doing this review preferably should include at least one individual who
did not participate in the formulation of the model. Reexamining the definition of the
problem and comparing it with the model may help to reveal mistakes. It is also useful
to make sure that all the mathematical expressions are dimensionally consistent in the
units used. Additional insight into the validity of the model can sometimes be obtained
by varying the values of the parameters and/or the decision variables and checking to see
whether the output from the model behaves in a plausible manner. This is often especially
revealing when the parameters or variables are assigned extreme values near their max-
ima or minima.
A more systematic approach to testing the model is to use a retrospective test. When
it is applicable this test involves using historical data to reconstruct the past and then de-
termining how well the model and the resulting solution would have performed if they
had been used. Comparing the effectiveness of this hypothetical performance with what
actually happened then indicates whether using this model tends to yield a significant im-
provement over current practice. It may also indicate areas where the model has short-
comings and requires modifications. Furthermore by using alternative solutions from the
model and estimating their hypothetical historical performances considerable evidence
can be gathered regarding how well the model predicts the relative effects of alternative
courses of actions.
On the other hand a disadvantage of retrospective testing is that it uses the same data
that guided the formulation of the model. The crucial question is whether the past is truly
representative of the future. If it is not then the model might perform quite differently in
the future than it would have in the past.
To circumvent this disadvantage of retrospective testing it is sometimes useful to con-
tinue the status quo temporarily. This provides new data that were not available when the
model was constructed. These data are then used in the same ways as those described here
to evaluate the model.
Documenting the process used for model validation is important. This helps to in-
crease confidence in the model for subsequent users. Furthermore if concerns arise in the
2.4 TESTING THE MODEL 17

slide 43:

future about the model this documentation will be helpful in diagnosing where problems
may lie.
Examples. Consider once again the Rijkswaterstaat OR study of national water man-
agement policy for the Netherlands discussed at the end of Secs. 2.2 and 2.3. The process
of model validation in this case had three main parts. First the OR team checked the gen-
eral behavior of the models by checking whether the results from each model moved in
reasonable ways when changes were made in the values of the model parameters. Sec-
ond retrospective testing was done. Third a careful technical review of the models
methodology and results was conducted by individuals unaffiliated with the project in-
cluding Dutch experts. This process led to a number of important new insights and im-
provements in the models.
Many new insights also were gleaned during the model validation phase of the OR
study for the Citgo Petroleum Corp. discussed at the end of Sec. 2.1. In this case the
model of refinery operations was tested by collecting the actual inputs and outputs of the
refinery for a series of months using these inputs to fix the model inputs and then com-
paring the model outputs with the actual refinery outputs. The process of properly cali-
brating and recalibrating the model was a lengthy one but ultimately led to routine use
of the model to provide critical decision information. As already mentioned in Sec. 2.1
the validation and correction of input data for the models also played an important role
in this study.
Our next example concerns an OR study done for IBM
1
to integrate its national net-
work of spare-parts inventories to improve service support for IBM’s customers. This study
resulted in a new inventory system that improved customer service while reducing the
value of IBM’s inventories by over 250 million and saving an additional 20 million per
year through improved operational efficiency. A particularly interesting aspect of the model
validation phase of this study was the way that future users of the inventory system were
incorporated into the testing process. Because these future users IBM managers in func-
tional areas responsible for implementation of the inventory system were skeptical about
the system being developed representatives were appointed to a user team to serve as ad-
visers to the OR team. After a preliminary version of the new system had been developed
based on a multiechelon inventory model a preimplementation test of the system was
conducted. Extensive feedback from the user team led to major improvements in the pro-
posed system.
18 2 OVERVIEW OF THE OPERATIONS RESEARCH MODELING APPROACH
1
M. Cohen P. V. Kamesam P. Kleindorfer H. Lee and A. Tekerian “Optimizer: IBM’s Multi-Echelon Inven-
tory System for Managing Service Logistics” Interfaces 201: 65–82 Jan.–Feb. 1990. See especially pp. 73–76.
This application will be described further in Sec. 19.8.
2.5 PREPARING TO APPLY THE MODEL
What happens after the testing phase has been completed and an acceptable model has
been developed If the model is to be used repeatedly the next step is to install a well-
documented system for applying the model as prescribed by management. This system
will include the model solution procedure including postoptimality analysis and oper-

slide 44:

ating procedures for implementation. Then even as personnel changes the system can be
called on at regular intervals to provide a specific numerical solution.
This system usually is computer-based. In fact a considerable number of computer
programs often need to be used and integrated. Databases and management information
systems may provide up-to-date input for the model each time it is used in which case
interface programs are needed. After a solution procedure another program is applied to
the model additional computer programs may trigger the implementation of the results
automatically. In other cases an interactive computer-based system called a decision sup-
port system is installed to help managers use data and models to support rather than re-
place their decision making as needed. Another program may generate managerial re-
ports in the language of management that interpret the output of the model and its
implications for application.
In major OR studies several months or longer may be required to develop test and
install this computer system. Part of this effort involves developing and implementing a
process for maintaining the system throughout its future use. As conditions change over
time this process should modify the computer system including the model accordingly.
Examples. The IBM OR study introduced at the end of Sec. 2.4 provides a good ex-
ample of a particularly large computer system for applying a model. The system devel-
oped called Optimizer provides optimal control of service levels and spare-parts inven-
tories throughout IBM’s U.S. parts distribution network which includes two central
automated warehouses dozens of field distribution centers and parts stations and many
thousands of outside locations. The parts inventory maintained in this network is valued
in the billions of dollars. Optimizer consists of four major modules. A forecasting system
module contains a few programs for estimating the failure rates of individual types of
parts. A data delivery system module consists of approximately 100 programs that process
over 15 gigabytes of data to provide the input for the model. A decision system module
then solves the model on a weekly basis to optimize control of the inventories. The fourth
module includes six programs that integrate Optimizer into IBM’s Parts Inventory Man-
agement System PIMS. PIMS is a sophisticated information and control system that con-
tains millions of lines of code.
Our next example also involves a large computer system for applying a model to con-
trol operations over a national network. This system called SYSNET was developed as
the result of an OR study done for Yellow Freight System Inc.
1
Yellow Freight annu-
ally handles over 15 million shipments by motor carrier over a network of 630 terminals
throughout the United States. SYSNET is used to optimize both the routing of shipments
and the design of the network. Because SYSNET requires extensive information about
freight flows and forecasts transportation and handling costs and so on a major part of
the OR study involved integrating SYSNET into the corporate management information
system. This integration enabled periodic updating of all the input for the model. The im-
plementation of SYSNET resulted in annual savings of approximately 17.3 million as
well as improved service to customers.
2.5 PREPARING TO APPLY THE MODEL 19
1
J. W. Braklow W. W. Graham S. M. Hassler K. E. Peck and W. B. Powell “Interactive Optimization Im-
proves Service and Performance for Yellow Freight System” Interfaces 221: 147–172 Jan.–Feb. 1992. See
especially p. 163.

slide 45:

Our next example illustrates a decision support system. A system of this type was de-
veloped for Texaco
1
to help plan and schedule its blending operations at its various re-
fineries. Called OMEGA Optimization Method for the Estimation of Gasoline Attributes
it is an interactive system based on a nonlinear optimization model that is implemented
on both personal computers and larger computers. Input data can be entered either man-
ually or by interfacing with refinery databases. The user has considerable flexibility in
choosing an objective function and constraints to fit the current situation as well as in ask-
ing a series of what-if questions i.e. questions about what would happen if the assumed
conditions change. OMEGA is maintained centrally by Texaco’s information technology
department which enables constant updating to reflect new government regulations other
business changes and changes in refinery operations. The implementation of OMEGA is
credited with annual savings of more than 30 million as well as improved planning qual-
ity control and marketing information.
20 2 OVERVIEW OF THE OPERATIONS RESEARCH MODELING APPROACH
1
C. W. DeWitt L. S. Lasdon A. D. Waren D. A. Brenner and S. A. Melhem “OMEGA: An Improved Gaso-
line Blending System for Texaco” Interfaces 191: 85–101 Jan.–Feb. 1989. See especially pp. 93–95.
2.6 IMPLEMENTATION
After a system is developed for applying the model the last phase of an OR study is to
implement this system as prescribed by management. This phase is a critical one because
it is here and only here that the benefits of the study are reaped. Therefore it is impor-
tant for the OR team to participate in launching this phase both to make sure that model
solutions are accurately translated to an operating procedure and to rectify any flaws in
the solutions that are then uncovered.
The success of the implementation phase depends a great deal upon the support of
both top management and operating management. The OR team is much more likely to
gain this support if it has kept management well informed and encouraged management’s
active guidance throughout the course of the study. Good communications help to ensure
that the study accomplishes what management wanted and so deserves implementation.
They also give management a greater sense of ownership of the study which encourages
their support for implementation.
The implementation phase involves several steps. First the OR team gives operating
management a careful explanation of the new system to be adopted and how it relates to
operating realities. Next these two parties share the responsibility for developing the pro-
cedures required to put this system into operation. Operating management then sees that
a detailed indoctrination is given to the personnel involved and the new course of action
is initiated. If successful the new system may be used for years to come. With this in
mind the OR team monitors the initial experience with the course of action taken and
seeks to identify any modifications that should be made in the future.
Throughout the entire period during which the new system is being used it is im-
portant to continue to obtain feedback on how well the system is working and whether
the assumptions of the model continue to be satisfied. When significant deviations from
the original assumptions occur the model should be revisited to determine if any modi-
fications should be made in the system. The postoptimality analysis done earlier as de-
scribed in Sec. 2.3 can be helpful in guiding this review process.

slide 46:

Upon culmination of a study it is appropriate for the OR team to document its method-
ology clearly and accurately enough so that the work is reproducible. Replicability should
be part of the professional ethical code of the operations researcher. This condition is es-
pecially crucial when controversial public policy issues are being studied.
Examples. This last point about documenting an OR study is illustrated by the Rijks-
waterstaat study of national water management policy for the Netherlands discussed at
the end of Secs. 2.2 2.3 and 2.4. Management wanted unusually thorough and extensive
documentation both to support the new policy and to use in training new analysts or in
performing new studies. Requiring several years to complete this documentation aggre-
gated 4000 single-spaced pages and 21 volumes
Our next example concerns the IBM OR study discussed at the end of Secs. 2.4 and
2.5. Careful planning was required to implement the complex Optimizer system for con-
trolling IBM’s national network of spare-parts inventories. Three factors proved to be es-
pecially important in achieving a successful implementation. As discussed in Sec. 2.4 the
first was the inclusion of a user team consisting of operational managers as advisers to
the OR team throughout the study. By the time of the implementation phase these oper-
ational managers had a strong sense of ownership and so had become ardent supporters
for installing Optimizer in their functional areas. A second success factor was a very ex-
tensive user acceptance test whereby users could identify problem areas that needed rec-
tifying prior to full implementation. The third key was that the new system was phased
in gradually with careful testing at each phase so the major bugs could be eliminated be-
fore the system went live nationally.
Our final example concerns Yellow Freight’s SYSNET system for routing shipments
over a national network as described at the end of the preceding section. In this case there
were four key elements to the implementation process. The first was selling the concept to
upper management. This was successfully done through validating the accuracy of the cost
model and then holding interactive sessions for upper management that demonstrated the
effectiveness of the system. The second element was the development of an implementation
strategy for gradually phasing in the new system while identifying and eliminating its flaws.
The third involved working closely with operational managers to install the system prop-
erly provide the needed support tools train the personnel who will use the system and con-
vince them of the usefulness of the system. The final key element was the provision of man-
agement incentives and enforcement for the effective implementation of the system.
2.7 CONCLUSIONS 21
Although the remainder of this book focuses primarily on constructing and solving math-
ematical models in this chapter we have tried to emphasize that this constitutes only a
portion of the overall process involved in conducting a typical OR study. The other phases
described here also are very important to the success of the study. Try to keep in per-
spective the role of the model and the solution procedure in the overall process as you
move through the subsequent chapters. Then after gaining a deeper understanding of math-
ematical models we suggest that you plan to return to review this chapter again in order
to further sharpen this perspective.
2.7 CONCLUSIONS

slide 47:

OR is closely intertwined with the use of computers. In the early years these gener-
ally were mainframe computers but now personal computers and workstations are being
widely used to solve OR models.
In concluding this discussion of the major phases of an OR study it should be em-
phasized that there are many exceptions to the “rules” prescribed in this chapter. By its
very nature OR requires considerable ingenuity and innovation so it is impossible to write
down any standard procedure that should always be followed by OR teams. Rather the
preceding description may be viewed as a model that roughly represents how successful
OR studies are conducted.
22 2 OVERVIEW OF THE OPERATIONS RESEARCH MODELING APPROACH
SELECTED REFERENCES
1. Fortuin L. P. van Beek and L. van Wassenhove eds.: OR at wORk: Practical Experiences
of Operational Research Taylor Francis Bristol PA 1996.
2. Gass S. I.: “Decision-Aiding Models: Validation Assessment and Related Issues for Policy
Analysis” Operations Research 31: 603–631 1983.
3. Gass S. I.: “Model World: Danger Beware the User as Modeler” Interfaces 203: 60–64
May–June 1990.
4. Hall R. W.: “What’s So Scientific about MS/OR” Interfaces 152: 40–45 March–April 1985.
5. Miser H. J.: “The Easy Chair: Observation and Experimentation” Interfaces 195: 23–30
Sept.–Oct. 1989.
6. Morris W. T.: “On the Art of Modeling” Management Science 13: B707–717 1967.
7. Murthy D. N. P. N. W. Page and E. Y. Rodin: Mathematical Modeling: A Tool for Problem
Solving in Engineering Physical Biological and Social Sciences Pergamon Press Oxford Eng-
land 1990.
8. Simon H. A.: “Prediction and Prescription in Systems Modeling” Operations Research
38: 7–14 1990.
9. Tilanus C. B. O. B. DeGans and J. K. Lenstra eds.: Quantitative Methods in Management:
Case Studies of Failures and Successes Wiley New York 1986.
10. Williams H. P.: Model Building in Mathematical Programming 3d ed. Wiley New York 1990.
PROBLEMS
2.1-1. Read the article footnoted in Sec. 2.1 that describes an OR
study done for the San Francisco Police Department.
a Summarize the background that led to undertaking this study.
b Define part of the problem being addressed by identifying the
six directives for the scheduling system to be developed.
c Describe how the needed data were gathered.
d List the various tangible and intangible benefits that resulted
from the study.
2.1-2. Read the article footnoted in Sec. 2.1 that describes an OR
study done for the Health Department of New Haven Connecticut.
a Summarize the background that led to undertaking this
study.
b Outline the system developed to track and test each needle and
syringe in order to gather the needed data.
c Summarize the initial results from this tracking and testing
system.
d Describe the impact and potential impact of this study on pub-
lic policy.
2.2-1. Read the article footnoted in Sec. 2.2 that describes an OR
study done for the Rijkswaterstaat of the Netherlands. Focus es-
pecially on pp. 3–20 and 30–32.
a Summarize the background that led to undertaking this study.
b Summarize the purpose of each of the five mathematical mod-
els described on pp. 10–18.

slide 48:

c Summarize the “impact measures” measures of performance
for comparing policies that are described on pp. 6–7 of this
article.
d List the various tangible and intangible benefits that resulted
from the study.
2.2-2. Read Selected Reference 4.
a Identify the author’s example of a model in the natural sci-
ences and of a model in OR.
b Describe the author’s viewpoint about how basic precepts of
using models to do research in the natural sciences can also be
used to guide research on operations OR.
2.3-1. Refer to Selected Reference 4.
a Describe the author’s viewpoint about whether the sole goal in
using a model should be to find its optimal solution.
b Summarize the author’s viewpoint about the complementary
roles of modeling evaluating information from the model and
then applying the decision maker’s judgment when deciding
on a course of action.
2.4-1. Refer to pp. 18–20 of the article footnoted in Sec. 2.2 that
describes an OR study done for the Rijkswaterstaat of the Nether-
lands. Describe an important lesson that was gained from model
validation in this study.
2.4-2. Read Selected Reference 5. Summarize the author’s view-
point about the roles of observation and experimentation in the
model validation process.
2.4-3. Read pp. 603–617 of Selected Reference 2.
a What does the author say about whether a model can be com-
pletely validated
b Summarize the distinctions made between model validity data
validity logical/mathematical validity predictive validity op-
erational validity and dynamic validity.
c Describe the role of sensitivity analysis in testing the opera-
tional validity of a model.
d What does the author say about whether there is a validation
methodology that is appropriate for all models
e Cite the page in the article that lists basic validation steps.
2.5-1. Read the article footnoted in Sec. 2.5 that describes an OR
study done for Texaco.
a Summarize the background that led to undertaking this study.
b Briefly describe the user interface with the decision support
system OMEGA that was developed as a result of this study.
CHAPTER 2 PROBLEMS 23
c OMEGA is constantly being updated and extended to reflect
changes in the operating environment. Briefly describe the var-
ious kinds of changes involved.
d Summarize how OMEGA is used.
e List the various tangible and intangible benefits that resulted
from the study.
2.5-2. Refer to the article footnoted in Sec. 2.5 that describes an
OR study done for Yellow Freight System Inc.
a Referring to pp. 147–149 of this article summarize the back-
ground that led to undertaking this study.
b Referring to p. 150 briefly describe the computer system
SYSNET that was developed as a result of this study. Also
summarize the applications of SYSNET.
c Referring to pp. 162–163 describe why the interactive aspects
of SYSNET proved important.
d Referring to p. 163 summarize the outputs from SYSNET.
e Referring to pp. 168–172 summarize the various benefits that
have resulted from using SYSNET.
2.6-1. Refer to pp. 163–167 of the article footnoted in Sec. 2.5
that describes an OR study done for Yellow Freight System Inc.
and the resulting computer system SYSNET.
a Briefly describe how the OR team gained the support of up-
per management for implementing SYSNET.
b Briefly describe the implementation strategy that was developed.
c Briefly describe the field implementation.
d Briefly describe how management incentives and enforcement
were used in implementing SYSNET.
2.6-2. Read the article footnoted in Sec. 2.4 that describes an OR
study done for IBM and the resulting computer system Optimizer.
a Summarize the background that led to undertaking this study.
b List the complicating factors that the OR team members faced
when they started developing a model and a solution algorithm.
c Briefly describe the preimplementation test of Optimizer.
d Briefly describe the field implementation test.
e Briefly describe national implementation.
f List the various tangible and intangible benefits that resulted
from the study.
2.7-1. Read Selected Reference 3. The author describes 13 detailed
phases of any OR study that develops and applies a computer-based
model whereas this chapter describes six broader phases. For each
of these broader phases list the detailed phases that fall partially
or primarily within the broader phase.

slide 49:

24
3
Introduction to Linear
Programming
The development of linear programming has been ranked among the most important sci-
entific advances of the mid-20th century and we must agree with this assessment. Its im-
pact since just 1950 has been extraordinary. Today it is a standard tool that has saved many
thousands or millions of dollars for most companies or businesses of even moderate size
in the various industrialized countries of the world and its use in other sectors of society
has been spreading rapidly. A major proportion of all scientific computation on comput-
ers is devoted to the use of linear programming. Dozens of textbooks have been written
about linear programming and published articles describing important applications now
number in the hundreds.
What is the nature of this remarkable tool and what kinds of problems does it ad-
dress Y ou will gain insight into this topic as you work through subsequent examples. How-
ever a verbal summary may help provide perspective. Briefly the most common type of
application involves the general problem of allocating limited resources among competing
activities in a best possible i.e. optimal way. More precisely this problem involves se-
lecting the level of certain activities that compete for scarce resources that are necessary
to perform those activities. The choice of activity levels then dictates how much of each
resource will be consumed by each activity. The variety of situations to which this de-
scription applies is diverse indeed ranging from the allocation of production facilities to
products to the allocation of national resources to domestic needs from portfolio selection
to the selection of shipping patterns from agricultural planning to the design of radiation
therapy and so on. However the one common ingredient in each of these situations is the
necessity for allocating resources to activities by choosing the levels of those activities.
Linear programming uses a mathematical model to describe the problem of concern.
The adjective linear means that all the mathematical functions in this model are required
to be linear functions. The word programming does not refer here to computer program-
ming rather it is essentially a synonym for planning. Thus linear programming involves
the planning of activities to obtain an optimal result i.e. a result that reaches the speci-
fied goal best according to the mathematical model among all feasible alternatives.
Although allocating resources to activities is the most common type of application
linear programming has numerous other important applications as well. In fact any prob-
lem whose mathematical model fits the very general format for the linear programming
model is a linear programming problem. Furthermore a remarkably efficient solution pro-

slide 50:

cedure called the simplex method is available for solving linear programming problems
of even enormous size. These are some of the reasons for the tremendous impact of lin-
ear programming in recent decades.
Because of its great importance we devote this and the next six chapters specifically
to linear programming. After this chapter introduces the general features of linear pro-
gramming Chaps. 4 and 5 focus on the simplex method. Chapter 6 discusses the further
analysis of linear programming problems after the simplex method has been initially ap-
plied. Chapter 7 presents several widely used extensions of the simplex method and intro-
duces an interior-point algorithm that sometimes can be used to solve even larger linear pro-
gramming problems than the simplex method can handle. Chapters 8 and 9 consider some
special types of linear programming problems whose importance warrants individual study.
You also can look forward to seeing applications of linear programming to other ar-
eas of operations research OR in several later chapters.
We begin this chapter by developing a miniature prototype example of a linear pro-
gramming problem. This example is small enough to be solved graphically in a straight-
forward way. The following two sections present the general linear programming model
and its basic assumptions. Sections 3.4 and 3.5 give some additional examples of linear
programming applications including three case studies. Section 3.6 describes how linear
programming models of modest size can be conveniently displayed and solved on a spread-
sheet. However some linear programming problems encountered in practice require truly
massive models. Section 3.7 illustrates how a massive model can arise and how it can still
be formulated successfully with the help of a special modeling language such as MPL
described in this section or LINGO described in the appendix to this chapter.
3.1 PROTOTYPE EXAMPLE 25
The WYNDOR GLASS CO. produces high-quality glass products including windows and
glass doors. It has three plants. Aluminum frames and hardware are made in Plant 1 wood
frames are made in Plant 2 and Plant 3 produces the glass and assembles the products.
Because of declining earnings top management has decided to revamp the company’s
product line. Unprofitable products are being discontinued releasing production capacity
to launch two new products having large sales potential:
Product 1: An 8-foot glass door with aluminum framing
Product 2: A 4 6 foot double-hung wood-framed window
Product 1 requires some of the production capacity in Plants 1 and 3 but none in Plant
2. Product 2 needs only Plants 2 and 3. The marketing division has concluded that the
company could sell as much of either product as could be produced by these plants. How-
ever because both products would be competing for the same production capacity in Plant
3 it is not clear which mix of the two products would be most profitable. Therefore an
OR team has been formed to study this question.
The OR team began by having discussions with upper management to identify man-
agement’s objectives for the study. These discussions led to developing the following def-
inition of the problem:
Determine what the production rates should be for the two products in order to maximize
their total profit subject to the restrictions imposed by the limited production capacities
3.1 PROTOTYPE EXAMPLE

slide 51:

available in the three plants. Each product will be produced in batches of 20 so the pro-
duction rate is defined as the number of batches produced per week. Any combination
of production rates that satisfies these restrictions is permitted including producing none
of one product and as much as possible of the other.
The OR team also identified the data that needed to be gathered:
1. Number of hours of production time available per week in each plant for these new
products. Most of the time in these plants already is committed to current products
so the available capacity for the new products is quite limited.
2. Number of hours of production time used in each plant for each batch produced of
each new product.
3. Profit per batch produced of each new product. Profit per batch produced was cho-
sen as an appropriate measure after the team concluded that the incremental profit from
each additional batch produced would be roughly constant regardless of the total num-
ber of batches produced. Because no substantial costs will be incurred to initiate the
production and marketing of these new products the total profit from each one is ap-
proximately this profit per batch produced times the number of batches produced.
Obtaining reasonable estimates of these quantities required enlisting the help of key
personnel in various units of the company. Staff in the manufacturing division provided
the data in the first category above. Developing estimates for the second category of data
required some analysis by the manufacturing engineers involved in designing the pro-
duction processes for the new products. By analyzing cost data from these same engineers
and the marketing division along with a pricing decision from the marketing division the
accounting department developed estimates for the third category.
Table 3.1 summarizes the data gathered.
The OR team immediately recognized that this was a linear programming problem
of the classic product mix type and the team next undertook the formulation of the cor-
responding mathematical model.
Formulation as a Linear Programming Problem
To formulate the mathematical linear programming model for this problem let
x
1
number of batches of product 1 produced per week
x
2
number of batches of product 2 produced per week
Z total profit per week in thousands of dollars from producing these two products
Thus x
1
and x
2
are the decision variables for the model. Using the bottom row of Table
3.1 we obtain
Z 3x
1
5x
2
.
The objective is to choose the values of x
1
and x
2
so as to maximize Z 3x
1
5x
2
sub-
ject to the restrictions imposed on their values by the limited production capacities avail-
able in the three plants. Table 3.1 indicates that each batch of product 1 produced per
week uses 1 hour of production time per week in Plant 1 whereas only 4 hours per week
are available. This restriction is expressed mathematically by the inequality x
1
4. Simi-
larly Plant 2 imposes the restriction that 2x
2
12. The number of hours of production
26 3 INTRODUCTION TO LINEAR PROGRAMMING

slide 52:

time used per week in Plant 3 by choosing x
1
and x
2
as the new products’ production rates
would be 3x
1
2x
2
. Therefore the mathematical statement of the Plant 3 restriction is
3x
1
2x
2
18. Finally since production rates cannot be negative it is necessary to re-
strict the decision variables to be nonnegative: x
1
0 and x
2
0.
To summarize in the mathematical language of linear programming the problem is
to choose values of x
1
and x
2
so as to
Maximize Z 3x
1
5x
2
subject to the restrictions
3x
1
2x
2
4
3x
1
2x
2
12
3x
1
2x
2
18
and
x
1
0 x
2
0.
Notice how the layout of the coefficients of x
1
and x
2
in this linear programming model
essentially duplicates the information summarized in Table 3.1.
Graphical Solution
This very small problem has only two decision variables and therefore only two dimen-
sions so a graphical procedure can be used to solve it. This procedure involves con-
structing a two-dimensional graph with x
1
and x
2
as the axes. The first step is to identify
the values of x
1
x
2
that are permitted by the restrictions. This is done by drawing each
line that borders the range of permissible values for one restriction. To begin note that
the nonnegativity restrictions x
1
0 and x
2
0 require x
1
x
2
to lie on the positive side
of the axes including actually on either axis i.e. in the first quadrant. Next observe that
the restriction x
1
4 means that x
1
x
2
cannot lie to the right of the line x
1
4. These
results are shown in Fig. 3.1 where the shaded area contains the only values of x
1
x
2
that are still allowed.
In a similar fashion the restriction 2x
2
12 or equivalently x
2
6 implies that
the line 2x
2
12 should be added to the boundary of the permissible region. The final
restriction 3x
1
2x
2
18 requires plotting the points x
1
x
2
such that 3x
1
2x
2
18
3.1 PROTOTYPE EXAMPLE 27
TABLE 3.1 Data for the Wyndor Glass Co. problem
Production Time
per Batch Hours
Product
Production Time
Plant 1 2 Available per Week Hours
11 0 4
20 2 12
33 2 18
Profit per batch 3000 5000

slide 53:

another line to complete the boundary. Note that the points such that 3x
1
2x
2
18
are those that lie either underneath or on the line 3x
1
2x
2
18 so this is the limiting
line above which points do not satisfy the inequality. The resulting region of permissi-
ble values of x
1
x
2
called the feasible region is shown in Fig. 3.2. The demo called
Graphical Method in your OR Tutor provides a more detailed example of constructing a
feasible region.
28 3 INTRODUCTION TO LINEAR PROGRAMMING
0 1234567 x
1
x
2
1
2
3
4
5
2
4
6
8
10
x
2
2 4 6 8
x
1
3x
1
2x
2 18
2x
2 12
x
1 4
0
Feasible
region
FIGURE 3.1
Shaded area shows values of
x
1
x
2
allowed by x
1
0
x
2
0 x
1
4.
FIGURE 3.2
Shaded area shows the set of
permissible values of x
1
x
2
called the feasible region.

slide 54:

The final step is to pick out the point in this feasible region that maximizes the
value of Z 3x
1
5x
2
. To discover how to perform this step efficiently begin by trial
and error. Try for example Z 10 3x
1
5x
2
to see if there are in the permissible
region any values of x
1
x
2
that yield a value of Z as large as 10. By drawing the line
3x
1
5x
2
10 see Fig. 3.3 you can see that there are many points on this line that
lie within the region. Having gained perspective by trying this arbitrarily chosen value
of Z 10 you should next try a larger arbitrary value of Z say Z 20 3x
1
5x
2
.
Again Fig. 3.3 reveals that a segment of the line 3x
1
5x
2
20 lies within the region
so that the maximum permissible value of Z must be at least 20.
Now notice in Fig. 3.3 that the two lines just constructed are parallel. This is no co-
incidence since any line constructed in this way has the form Z 3x
1
5x
2
for the cho-
sen value of Z which implies that 5x
2
3x
1
Z or equivalently
x
2
3
5
x
1
1
5
Z
This last equation called the slope-intercept form of the objective function demonstrates
that the slope of the line is 3
5
since each unit increase in x
1
changes x
2
by 3
5
whereas
the intercept of the line with the x
2
axis is
1
5
Z since x
2
1
5
Z when x
1
0. The fact that
the slope is fixed at 3
5
means that all lines constructed in this way are parallel.
Again comparing the 10 3x
1
5x
2
and 20 3x
1
5x
2
lines in Fig. 3.3 we note
that the line giving a larger value of Z Z 20 is farther up and away from the origin
than the other line Z 10. This fact also is implied by the slope-intercept form of the
objective function which indicates that the intercept with the x
1
axis
1
5
Z increases when
the value chosen for Z is increased.
3.1 PROTOTYPE EXAMPLE 29
FIGURE 3.3
The value of x
1
x
2
that
maximizes 3x
1
5x
2
is 2 6.
2
4
6
8
x
2
68
x
1
0 10
Z 36 3x
1
5x
2
Z 20 3x
1
5x
2
Z 10 3x
1
5x
2
24
x
1
2 6

slide 55:

These observations imply that our trial-and-error procedure for constructing lines in Fig.
3.3 involves nothing more than drawing a family of parallel lines containing at least one point
in the feasible region and selecting the line that corresponds to the largest value of Z. Figure
3.3 shows that this line passes through the point 2 6 indicating that the optimal solution
is x
1
2 and x
2
6. The equation of this line is 3x
1
5x
2
32 56 36 Z indi-
cating that the optimal value of Z is Z 36. The point 2 6 lies at the intersection of the
two lines 2x
2
12 and 3x
1
2x
2
18 shown in Fig. 3.2 so that this point can be calcu-
lated algebraically as the simultaneous solution of these two equations.
Having seen the trial-and-error procedure for finding the optimal point 2 6 you
now can streamline this approach for other problems. Rather than draw several parallel
lines it is sufficient to form a single line with a ruler to establish the slope. Then move
the ruler with fixed slope through the feasible region in the direction of improving Z.
When the objective is to minimize Z move the ruler in the direction that decreases Z.
Stop moving the ruler at the last instant that it still passes through a point in this region.
This point is the desired optimal solution.
This procedure often is referred to as the graphical method for linear programming. It
can be used to solve any linear programming problem with two decision variables. With con-
siderable difficulty it is possible to extend the method to three decision variables but not more
than three. The next chapter will focus on the simplex method for solving larger problems.
Conclusions
The OR team used this approach to find that the optimal solution is x
1
2 x
2
6 with
Z 36. This solution indicates that the Wyndor Glass Co. should produce products 1 and
2 at the rate of 2 batches per week and 6 batches per week respectively with a resulting
total profit of 36000 per week. No other mix of the two products would be so prof-
itable—according to the model.
However we emphasized in Chap. 2 that well-conducted OR studies do not simply
find one solution for the initial model formulated and then stop. All six phases described
in Chap. 2 are important including thorough testing of the model see Sec. 2.4 and postop-
timality analysis see Sec. 2.3.
In full recognition of these practical realities the OR team now is ready to evaluate
the validity of the model more critically to be continued in Sec. 3.3 and to perform sen-
sitivity analysis on the effect of the estimates in Table 3.1 being different because of in-
accurate estimation changes of circumstances etc. to be continued in Sec. 6.7.
Continuing the Learning Process with Your OR Courseware
This is the first of many points in the book where you may find it helpful to use your OR
Courseware in the CD-ROM that accompanies this book. A key part of this courseware
is a program called OR Tutor. This program includes a complete demonstration example
of the graphical method introduced in this section. Like the many other demonstration ex-
amples accompanying other sections of the book this computer demonstration highlights
concepts that are difficult to convey on the printed page. You may refer to Appendix 1 for
documentation of the software.
When you formulate a linear programming model with more than two decision vari-
ables so the graphical method cannot be used the simplex method described in Chap. 4
30 3 INTRODUCTION TO LINEAR PROGRAMMING

slide 56:

enables you to still find an optimal solution immediately. Doing so also is helpful for
model validation since finding a nonsensical optimal solution signals that you have made
a mistake in formulating the model.
We mentioned in Sec. 1.4 that your OR Courseware introduces you to three particu-
larly popular commercial software packages—the Excel Solver LINGO/LINDO and
MPL/CPLEX—for solving a variety of OR models. All three packages include the sim-
plex method for solving linear programming models. Section 3.6 describes how to use
Excel to formulate and solve linear programming models in a spreadsheet format. De-
scriptions of the other packages are provided in Sec. 3.7 MPL and LINGO Appendix
3.1 LINGO Sec. 4.8 CPLEX and LINDO and Appendix 4.1 LINDO. In addition
your OR Courseware includes a file for each of the three packages showing how it can
be used to solve each of the examples in this chapter.
3.2 THE LINEAR PROGRAMMING MODEL 31
The Wyndor Glass Co. problem is intended to illustrate a typical linear programming prob-
lem miniature version. However linear programming is too versatile to be completely
characterized by a single example. In this section we discuss the general characteristics
of linear programming problems including the various legitimate forms of the mathe-
matical model for linear programming.
Let us begin with some basic terminology and notation. The first column of Table 3.2
summarizes the components of the Wyndor Glass Co. problem. The second column then
introduces more general terms for these same components that will fit many linear pro-
gramming problems. The key terms are resources and activities where m denotes the num-
ber of different kinds of resources that can be used and n denotes the number of activi-
ties being considered. Some typical resources are money and particular kinds of machines
equipment vehicles and personnel. Examples of activities include investing in particular
projects advertising in particular media and shipping goods from a particular source to
a particular destination. In any application of linear programming all the activities may
be of one general kind such as any one of these three examples and then the individ-
ual activities would be particular alternatives within this general category.
As described in the introduction to this chapter the most common type of applica-
tion of linear programming involves allocating resources to activities. The amount avail-
able of each resource is limited so a careful allocation of resources to activities must be
made. Determining this allocation involves choosing the levels of the activities that achieve
the best possible value of the overall measure of performance.
3.2 THE LINEAR PROGRAMMING MODEL
TABLE 3.2 Common terminology for linear programming
Prototype Example General Problem
Production capacities of plants Resources
3 plants m resources
Production of products Activities
2 products n activities
Production rate of product j x
j
Level of activity j x
j
Profit Z Overall measure of performance Z

slide 57:

Certain symbols are commonly used to denote the various components of a linear
programming model. These symbols are listed below along with their interpretation for
the general problem of allocating resources to activities.
Z value of overall measure of performance.
x
j
level of activity j for j 1 2 . . . n.
c
j
increase in Z that would result from each unit increase in level of activity j.
b
i
amount of resource i that is available for allocation to activities for i 1 2 . . . m.
a
ij
amount of resource i consumed by each unit of activity j.
The model poses the problem in terms of making decisions about the levels of the activ-
ities so x
1
x
2
. . . x
n
are called the decision variables. As summarized in Table 3.3 the
values of c
j
b
i
and a
ij
for i 1 2 . . . m and j 1 2 . . . n are the input constants
for the model. The c
j
b
i
and a
ij
are also referred to as the parameters of the model.
Notice the correspondence between Table 3.3 and Table 3.1.
A Standard Form of the Model
Proceeding as for the Wyndor Glass Co. problem we can now formulate the mathemati-
cal model for this general problem of allocating resources to activities. In particular this
model is to select the values for x
1
x
2
. . . x
n
so as to
Maximize Z c
1
x
1
c
2
x
2
c
n
x
n
subject to the restrictions
a
11
x
1
a
12
x
2
a
1n
x
n
b
1
a
21
x
1
a
22
x
2
a
2n
x
n
b
2
a
m1
x
1
a
m2
x
2
a
mn
x
n
b
m
32 3 INTRODUCTION TO LINEAR PROGRAMMING
TABLE 3.3 Data needed for a linear programming model involving the allocation
of resources to activities
Resource Usage per Unit of Activity
Activity
Amount of
Resource 1 2 . . . n Resource Available
1 a
11
a
12
. . . a
1n
b
1
2 a
21
a
22
. . . a
2n
b
2
. .
. . . . . . . . . . . . . .
. .
ma
m1
a
m2
. . . a
mn
b
m
Contribution to Z per c
1
c
2
. . . c
n
unit of activity

slide 58:

and
x
1
0 x
2
0 . . . x
n
0.
We call this our standard form
1
for the linear programming problem. Any situation whose
mathematical formulation fits this model is a linear programming problem.
Notice that the model for the Wyndor Glass Co. problem fits our standard form with
m 3 and n 2.
Common terminology for the linear programming model can now be summarized.
The function being maximized c
1
x
1
c
2
x
2
c
n
x
n
is called the objective func-
tion. The restrictions normally are referred to as constraints. The first m constraints those
with a function of all the variables a
i1
x
1
a
i2
x
2
a
in
x
n
on the left-hand side are
sometimes called functional constraints or structural constraints. Similarly the x
j
0
restrictions are called nonnegativity constraints or nonnegativity conditions.
Other Forms
We now hasten to add that the preceding model does not actually fit the natural form of
some linear programming problems. The other legitimate forms are the following:
1. Minimizing rather than maximizing the objective function:
Minimize Z c
1
x
1
c
2
x
2
c
n
x
n
.
2. Some functional constraints with a greater-than-or-equal-to inequality:
a
i1
x
1
a
i2
x
2
a
in
x
n
b
i
for some values of i.
3. Some functional constraints in equation form:
a
i1
x
1
a
i2
x
2
a
in
x
n
b
i
for some values of i.
4. Deleting the nonnegativity constraints for some decision variables:
x
j
unrestricted in sign for some values of j.
Any problem that mixes some of or all these forms with the remaining parts of the pre-
ceding model is still a linear programming problem. Our interpretation of the words al-
locating limited resources among competing activities may no longer apply very well if
at all but regardless of the interpretation or context all that is required is that the math-
ematical statement of the problem fit the allowable forms.
Terminology for Solutions of the Model
You may be used to having the term solution mean the final answer to a problem but the
convention in linear programming and its extensions is quite different. Here any spec-
ification of values for the decision variables x
1
x
2
. . . x
n
is called a solution regard-
less of whether it is a desirable or even an allowable choice. Different types of solutions
are then identified by using an appropriate adjective.
3.2 THE LINEAR PROGRAMMING MODEL 33
1
This is called our standard form rather than the standard form because some textbooks adopt other forms.

slide 59:

A feasible solution is a solution for which all the constraints are satisfied.
An infeasible solution is a solution for which at least one constraint is violated.
In the example the points 2 3 and 4 1 in Fig. 3.2 are feasible solutions while the
points 1 3 and 4 4 are infeasible solutions.
The feasible region is the collection of all feasible solutions.
The feasible region in the example is the entire shaded area in Fig. 3.2.
It is possible for a problem to have no feasible solutions. This would have happened
in the example if the new products had been required to return a net profit of at least
50000 per week to justify discontinuing part of the current product line. The corre-
sponding constraint 3x
1
5x
2
50 would eliminate the entire feasible region so no mix
of new products would be superior to the status quo. This case is illustrated in Fig. 3.4.
Given that there are feasible solutions the goal of linear programming is to find a
best feasible solution as measured by the value of the objective function in the model.
An optimal solution is a feasible solution that has the most favorable value of
the objective function.
The most favorable value is the largest value if the objective function is to be maximized
whereas it is the smallest value if the objective function is to be minimized.
Most problems will have just one optimal solution. However it is possible to have more
than one. This would occur in the example if the profit per batch produced of product 2 were
changed to 2000. This changes the objective function to Z 3x
1
2x
2
so that all the points
34 3 INTRODUCTION TO LINEAR PROGRAMMING
2
4
6
8
x
2
246 8 x
1
0 10
10
3x
1
5x
2
50
2x
2
12
3x
1
2x
2
18
x
1
0
x
2
0
x
1
4
Maximize Z 3x
1
5x
2
subject to x
1
4
12
18
50
2x
2
2x
2
5x
2
3x
1
3x
1
x
1
0 x
2
0 and
FIGURE 3.4
The Wyndor Glass Co.
problem would have no
feasible solutions if the
constraint 3x
1
5x
2
50
were added to the problem.

slide 60:

on the line segment connecting 2 6 and 4 3 would be optimal. This case is illustrated in
Fig. 3.5. As in this case any problem having multiple optimal solutions will have an infi-
nite number of them each with the same optimal value of the objective function.
Another possibility is that a problem has no optimal solutions. This occurs only if
1 it has no feasible solutions or 2 the constraints do not prevent improving the value
of the objective function Z indefinitely in the favorable direction positive or negative.
The latter case is referred to as having an unbounded Z. To illustrate this case would re-
sult if the last two functional constraints were mistakenly deleted in the example as il-
lustrated in Fig. 3.6.
We next introduce a special type of feasible solution that plays the key role when the
simplex method searches for an optimal solution.
A corner-point feasible CPF solution is a solution that lies at a corner of the
feasible region.
Figure 3.7 highlights the five CPF solutions for the example.
Sections 4.1 and 5.1 will delve into the various useful properties of CPF solutions for
problems of any size including the following relationship with optimal solutions.
Relationship between optimal solutions and CPF solutions: Consider any linear pro-
gramming problem with feasible solutions and a bounded feasible region. The problem
must possess CPF solutions and at least one optimal solution. Furthermore the best CPF
solution must be an optimal solution. Thus if a problem has exactly one optimal solution
it must be a CPF solution. If the problem has multiple optimal solutions at least two must
be CPF solutions.
3.2 THE LINEAR PROGRAMMING MODEL 35
FIGURE 3.5
The Wyndor Glass Co.
problem would have multiple
optimal solutions if the
objective function were
changed to Z 3x
1
2x
2
.

slide 61:

36 3 INTRODUCTION TO LINEAR PROGRAMMING
2
4
6
8
x
2
246 8 x
1
0 10
Maximize Z 3x
1
5x
2
subject to
and
x
1
4
x
1
0
x
2
0
10
4 2 Z 22
4 4 Z 32
4 6 Z 42
4 8 Z 52
4 10 Z 62
4 Z Feasible
region
FIGURE 3.6
The Wyndor Glass Co.
problem would have no
optimal solutions if the only
functional constraint were
x
1
4 because x
2
then
could be increased
indefinitely in the feasible
region without ever reaching
the maximum value of
Z 3x
1
5x
2
.
All the assumptions of linear programming actually are implicit in the model formulation
given in Sec. 3.2. However it is good to highlight these assumptions so you can more
easily evaluate how well linear programming applies to any given problem. Furthermore
we still need to see why the OR team for the Wyndor Glass Co. concluded that a linear
programming formulation provided a satisfactory representation of the problem.
Proportionality
Proportionality is an assumption about both the objective function and the functional con-
straints as summarized below.
Proportionality assumption: The contribution of each activity to the value of
the objective function Z is proportional to the level of the activity x
j
as repre-
sented by the c
j
x
j
term in the objective function. Similarly the contribution of
each activity to the left-hand side of each functional constraint is proportional
to the level of the activity x
j
as represented by the a
ij
x
j
term in the constraint.
3.3 ASSUMPTIONS OF LINEAR PROGRAMMING
The example has exactly one optimal solution x
1
x
2
2 6 which is a CPF so-
lution. Think about how the graphical method leads to the one optimal solution being a
CPF solution. When the example is modified to yield multiple optimal solutions as shown
in Fig. 3.5 two of these optimal solutions—2 6 and 4 3—are CPF solutions.

slide 62:

3.3 ASSUMPTIONS OF LINEAR PROGRAMMING 37
0 6 2 6
x
2
4 0
4 3
x
1
Feasible
region
0 0
FIGURE 3.7
The five dots are the five CPF
solutions for the Wyndor
Glass Co. problem.
1
When the function includes any cross-product terms proportionality should be interpreted to mean that changes
in the function value are proportional to changes in each variable x
j
individually given any fixed values for
all the other variables. Therefore a cross-product term satisfies proportionality as long as each variable in the
term has an exponent of 1. However any cross-product term violates the additivity assumption discussed next.
TABLE 3.4 Examples of satisfying or violating proportionality
Profit from Product 1 000 per Week
Proportionality Violated
Proportionality
x
1
Satisfied Case 1 Case 2 Case 3
00 0 0 0
13 2 3 3
26 5 7 5
39 8 12 6
412 11 18 6
Consequently this assumption rules out any exponent other than 1 for any vari-
able in any term of any function whether the objective function or the function
on the left-hand side of a functional constraint in a linear programming model.
1
To illustrate this assumption consider the first term 3x
1
in the objective function
Z 3x
1
5x
2
for the Wyndor Glass Co. problem. This term represents the profit gen-
erated per week in thousands of dollars by producing product 1 at the rate of x
1
batches
per week. The proportionality satisfied column of Table 3.4 shows the case that was as-
sumed in Sec. 3.1 namely that this profit is indeed proportional to x
1
so that 3x
1
is the
appropriate term for the objective function. By contrast the next three columns show dif-
ferent hypothetical cases where the proportionality assumption would be violated.
Refer first to the Case 1 column in Table 3.4. This case would arise if there were
start-up costs associated with initiating the production of product 1. For example there

slide 63:

might be costs involved with setting up the production facilities. There might also be costs
associated with arranging the distribution of the new product. Because these are one-time
costs they would need to be amortized on a per-week basis to be commensurable with Z
profit in thousands of dollars per week. Suppose that this amortization were done and
that the total start-up cost amounted to reducing Z by 1 but that the profit without con-
sidering the start-up cost would be 3x
1
. This would mean that the contribution from prod-
uct 1 to Z should be 3x
1
1 for x
1
0 whereas the contribution would be 3x
1
0 when
x
1
0 no start-up cost. This profit function
1
which is given by the solid curve in Fig.
3.8 certainly is not proportional to x
1
.
At first glance it might appear that Case 2 in Table 3.4 is quite similar to Case 1.
However Case 2 actually arises in a very different way. There no longer is a start-up cost
and the profit from the first unit of product 1 per week is indeed 3 as originally assumed.
However there now is an increasing marginal return i.e. the slope of the profit function
for product 1 see the solid curve in Fig. 3.9 keeps increasing as x
1
is increased. This vi-
olation of proportionality might occur because of economies of scale that can sometimes
be achieved at higher levels of production e.g. through the use of more efficient high-
volume machinery longer production runs quantity discounts for large purchases of raw
materials and the learning-curve effect whereby workers become more efficient as they
gain experience with a particular mode of production. As the incremental cost goes down
the incremental profit will go up assuming constant marginal revenue.
38 3 INTRODUCTION TO LINEAR PROGRAMMING
x
1
0
12 3 4
Start-up cost
3
3
6
9
Satisfies
proportionality
assumption
Violates
proportionality
assumption
12
Contribution
of x
1
to Z
FIGURE 3.8
The solid curve violates the
proportionality assumption
because of the start-up cost
that is incurred when x
1
is
increased from 0. The values
at the dots are given by the
Case 1 column of Table 3.4.
1
If the contribution from product 1 to Z were 3x
1
1 for all x
1
0 including x
1
0 then the fixed constant
1 could be deleted from the objective function without changing the optimal solution and proportionality
would be restored. However this “fix” does not work here because the 1 constant does not apply when
x
1
0.

slide 64:

Referring again to Table 3.4 the reverse of Case 2 is Case 3 where there is a decreas-
ing marginal return. In this case the slope of the profit function for product 1 given by the
solid curve in Fig. 3.10 keeps decreasing as x
1
is increased. This violation of proportional-
ity might occur because the marketing costs need to go up more than proportionally to attain
increases in the level of sales. For example it might be possible to sell product 1 at the rate
of 1 per week x
1
1 with no advertising whereas attaining sales to sustain a production
rate of x
1
2 might require a moderate amount of advertising x
1
3 might necessitate an
extensive advertising campaign and x
1
4 might require also lowering the price.
All three cases are hypothetical examples of ways in which the proportionality as-
sumption could be violated. What is the actual situation The actual profit from produc-
3.3 ASSUMPTIONS OF LINEAR PROGRAMMING 39
0 1 2 34 x
1
3
6
9
12
15
18
Contribution
of x
1
to Z
Violates
proportionality
assumption
Satisfies
proportionality
assumption
FIGURE 3.9
The solid curve violates the
proportionality assumption
because its slope the
marginal return from
product 1 keeps increasing
as x
1
is increased. The values
at the dots are given by the
Case 2 column of Table 3.4.
0 1 2 34 x
1
3
6
9
12
Contribution
of x
1
to Z
Violates
proportionality
assumption
Satisfies
proportionality
assumption
FIGURE 3.10
The solid curve violates the
proportionality assumption
because its slope the
marginal return from
product 1 keeps decreasing
as x
1
is increased. The values
at the dots are given by the
Case 3 column in Table 3.4.

slide 65:

ing product 1 or any other product is derived from the sales revenue minus various di-
rect and indirect costs. Inevitably some of these cost components are not strictly propor-
tional to the production rate perhaps for one of the reasons illustrated above. However
the real question is whether after all the components of profit have been accumulated
proportionality is a reasonable approximation for practical modeling purposes. For the
Wyndor Glass Co. problem the OR team checked both the objective function and the
functional constraints. The conclusion was that proportionality could indeed be assumed
without serious distortion.
For other problems what happens when the proportionality assumption does not hold
even as a reasonable approximation In most cases this means you must use nonlinear
programming instead presented in Chap. 13. However we do point out in Sec. 13.8 that
a certain important kind of nonproportionality can still be handled by linear programming
by reformulating the problem appropriately. Furthermore if the assumption is violated
only because of start-up costs there is an extension of linear programming mixed inte-
ger programming that can be used as discussed in Sec. 12.3 the fixed-charge problem.
Additivity
Although the proportionality assumption rules out exponents other than 1 it does not pro-
hibit cross-product terms terms involving the product of two or more variables. The ad-
ditivity assumption does rule out this latter possibility as summarized below.
Additivity assumption: Every function in a linear programming model whether
the objective function or the function on the left-hand side of a functional con-
straint is the sum of the individual contributions of the respective activities.
To make this definition more concrete and clarify why we need to worry about this
assumption let us look at some examples. Table 3.5 shows some possible cases for the ob-
jective function for the Wyndor Glass Co. problem. In each case the individual contribu-
tions from the products are just as assumed in Sec. 3.1 namely 3x
1
for product 1 and 5x
2
for product 2. The difference lies in the last row which gives the function value for Z when
the two products are produced jointly. The additivity satisfied column shows the case where
this function value is obtained simply by adding the first two rows 3 5 8 so that
Z 3x
1
5x
2
as previously assumed. By contrast the next two columns show hypothet-
ical cases where the additivity assumption would be violated but not the proportionality
assumption.
40 3 INTRODUCTION TO LINEAR PROGRAMMING
TABLE 3.5 Examples of satisfying or violating additivity for the objective function
Value of Z
Additivity Violated
x
1
x
2
Additivity Satisfied Case 1 Case 2
1 0 3 3 3
0 1 5 5 5
1 1 8 9 7

slide 66:

Referring to the Case 1 column of Table 3.5 this case corresponds to an objective
function of Z 3x
1
5x
2
x
1
x
2
so that Z 3 5 1 9 for x
1
x
2
1 1 thereby
violating the additivity assumption that Z 3 5. The proportionality assumption still
is satisfied since after the value of one variable is fixed the increment in Z from the other
variable is proportional to the value of that variable. This case would arise if the two
products were complementary in some way that increases profit. For example suppose
that a major advertising campaign would be required to market either new product pro-
duced by itself but that the same single campaign can effectively promote both products
if the decision is made to produce both. Because a major cost is saved for the second
product their joint profit is somewhat more than the sum of their individual profits when
each is produced by itself.
Case 2 in Table 3.5 also violates the additivity assumption because of the extra term
in the corresponding objective function Z 3x
1
5x
2
x
1
x
2
so that Z 3 5 1 7
for x
1
x
2
1 1. As the reverse of the first case Case 2 would arise if the two prod-
ucts were competitive in some way that decreased their joint profit. For example suppose
that both products need to use the same machinery and equipment. If either product were
produced by itself this machinery and equipment would be dedicated to this one use.
However producing both products would require switching the production processes back
and forth with substantial time and cost involved in temporarily shutting down the pro-
duction of one product and setting up for the other. Because of this major extra cost their
joint profit is somewhat less than the sum of their individual profits when each is pro-
duced by itself.
The same kinds of interaction between activities can affect the additivity of the con-
straint functions. For example consider the third functional constraint of the Wyndor Glass
Co. problem: 3x
1
2x
2
18. This is the only constraint involving both products. This
constraint concerns the production capacity of Plant 3 where 18 hours of production time
per week is available for the two new products and the function on the left-hand side
3x
1
2x
2
represents the number of hours of production time per week that would be
used by these products. The additivity satisfied column of Table 3.6 shows this case as is
whereas the next two columns display cases where the function has an extra cross-
product term that violates additivity. For all three columns the individual contributions
from the products toward using the capacity of Plant 3 are just as assumed previously
namely 3x
1
for product 1 and 2x
2
for product 2 or 32 6 for x
1
2 and 23 6 for
3.3 ASSUMPTIONS OF LINEAR PROGRAMMING 41
TABLE 3.6 Examples of satisfying or violating additivity
for a functional constraint
Amount of Resource Used
Additivity Violated
x
1
x
2
Additivity Satisfied Case 3 Case 4
2 0 6 6 6
0 3 6 6 6
2 3 12 15 10.8

slide 67:

x
2
3. As was true for Table 3.5 the difference lies in the last row which now gives the
total function value for production time used when the two products are produced jointly.
For Case 3 see Table 3.6 the production time used by the two products is given by
the function 3x
1
2x
2
0.5x
1
x
2
so the total function value is 6 6 3 15 when
x
1
x
2
2 3 which violates the additivity assumption that the value is just 6 6 12.
This case can arise in exactly the same way as described for Case 2 in Table 3.5 namely
extra time is wasted switching the production processes back and forth between the two
products. The extra cross-product term 0.5x
1
x
2
would give the production time wasted
in this way. Note that wasting time switching between products leads to a positive cross-
product term here where the total function is measuring production time used whereas
it led to a negative cross-product term for Case 2 because the total function there mea-
sures profit.
For Case 4 in Table 3.6 the function for production time used is 3x
1
2x
2
0.1x
1
2
x
2
so the function value for x
1
x
2
2 3 is 6 6 1.2 10.8. This case could arise in
the following way. As in Case 3 suppose that the two products require the same type of
machinery and equipment. But suppose now that the time required to switch from one
product to the other would be relatively small. Because each product goes through a se-
quence of production operations individual production facilities normally dedicated to
that product would incur occasional idle periods. During these otherwise idle periods
these facilities can be used by the other product. Consequently the total production time
used including idle periods when the two products are produced jointly would be less
than the sum of the production times used by the individual products when each is pro-
duced by itself.
After analyzing the possible kinds of interaction between the two products illustrated
by these four cases the OR team concluded that none played a major role in the actual
Wyndor Glass Co. problem. Therefore the additivity assumption was adopted as a rea-
sonable approximation.
For other problems if additivity is not a reasonable assumption so that some of or
all the mathematical functions of the model need to be nonlinear because of the cross-
product terms you definitely enter the realm of nonlinear programming Chap. 13.
Divisibility
Our next assumption concerns the values allowed for the decision variables.
Divisibility assumption: Decision variables in a linear programming model are
allowed to have any values including noninteger values that satisfy the func-
tional and nonnegativity constraints. Thus these variables are not restricted to
just integer values. Since each decision variable represents the level of some ac-
tivity it is being assumed that the activities can be run at fractional levels.
For the Wyndor Glass Co. problem the decision variables represent production rates
the number of batches of a product produced per week. Since these production rates can
have any fractional values within the feasible region the divisibility assumption does hold.
In certain situations the divisibility assumption does not hold because some of or all
the decision variables must be restricted to integer values. Mathematical models with this
restriction are called integer programming models and they are discussed in Chap. 12.
42 3 INTRODUCTION TO LINEAR PROGRAMMING

slide 68:

Certainty
Our last assumption concerns the parameters of the model namely the coefficients in the
objective function c
j
the coefficients in the functional constraints a
ij
and the right-hand
sides of the functional constraints b
i
.
Certainty assumption: The value assigned to each parameter of a linear pro-
gramming model is assumed to be a known constant.
In real applications the certainty assumption is seldom satisfied precisely. Linear pro-
gramming models usually are formulated to select some future course of action. There-
fore the parameter values used would be based on a prediction of future conditions which
inevitably introduces some degree of uncertainty.
For this reason it is usually important to conduct sensitivity analysis after a solution
is found that is optimal under the assumed parameter values. As discussed in Sec. 2.3
one purpose is to identify the sensitive parameters those whose value cannot be changed
without changing the optimal solution since any later change in the value of a sensitive
parameter immediately signals a need to change the solution being used.
Sensitivity analysis plays an important role in the analysis of the Wyndor Glass Co.
problem as you will see in Sec. 6.7. However it is necessary to acquire some more back-
ground before we finish that story.
Occasionally the degree of uncertainty in the parameters is too great to be amenable
to sensitivity analysis. In this case it is necessary to treat the parameters explicitly as ran-
dom variables. Formulations of this kind have been developed as discussed in Secs. 23.6
and 23.7 on the book’s web site w www.mhhe.com/hillier.
The Assumptions in Perspective
We emphasized in Sec. 2.2 that a mathematical model is intended to be only an idealized
representation of the real problem. Approximations and simplifying assumptions gener-
ally are required in order for the model to be tractable. Adding too much detail and pre-
cision can make the model too unwieldy for useful analysis of the problem. All that is re-
ally needed is that there be a reasonably high correlation between the prediction of the
model and what would actually happen in the real problem.
This advice certainly is applicable to linear programming. It is very common in real
applications of linear programming that almost none of the four assumptions hold com-
pletely. Except perhaps for the divisibility assumption minor disparities are to be expected.
This is especially true for the certainty assumption so sensitivity analysis normally is a
must to compensate for the violation of this assumption.
However it is important for the OR team to examine the four assumptions for the
problem under study and to analyze just how large the disparities are. If any of the as-
sumptions are violated in a major way then a number of useful alternative models are
available as presented in later chapters of the book. A disadvantage of these other mod-
els is that the algorithms available for solving them are not nearly as powerful as those
for linear programming but this gap has been closing in some cases. For some applica-
tions the powerful linear programming approach is used for the initial analysis and then
a more complicated model is used to refine this analysis.
3.3 ASSUMPTIONS OF LINEAR PROGRAMMING 43

slide 69:

As you work through the examples in the next section you will find it good practice
to analyze how well each of the four assumptions of linear programming applies.
44 3 INTRODUCTION TO LINEAR PROGRAMMING
The Wyndor Glass Co. problem is a prototype example of linear programming in several
respects: It involves allocating limited resources among competing activities its model
fits our standard form and its context is the traditional one of improved business plan-
ning. However the applicability of linear programming is much wider. In this section we
begin broadening our horizons. As you study the following examples note that it is their
underlying mathematical model rather than their context that characterizes them as linear
programming problems. Then give some thought to how the same mathematical model
could arise in many other contexts by merely changing the names of the activities and so
forth.
These examples are scaled-down versions of actual applications including two that
are included in the case studies presented in the next section.
Design of Radiation Therapy
MARY has just been diagnosed as having a cancer at a fairly advanced stage. Specifi-
cally she has a large malignant tumor in the bladder area a “whole bladder lesion”.
Mary is to receive the most advanced medical care available to give her every possi-
ble chance for survival. This care will include extensive radiation therapy.
Radiation therapy involves using an external beam treatment machine to pass ioniz-
ing radiation through the patient’s body damaging both cancerous and healthy tissues.
Normally several beams are precisely administered from different angles in a two-
dimensional plane. Due to attenuation each beam delivers more radiation to the tissue
near the entry point than to the tissue near the exit point. Scatter also causes some deliv-
ery of radiation to tissue outside the direct path of the beam. Because tumor cells are typ-
ically microscopically interspersed among healthy cells the radiation dosage throughout
the tumor region must be large enough to kill the malignant cells which are slightly more
radiosensitive yet small enough to spare the healthy cells. At the same time the aggre-
gate dose to critical tissues must not exceed established tolerance levels in order to pre-
vent complications that can be more serious than the disease itself. For the same reason
the total dose to the entire healthy anatomy must be minimized.
Because of the need to carefully balance all these factors the design of radiation ther-
apy is a very delicate process. The goal of the design is to select the combination of beams
to be used and the intensity of each one to generate the best possible dose distribution.
The dose strength at any point in the body is measured in units called kilorads. Once
the treatment design has been developed it is administered in many installments spread
over several weeks.
In Mary’s case the size and location of her tumor make the design of her treatment
an even more delicate process than usual. Figure 3.11 shows a diagram of a cross section
of the tumor viewed from above as well as nearby critical tissues to avoid. These tissues
include critical organs e.g. the rectum as well as bony structures e.g. the femurs and
pelvis that will attenuate the radiation. Also shown are the entry point and direction for
the only two beams that can be used with any modicum of safety in this case. Actually
3.4 ADDITIONAL EXAMPLES
Beam 2
Beam 1
1
2
3 3
1. Bladder and
tumor
2. Rectum coccyx
etc.
3. Femur part of
pelvis etc.
FIGURE 3.11
Cross section of Mary’s
tumor viewed from above
nearby critical tissues and
the radiation beams being
used.

slide 70:

we are simplifying the example at this point because normally dozens of possible beams
must be considered.
For any proposed beam of given intensity the analysis of what the resulting radia-
tion absorption by various parts of the body would be requires a complicated process. In
brief based on careful anatomical analysis the energy distribution within the two-
dimensional cross section of the tissue can be plotted on an isodose map where the con-
tour lines represent the dose strength as a percentage of the dose strength at the entry
point. A fine grid then is placed over the isodose map. By summing the radiation absorbed
in the squares containing each type of tissue the average dose that is absorbed by the tu-
mor healthy anatomy and critical tissues can be calculated. With more than one beam
administered sequentially the radiation absorption is additive.
After thorough analysis of this type the medical team has carefully estimated the data
needed to design Mary’s treatment as summarized in Table 3.7. The first column lists the
areas of the body that must be considered and then the next two columns give the frac-
tion of the radiation dose at the entry point for each beam that is absorbed by the re-
spective areas on average. For example if the dose level at the entry point for beam 1 is
1 kilorad then an average of 0.4 kilorad will be absorbed by the entire healthy anatomy
in the two-dimensional plane an average of 0.3 kilorad will be absorbed by nearby crit-
ical tissues an average of 0.5 kilorad will be absorbed by the various parts of the tumor
and 0.6 kilorad will be absorbed by the center of the tumor. The last column gives the re-
strictions on the total dosage from both beams that is absorbed on average by the re-
spective areas of the body. In particular the average dosage absorption for the healthy
anatomy must be as small as possible the critical tissues must not exceed 2.7 kilorads
the average over the entire tumor must equal 6 kilorads and the center of the tumor must
be at least 6 kilorads.
Formulation as a Linear Programming Problem. The two decision variables x
1
and x
2
represent the dose in kilorads at the entry point for beam 1 and beam 2 respec-
tively. Because the total dosage reaching the healthy anatomy is to be minimized let Z
denote this quantity. The data from Table 3.7 can then be used directly to formulate the
following linear programming model.
1
3.4 ADDITIONAL EXAMPLES 45
TABLE 3.7 Data for the design of Mary’s radiation therapy
Fraction of Entry Dose
Absorbed by
Area Average
Restriction on Total Average
Area Beam 1 Beam 2 Dosage Kilorads
Healthy anatomy 0.4 0.5 Minimize
Critical tissues 0.3 0.1 2.7
Tumor region 0.5 0.5 6
Center of tumor 0.6 0.4 6
1
Actually Table 3.7 simplifies the real situation so the real model would be somewhat more complicated than
this one and would have dozens of variables and constraints. For details about the general situation see D. Son-
derman and P. G. Abrahamson “Radiotherapy Treatment Design Using Mathematical Programming Models”
Operations Research 33:705–725 1985 and its ref. 1.

slide 71:

Minimize Z 0.4x
1
0.5x
2
subject to
0.3x
1
0.1x
2
2.7
0.5x
1
0.5x
2
6
0.6x
1
0.4x
2
6
and
x
1
0 x
2
0.
Notice the differences between this model and the one in Sec. 3.1 for the Wyndor
Glass Co. problem. The latter model involved maximizing Z and all the functional con-
straints were in form. This new model does not fit this same standard form but it does
incorporate three other legitimate forms described in Sec. 3.2 namely minimizing Z func-
tional constraints in form and functional constraints in form.
However both models have only two variables so this new problem also can be solved
by the graphical method illustrated in Sec. 3.1. Figure 3.12 shows the graphical solution.
The feasible region consists of just the dark line segment between 6 6 and 7.5 4.5
because the points on this segment are the only ones that simultaneously satisfy all the
constraints. Note that the equality constraint limits the feasible region to the line con-
taining this line segment and then the other two functional constraints determine the two
endpoints of the line segment. The dashed line is the objective function line that passes
through the optimal solution x
1
x
2
7.5 4.5 with Z 5.25. This solution is optimal
rather than the point 6 6 because decreasing Z for positive values of Z pushes the ob-
jective function line toward the origin where Z 0. And Z 5.25 for 7.5 4.5 is less
than Z 5.4 for 6 6.
Thus the optimal design is to use a total dose at the entry point of 7.5 kilorads for
beam 1 and 4.5 kilorads for beam 2.
Regional Planning
The SOUTHERN CONFEDERATION OF KIBBUTZIM is a group of three kibbutzim
communal farming communities in Israel. Overall planning for this group is done in its
Coordinating Technical Office. This office currently is planning agricultural production
for the coming year.
The agricultural output of each kibbutz is limited by both the amount of available ir-
rigable land and the quantity of water allocated for irrigation by the Water Commissioner
a national government official. These data are given in Table 3.8.
46 3 INTRODUCTION TO LINEAR PROGRAMMING
TABLE 3.8 Resource data for the Southern Confederation of Kibbutzim
Kibbutz Usable Land Acres Water Allocation Acre Feet
1 400 600
2 600 800
3 300 375

slide 72:

The crops suited for this region include sugar beets cotton and sorghum and these
are the three being considered for the upcoming season. These crops differ primarily in
their expected net return per acre and their consumption of water. In addition the Min-
istry of Agriculture has set a maximum quota for the total acreage that can be devoted to
each of these crops by the Southern Confederation of Kibbutzim as shown in Table 3.9.
3.4 ADDITIONAL EXAMPLES 47
0
5
10
15
5 10 x
1
x
2
0.3x
1
0.1x
2
2.7
0.6x
1
0.4x
2
6
6 6
7.5 4.5
Z 5.25 0.4x
1
0.5x
2
0.5x
1
0.5x
2
6 FIGURE 3.12
Graphical solution for the
design of Mary’s radiation
therapy.
TABLE 3.9 Crop data for the Southern Confederation of Kibbutzim
Maximum Water Consumption Net Return
Crop Quota Acres Acre Feet/Acre /Acre
Sugar beets 600 3 1000
Cotton 500 2 750
Sorghum 325 1 250

slide 73:

Because of the limited water available for irrigation the Southern Confederation of
Kibbutzim will not be able to use all its irrigable land for planting crops in the upcoming
season. To ensure equity between the three kibbutzim it has been agreed that every kib-
butz will plant the same proportion of its available irrigable land. For example if kibbutz
1 plants 200 of its available 400 acres then kibbutz 2 must plant 300 of its 600 acres
while kibbutz 3 plants 150 acres of its 300 acres. However any combination of the crops
may be grown at any of the kibbutzim. The job facing the Coordinating Technical Office
is to plan how many acres to devote to each crop at the respective kibbutzim while satis-
fying the given restrictions. The objective is to maximize the total net return to the South-
ern Confederation of Kibbutzim as a whole.
Formulation as a Linear Programming Problem. The quantities to be decided
upon are the number of acres to devote to each of the three crops at each of the three kib-
butzim. The decision variables x
j
j 1 2 . . . 9 represent these nine quantities as
shown in Table 3.10.
Since the measure of effectiveness Z is the total net return the resulting linear pro-
gramming model for this problem is
Maximize Z 1000x
1
x
2
x
3
750x
4
x
5
x
6
250x
7
x
8
x
9
subject to the following constraints:
1. Usable land for each kibbutz:
x
1
x
4
x
7
400
x
2
x
5
x
8
600
x
3
x
6
x
9
300
2. Water allocation for each kibbutz:
3x
1
2x
4
x
7
600
3x
2
2x
5
x
8
800
3x
3
2x
6
x
9
375
3. Total acreage for each crop:
x
1
x
2
x
3
600
x
4
x
5
x
6
500
x
7
x
8
x
9
325
48 3 INTRODUCTION TO LINEAR PROGRAMMING
TABLE 3.10 Decision variables for the Southern Confederation
of Kibbutzim problem
Allocation Acres
Kibbutz
Crop 1 2 3
Sugar beets x
1
x
2
x
3
Cotton x
4
x
5
x
6
Sorghum x
7
x
8
x
9

slide 74:

4. Equal proportion of land planted:
x
1
4
x
0
4
0
x
7
x
2
6
x
0
5
0
x
8
x
2
6
x
0
5
0
x
8
x
3
3
x
0
6
0
x
9
x
3
3
x
0
6
0
x
9
x
1
4
x
0
4
0
x
7
5. Nonnegativity:
x
j
0 for j 1 2 . . . 9.
This completes the model except that the equality constraints are not yet in an appropri-
ate form for a linear programming model because some of the variables are on the right-
hand side. Hence their final form
1
is
3x
1
x
4
x
7
2x
2
x
5
x
8
0
x
2
x
5
x
8
2x
3
x
6
x
9
0
4x
3
x
6
x
9
3x
1
x
4
x
7
0
The Coordinating Technical Office formulated this model and then applied the sim-
plex method developed in the next chapter to find an optimal solution
x
1
x
2
x
3
x
4
x
5
x
6
x
7
x
8
x
9
133 1
3
100 25 100 250 150 0 0 0
as shown in Table 3.11. The resulting optimal value of the objective function is
Z 633333
1
3
that is a total net return of 633333.33.
3.4 ADDITIONAL EXAMPLES 49
TABLE 3.11 Optimal solution for the Southern Confederation
of Kibbutzim problem
Best Allocation Acres
Kibbutz
Crop 1 2 3
Sugar beets 133
1
3
100 25
Cotton 100 250 150
Sorghum 0 0 0
1
Actually any one of these equations is redundant and can be deleted if desired. Also because of these equa-
tions any two of the usable land constraints also could be deleted because they automatically would be satis-
fied when both the remaining usable land constraint and these equations are satisfied. However no harm is done
except a little more computational effort by including unnecessary constraints so you don’t need to worry
about identifying and deleting them in models you formulate.

slide 75:

Controlling Air Pollution
The NORI LEETS CO. one of the major producers of steel in its part of the world is
located in the city of Steeltown and is the only large employer there. Steeltown has grown
and prospered along with the company which now employs nearly 50000 residents. There-
fore the attitude of the townspeople always has been “What’s good for Nori Leets is
good for the town.” However this attitude is now changing uncontrolled air pollution
from the company’s furnaces is ruining the appearance of the city and endangering the
health of its residents.
A recent stockholders’ revolt resulted in the election of a new enlightened board of
directors for the company. These directors are determined to follow socially responsible
policies and they have been discussing with Steeltown city officials and citizens’ groups
what to do about the air pollution problem. Together they have worked out stringent air
quality standards for the Steeltown airshed.
The three main types of pollutants in this airshed are particulate matter sulfur ox-
ides and hydrocarbons. The new standards require that the company reduce its annual
emission of these pollutants by the amounts shown in Table 3.12. The board of directors
has instructed management to have the engineering staff determine how to achieve these
reductions in the most economical way.
The steelworks has two primary sources of pollution namely the blast furnaces for
making pig iron and the open-hearth furnaces for changing iron into steel. In both cases
the engineers have decided that the most effective types of abatement methods are 1 in-
creasing the height of the smokestacks
1
2 using filter devices including gas traps in
the smokestacks and 3 including cleaner high-grade materials among the fuels for the
furnaces. Each of these methods has a technological limit on how heavily it can be used
e.g. a maximum feasible increase in the height of the smokestacks but there also is
considerable flexibility for using the method at a fraction of its technological limit.
Table 3.13 shows how much emission in millions of pounds per year can be elim-
inated from each type of furnace by fully using any abatement method to its technologi-
cal limit. For purposes of analysis it is assumed that each method also can be used less
fully to achieve any fraction of the emission-rate reductions shown in this table. Further-
more the fractions can be different for blast furnaces and for open-hearth furnaces. For
either type of furnace the emission reduction achieved by each method is not substan-
tially affected by whether the other methods also are used.
50 3 INTRODUCTION TO LINEAR PROGRAMMING
1
Subsequent to this study this particular abatement method has become a controversial one. Because its effect
is to reduce ground-level pollution by spreading emissions over a greater distance environmental groups con-
tend that this creates more acid rain by keeping sulfur oxides in the air longer. Consequently the U.S. Envi-
ronmental Protection Agency adopted new rules in 1985 to remove incentives for using tall smokestacks.
TABLE 3.12 Clean air standards for the Nori Leets Co.
Required Reduction in Annual Emission Rate
Pollutant Million Pounds
Particulates 60
Sulfur oxides 150
Hydrocarbons 125

slide 76:

After these data were developed it became clear that no single method by itself could
achieve all the required reductions. On the other hand combining all three methods at full
capacity on both types of furnaces which would be prohibitively expensive if the com-
pany’s products are to remain competitively priced is much more than adequate. There-
fore the engineers concluded that they would have to use some combination of the meth-
ods perhaps with fractional capacities based upon the relative costs. Furthermore because
of the differences between the blast and the open-hearth furnaces the two types probably
should not use the same combination.
An analysis was conducted to estimate the total annual cost that would be incurred
by each abatement method. A method’s annual cost includes increased operating and main-
tenance expenses as well as reduced revenue due to any loss in the efficiency of the pro-
duction process caused by using the method. The other major cost is the start-up cost the
initial capital outlay required to install the method. To make this one-time cost com-
mensurable with the ongoing annual costs the time value of money was used to calcu-
late the annual expenditure over the expected life of the method that would be equiva-
lent in value to this start-up cost.
This analysis led to the total annual cost estimates in millions of dollars given in
Table 3.14 for using the methods at their full abatement capacities. It also was determined
that the cost of a method being used at a lower level is roughly proportional to the frac-
tion of the abatement capacity given in Table 3.13 that is achieved. Thus for any given
fraction achieved the total annual cost would be roughly that fraction of the correspond-
ing quantity in Table 3.14.
The stage now was set to develop the general framework of the company’s plan for
pollution abatement. This plan specifies which types of abatement methods will be used
and at what fractions of their abatement capacities for 1 the blast furnaces and 2 the
open-hearth furnaces. Because of the combinatorial nature of the problem of finding a
3.4 ADDITIONAL EXAMPLES 51
TABLE 3.13 Reduction in emission rate in millions of pounds per year from the
maximum feasible use of an abatement method for Nori Leets Co.
Taller Smokestacks Filters Better Fuels
Blast Open-Hearth Blast Open-Hearth Blast Open-Hearth
Pollutant Furnaces Furnaces Furnaces Furnaces Furnaces Furnaces
Particulates 12 9 25 20 17 13
Sulfur oxides 35 42 18 31 56 49
Hydrocarbons 37 53 28 24 29 20
TABLE 3.14 Total annual cost from the maximum feasible use of an abatement
method for Nori Leets Co. millions
Abatement Method Blast Furnaces Open-Hearth Furnaces
Taller smokestacks 8 10
Filters 7 6
Better fuels 11 9

slide 77:

plan that satisfies the requirements with the smallest possible cost an OR team was formed
to solve the problem. The team adopted a linear programming approach formulating the
model summarized next.
Formulation as a Linear Programming Problem. This problem has six decision
variables x
j
j 1 2 . . . 6 each representing the use of one of the three abatement
methods for one of the two types of furnaces expressed as a fraction of the abatement
capacity so x
j
cannot exceed 1. The ordering of these variables is shown in Table 3.15.
Because the objective is to minimize total cost while satisfying the emission reduction re-
quirements the data in Tables 3.12 3.13 and 3.14 yield the following model:
Minimize Z 8x
1
10x
2
7x
3
6x
4
11x
5
9x
6
subject to the following constraints:
1. Emission reduction:
12x
1
9x
2
25x
3
20x
4
17x
5
13x
6
60
35x
1
42x
2
18x
3
31x
4
56x
5
49x
6
150
37x
1
53x
2
28x
3
24x
4
29x
5
20x
6
125
2. Technological limit:
x
j
1 for j 1 2 . . . 6
3. Nonnegativity:
x
j
0 for j 1 2 . . . 6.
The OR team used this model
1
to find a minimum-cost plan
x
1
x
2
x
3
x
4
x
5
x
6
1 0.623 0.343 1 0.048 1
with Z 32.16 total annual cost of 32.16 million. Sensitivity analysis then was con-
ducted to explore the effect of making possible adjustments in the air standards given in
Table 3.12 as well as to check on the effect of any inaccuracies in the cost data given in
Table 3.14. This story is continued in Case 6.1 at the end of Chap. 6. Next came de-
tailed planning and managerial review. Soon after this program for controlling air pollu-
tion was fully implemented by the company and the citizens of Steeltown breathed deep
cleaner sighs of relief.
52 3 INTRODUCTION TO LINEAR PROGRAMMING
1
An equivalent formulation can express each decision variable in natural units for its abatement method for ex-
ample x
1
and x
2
could represent the number of feet that the heights of the smokestacks are increased.
TABLE 3.15 Decision variables fraction of the maximum feasible use of an
abatement method for Nori Leets Co.
Abatement Method Blast Furnaces Open-Hearth Furnaces
Taller smokestacks x
1
x
2
Filters x
3
x
4
Better fuels x
5
x
6

slide 78:

Reclaiming Solid Wastes
The SAVE-IT COMPANY operates a reclamation center that collects four types of solid
waste materials and treats them so that they can be amalgamated into a salable product.
Treating and amalgamating are separate processes. Three different grades of this prod-
uct can be made see the first column of Table 3.16 depending upon the mix of the ma-
terials used. Although there is some flexibility in the mix for each grade quality standards
may specify the minimum or maximum amount allowed for the proportion of a material
in the product grade. This proportion is the weight of the material expressed as a per-
centage of the total weight for the product grade. For each of the two higher grades a
fixed percentage is specified for one of the materials. These specifications are given in
Table 3.16 along with the cost of amalgamation and the selling price for each grade.
The reclamation center collects its solid waste materials from regular sources and so
is normally able to maintain a steady rate for treating them. Table 3.17 gives the quanti-
ties available for collection and treatment each week as well as the cost of treatment for
each type of material.
The Save-It Co. is solely owned by Green Earth an organization devoted to dealing
with environmental issues so Save-It’s profits are used to help support Green Earth’s ac-
tivities. Green Earth has raised contributions and grants amounting to 30000 per week
to be used exclusively to cover the entire treatment cost for the solid waste materials. The
board of directors of Green Earth has instructed the management of Save-It to divide this
money among the materials in such a way that at least half of the amount available of
each material is actually collected and treated. These additional restrictions are listed in
Table 3.17.
Within the restrictions specified in Tables 3.16 and 3.17 management wants to de-
termine the amount of each product grade to produce and the exact mix of materials to
be used for each grade. The objective is to maximize the net weekly profit total sales in-
come minus total amalgamation cost exclusive of the fixed treatment cost of 30000 per
week that is being covered by gifts and grants.
Formulation as a Linear Programming Problem. Before attempting to construct
a linear programming model we must give careful consideration to the proper definition
of the decision variables. Although this definition is often obvious it sometimes becomes
3.4 ADDITIONAL EXAMPLES 53
TABLE 3.16 Product data for Save-It Co.
Amalgamation Selling Price
Grade Specification Cost per Pound per Pound
Material 1: Not more than 30 of total
Material 2: Not less than 40 of total
A 3.00 8.50
Material 3: Not more than 50 of total
Material 4: Exactly 20 of total
Material 1: Not more than 50 of total
B Material 2: Not less than 10 of total 2.50 7.00
Material 4: Exactly 10 of total
C Material 1: Not more than 70 of total 2.00 5.50

slide 79:

the crux of the entire formulation. After clearly identifying what information is really de-
sired and the most convenient form for conveying this information by means of decision
variables we can develop the objective function and the constraints on the values of these
decision variables.
In this particular problem the decisions to be made are well defined but the appro-
priate means of conveying this information may require some thought. Try it and see if
you first obtain the following inappropriate choice of decision variables.
Because one set of decisions is the amount of each product grade to produce it would
seem natural to define one set of decision variables accordingly. Proceeding tentatively
along this line we define
y
i
number of pounds of product grade i produced per week i A B C.
The other set of decisions is the mix of materials for each product grade. This mix is iden-
tified by the proportion of each material in the product grade which would suggest defin-
ing the other set of decision variables as
z
ij
proportion of material j in product grade i i A B C j 1 2 3 4.
However Table 3.17 gives both the treatment cost and the availability of the materials by
quantity pounds rather than proportion so it is this quantity information that needs to
be recorded in some of the constraints. For material j j 1 2 3 4
Number of pounds of material j used per week z
Aj
y
A
z
Bj
y
B
z
Cj
y
C
.
For example since Table 3.17 indicates that 3000 pounds of material 1 is available per
week one constraint in the model would be
z
A1
y
A
z
B1
y
B
z
C1
y
C
3000.
Unfortunately this is not a legitimate linear programming constraint. The expression on
the left-hand side is not a linear function because it involves products of variables. There-
fore a linear programming model cannot be constructed with these decision variables.
Fortunately there is another way of defining the decision variables that will fit the
linear programming format. Do you see how to do it It is accomplished by merely re-
placing each product of the old decision variables by a single variable In other words
define
x
ij
z
ij
y
i
for i A B C j 1 2 3 4
x
ij
number of pounds of material j allocated to product grade i per week
54 3 INTRODUCTION TO LINEAR PROGRAMMING
TABLE 3.17 Solid waste materials data for the Save-It Co.
Pounds per Treatment Cost
Material Week Available per Pound Additional Restrictions
1 3000 3.00 1. For each material at least half of the
2 2000 6.00 pounds per week available should be
3 4000 4.00 collected and treated.
4 1000 5.00 2. 30000 per week should be used to
treat these materials.

slide 80:

and then we let the x
ij
be the decision variables. Combining the x
ij
in different ways yields
the following quantities needed in the model for i A B C j 1 2 3 4.
x
i1
x
i2
x
i3
x
i4
number of pounds of product grade i produced per week.
x
Aj
x
Bj
x
Cj
number of pounds of material j used per week.
proportion of material j in product grade i.
The fact that this last expression is a nonlinear function does not cause a complica-
tion. For example consider the first specification for product grade A in Table 3.16 the
proportion of material 1 should not exceed 30 percent. This restriction gives the nonlin-
ear constraint
0.3.
However multiplying through both sides of this inequality by the denominator yields an
equivalent constraint
x
A1
0.3x
A1
x
A2
x
A3
x
A4
so
0.7x
A1
0.3x
A2
0.3x
A3
0.3x
A4
0
which is a legitimate linear programming constraint.
With this adjustment the three quantities given above lead directly to all the functional
constraints of the model. The objective function is based on management’s objective of max-
imizing net weekly profit total sales income minus total amalgamation cost from the three
product grades. Thus for each product grade the profit per pound is obtained by subtract-
ing the amalgamation cost given in the third column of Table 3.16 from the selling price in
the fourth column. These differences provide the coefficients for the objective function.
Therefore the complete linear programming model is
Maximize Z 5.5x
A1
x
A2
x
A3
x
A4
4.5x
B1
x
B2
x
B3
x
B4
3.5x
C1
x
C2
x
C3
x
C4
subject to the following constraints:
1. Mixture specifications second column of Table 3.16:
x
A1
0.3x
A1
x
A2
x
A3
x
A4
grade A material 1
x
A2
0.4x
A1
x
A2
x
A3
x
A4
grade A material 2
x
A3
0.5x
A1
x
A2
x
A3
x
A4
grade A material 3
x
A4
0.2x
A1
x
A2
x
A3
x
A4
grade A material 4.
x
B1
0.5x
B1
x
B2
x
B3
x
B4
grade B material 1
x
B2
0.1x
B1
x
B2
x
B3
x
B4
grade B material 2
x
B4
0.1x
B1
x
B2
x
B3
x
B4
grade B material 4.
x
C1
0.7x
C1
x
C2
x
C3
x
C4
grade C material 1.
x
A1
x
A1
x
A2
x
A3
x
A4
x
ij
x
i1
x
i2
x
i3
x
i4
3.4 ADDITIONAL EXAMPLES 55

slide 81:

2. Availability of materials second column of Table 3.17:
x
A1
x
B1
x
C1
3000 material 1
x
A2
x
B2
x
C2
2000 material 2
x
A3
x
B3
x
C3
4000 material 3
x
A4
x
B4
x
C4
1000 material 4.
3. Restrictions on amounts treated right side of Table 3.17:
x
A1
x
B1
x
C1
1500 material 1
x
A2
x
B2
x
C2
1000 material 2
x
A3
x
B3
x
C3
2000 material 3
x
A4
x
B4
x
C4
500 material 4.
4. Restriction on treatment cost right side of Table 3.17:
3x
A1
x
B1
x
C1
6x
A2
x
B2
x
C2
4x
A3
x
B3
x
C3
5x
A4
x
B4
x
C4
30000.
5. Nonnegativity constraints:
x
A1
0 x
A2
0 . . . x
C4
0.
This formulation completes the model except that the constraints for the mixture
specifications need to be rewritten in the proper form for a linear programming model by
bringing all variables to the left-hand side and combining terms as follows:
Mixture specifications:
0.7x
A1
0.3x
A2
0.3x
A3
0.3x
A4
0 grade A material 1
0.4x
A1
0.6x
A2
0.4x
A3
0.4x
A4
0 grade A material 2
0.5x
A1
0.5x
A2
0.5x
A3
0.5x
A4
0 grade A material 3
0.2x
A1
0.2x
A2
0.2x
A3
0.8x
A4
0 grade A material 4.
0.5x
B1
0.5x
B2
0.5x
B3
0.5x
B4
0 grade B material 1
0.1x
B1
0.9x
B2
0.1x
B3
0.1x
B4
0 grade B material 2
0.1x
B1
0.1x
B2
0.1x
B3
0.9x
B4
0 grade B material 4.
0.3x
C1
0.7x
C2
0.7x
C3
0.7x
C4
0 grade C material 1.
An optimal solution for this model is shown in Table 3.18 and then these x
ij
values
are used to calculate the other quantities of interest given in the table. The resulting op-
timal value of the objective function is Z 35108.90 a total weekly profit of 35108.90.
The Save-It Co. problem is an example of a blending problem. The objective for
a blending problem is to find the best blend of ingredients into final products to meet
certain specifications. Some of the earliest applications of linear programming were
for gasoline blending where petroleum ingredients were blended to obtain various
grades of gasoline. The award-winning OR study at Texaco discussed at the end of
56 3 INTRODUCTION TO LINEAR PROGRAMMING

slide 82:

Sec. 2.5 dealt with gasoline blending although Texaco used a nonlinear programming
model. Other blending problems involve such final products as steel fertilizer and
animal feed.
Personnel Scheduling
UNION AIRWAYS is adding more flights to and from its hub airport and so it needs to
hire additional customer service agents. However it is not clear just how many more
should be hired. Management recognizes the need for cost control while also consistently
providing a satisfactory level of service to customers. Therefore an OR team is studying
how to schedule the agents to provide satisfactory service with the smallest personnel cost.
Based on the new schedule of flights an analysis has been made of the minimum
number of customer service agents that need to be on duty at different times of the day
to provide a satisfactory level of service. The rightmost column of Table 3.19 shows the
number of agents needed for the time periods given in the first column. The other entries
3.4 ADDITIONAL EXAMPLES 57
TABLE 3.18 Optimal solution for the Save-It Co. problem
Pounds Used per Week
Material
Number of Pounds
Grade 1 2 3 4 Produced per Week
A 412.3 859.6 447.4 429.8 2149
19.2 40 20.8 20
B 2587.7 517.5 1552.6 517.5 5175
50 10 30 10
C 00 0 0 0
Total 3000 1377 2000 947
TABLE 3.19 Data for the Union Airways personnel scheduling problem
Time Periods Covered
Shift
Minimum Number of
Time Period 12345 Agents Needed
6:00 A.M. to 8:00 A.M. ✔ 48
8:00 A.M. to 10:00 A.M. ✔✔ 79
10:00 A.M. to noon ✔✔ 65
Noon to 2:00 P.M. ✔✔✔ 87
2:00 P.M. to 4:00 P.M. ✔✔ 64
4:00 P.M. to 6:00 P.M. ✔✔ 73
6:00 P.M. to 8:00 P.M. ✔✔ 82
8:00 P.M. to 10:00 P.M. ✔ 43
10:00 P.M. to midnight ✔✔ 52
Midnight to 6:00 A.M. ✔ 15
Daily cost per agent 170 160 175 180 195

slide 83:

in this table reflect one of the provisions in the company’s current contract with the union
that represents the customer service agents. The provision is that each agent work an
8-hour shift 5 days per week and the authorized shifts are
Shift 1: 6:00 A.M. to 2:00 P.M.
Shift 2: 8:00 A.M. to 4:00 P.M.
Shift 3: Noon to 8:00 P.M.
Shift 4: 4:00 P.M. to midnight
Shift 5: 10:00 P.M. to 6:00 A.M.
Checkmarks in the main body of Table 3.19 show the hours covered by the respective
shifts. Because some shifts are less desirable than others the wages specified in the con-
tract differ by shift. For each shift the daily compensation including benefits for each
agent is shown in the bottom row. The problem is to determine how many agents should
be assigned to the respective shifts each day to minimize the total personnel cost for agents
based on this bottom row while meeting or surpassing the service requirements given
in the rightmost column.
Formulation as a Linear Programming Problem. Linear programming problems
always involve finding the best mix of activity levels. The key to formulating this partic-
ular problem is to recognize the nature of the activities.
Activities correspond to shifts where the level of each activity is the number of agents
assigned to that shift. Thus this problem involves finding the best mix of shift sizes. Since the
decision variables always are the levels of the activities the five decision variables here are
x
j
number of agents assigned to shift j for j 1 2 3 4 5.
The main restrictions on the values of these decision variables are that the number of
agents working during each time period must satisfy the minimum requirement given in
the rightmost column of Table 3.19. For example for 2:00 P.M. to 4:00 P.M. the total num-
ber of agents assigned to the shifts that cover this time period shifts 2 and 3 must be at
least 64 so
x
2
x
3
64
is the functional constraint for this time period.
Because the objective is to minimize the total cost of the agents assigned to the five
shifts the coefficients in the objective function are given by the last row of Table 3.19.
Therefore the complete linear programming model is
Minimize Z 170x
1
160x
2
175x
3
180x
4
195x
5
subject to
x
1
48 6–8 A.M.
x
1
x
2
79 8–10 A.M.
x
1
x
2
65 10 A.M. to noon
x
1
x
2
x
3
87 Noon–2 P.M.
x
2
x
3
64 2–4 P.M.
x
3
x
4
73 4–6 P.M.
58 3 INTRODUCTION TO LINEAR PROGRAMMING

slide 84:

x
3
x
4
82 6–8 P.M.
x
4
43 8–10 P.M.
x
4
x
5
52 10 P.M.–midnight
x
5
15 Midnight–6 A.M.
and
x
j
0 for j 1 2 3 4 5.
With a keen eye you might have noticed that the third constraint x
1
x
2
65 ac-
tually is not necessary because the second constraint x
1
x
2
79 ensures that x
1
x
2
will be larger than 65. Thus x
1
x
2
65 is a redundant constraint that can be deleted.
Similarly the sixth constraint x
3
x
4
73 also is a redundant constraint because the
seventh constraint is x
3
x
4
82. In fact three of the nonnegativity constraints—x
1
0
x
4
0 x
5
0—also are redundant constraints because of the first eighth and tenth func-
tional constraints: x
1
48 x
4
43 and x
5
15. However no computational advantage
is gained by deleting these three nonnegativity constraints.
The optimal solution for this model is x
1
x
2
x
3
x
4
x
5
48 31 39 43 15. This
yields Z 30610 that is a total daily personnel cost of 30610.
This problem is an example where the divisibility assumption of linear programming
actually is not satisfied. The number of agents assigned to each shift needs to be an inte-
ger. Strictly speaking the model should have an additional constraint for each decision
variable specifying that the variable must have an integer value. Adding these constraints
would convert the linear programming model to an integer programming model the topic
of Chap. 12.
Without these constraints the optimal solution given above turned out to have inte-
ger values anyway so no harm was done by not including the constraints. The form of
the functional constraints made this outcome a likely one. If some of the variables had
turned out to be noninteger the easiest approach would have been to round up to integer
values. Rounding up is feasible for this example because all the functional constraints
are in form with nonnegative coefficients. Rounding up does not ensure obtaining an
optimal solution for the integer programming model but the error introduced by round-
ing up such large numbers would be negligible for most practical situations. Alternatively
integer programming techniques described in Chap. 12 could be used to solve exactly for
an optimal solution with integer values.
Section 3.5 includes a case study of how United Airlines used linear programming to
develop a personnel scheduling system on a vastly larger scale than this example.
Distributing Goods through a Distribution Network
The Problem. The DISTRIBUTION UNLIMITED CO. will be producing the same
new product at two different factories and then the product must be shipped to two ware-
houses where either factory can supply either warehouse. The distribution network avail-
able for shipping this product is shown in Fig. 3.13 where F1 and F2 are the two facto-
ries W1 and W2 are the two warehouses and DC is a distribution center. The amounts
to be shipped from F1 and F2 are shown to their left and the amounts to be received at
W1 and W2 are shown to their right. Each arrow represents a feasible shipping lane. Thus
F1 can ship directly to W1 and has three possible routes F1 DC W2 F1 F2 3.4 ADDITIONAL EXAMPLES 59

slide 85:

DC W2 and F1 W1 W2 for shipping to W2. Factory F2 has just one route to
W2 F2 DC W2 and one to W1 F2 DC W2 W1. The cost per unit
shipped through each shipping lane is shown next to the arrow. Also shown next to F1 F2 and DC W2 are the maximum amounts that can be shipped through these lanes.
The other lanes have sufficient shipping capacity to handle everything these factories can
send.
The decision to be made concerns how much to ship through each shipping lane. The
objective is to minimize the total shipping cost.
Formulation as a Linear Programming Problem. With seven shipping lanes we
need seven decision variables x
F1-F2
x
F1-DC
x
F1-W1
x
F2-DC
x
DC-W2
x
W1-W2
x
W2-W1
to
represent the amounts shipped through the respective lanes.
There are several restrictions on the values of these variables. In addition to the usual
nonnegativity constraints there are two upper-bound constraints x
F1-F2
10 and
x
DC-W2
80 imposed by the limited shipping capacities for the two lanes F1 F2 and
DC W2. All the other restrictions arise from five net flow constraints one for each of
the five locations. These constraints have the following form.
Net flow constraint for each location:
Amount shipped out amount shipped in required amount.
As indicated in Fig. 3.13 these required amounts are 50 for F1 40 for F2 30 for W1
and 60 for W2.
60 3 INTRODUCTION TO LINEAR PROGRAMMING
F1
F2
DC
W1
W2
50 units
produced
900/unit
30 units
needed
400/unit
200/unit
40 units
produced
100/unit
80 units max.
200/unit 300/unit
300/unit
60 units
needed
10 units max.
FIGURE 3.13
The distribution network for
Distribution Unlimited Co.

slide 86:

What is the required amount for DC All the units produced at the factories are ulti-
mately needed at the warehouses so any units shipped from the factories to the distribu-
tion center should be forwarded to the warehouses. Therefore the total amount shipped
from the distribution center to the warehouses should equal the total amount shipped from
the factories to the distribution center. In other words the difference of these two ship-
ping amounts the required amount for the net flow constraint should be zero.
Since the objective is to minimize the total shipping cost the coefficients for the ob-
jective function come directly from the unit shipping costs given in Fig. 3.13. Therefore
by using money units of hundreds of dollars in this objective function the complete lin-
ear programming model is
Minimize Z 2x
F1-F2
4x
F1-DC
9x
F1-W1
3x
F2-DC
x
DC-W2
3x
W1-W2
2x
W2-W1
subject to the following constraints:
1. Net flow constraints:
3.5 SOME CASE STUDIES 61
To give you a better perspective about the great impact linear programming can have we
now present three case studies of real applications. Each of these is a classic application
initiated in the early 1980s that has come to be regarded as a standard of excellence for
future applications of linear programming. The first one will bear some strong similari-
ties to the Wyndor Glass Co. problem but on a realistic scale. Similarly the second and
3.5 SOME CASE STUDIES
x
F1-F2
x
F1-DC
x
F1-W1
50 factory 1
x
F1-F2
x
F2-DC
40 factory 2
x
F1-DC
x
F2-DC
x
DC-W2
0 distribution
center
x
F1-W1
x
W1-W2
x
W2-W1
30 warehouse 1
x
DC-W2
x
W1-W2
x
W2-W1
60 warehouse 2
2. Upper-bound constraints:
x
F1-F2
10 x
DC-W2
80
3. Nonnegativity constraints:
x
F1-F2
0 x
F1-DC
0 x
F1-W1
0 x
F2-DC
0 x
DC-W2
0
x
W1-W2
0 x
W2-W1
0.
You will see this problem again in Sec. 9.6 where we focus on linear programming
problems of this type called the minimum cost flow problem. In Sec. 9.7 we will solve
for its optimal solution:
x
F1-F2
0 x
F1-DC
40 x
F1-W1
10 x
F2-DC
40 x
DC-W2
80
x
W1-W2
0 x
W2-W1
20.
The resulting total shipping cost is 49000.
You also will see a case study involving a much larger problem of this same type at
the end of the next section.

slide 87:

third are realistic versions of the last two examples presented in the preceding section the
Union Airways and Distribution Unlimited examples.
Choosing the Product Mix at Ponderosa Industrial
1
Until its sale in 1988 PONDEROSA INDUSTRIAL was a plywood manufacturer based
in Anhuac Chihuahua that supplied 25 percent of the plywood in Mexico. Like any ply-
wood manufacturer Ponderosa’s many products were differentiated by thickness and by
the quality of the wood. The plywood market in Mexico is competitive so the market es-
tablishes the prices of the products. The prices can fluctuate considerably from month to
month and there may be great differences between the products in their price movements
from even one month to the next. As a result each product’s contribution to Ponderosa’s
total profit was continually varying and in different ways for different products.
Because of its pronounced effect on profits a critical issue facing management was
the choice of product mix—how much to produce of each product—on a monthly basis.
This choice was a very complex one since it had to take into account the current amounts
available of various resources needed to produce the products. The most important re-
sources were logs in four quality categories and production capacities for both the press-
ing operation and the polishing operation.
Beginning in 1980 linear programming was used on a monthly basis to guide the
product-mix decision. The linear programming model had an objective of maximizing the
total profit from all products. The model’s constraints included the various resource con-
straints as well as other relevant restrictions such as the minimum amount of a product
that must be provided to regular customers and the maximum amount that can be sold.
To aid planning for the procurement of raw materials the model also considered the im-
pact of the product-mix decision for the upcoming month on production in the following
month. The model had 90 decision variables and 45 functional constraints.
This model was used each month to find the product mix for the upcoming month
that would be optimal if the estimated values of the various parameters of the model prove
to be accurate. However since some of the parameter values could change quickly e.g.
the unit profits of the products sensitivity analysis was done to determine the effect if
the estimated values turned out to be inaccurate. The results indicated when adjustments
in the product mix should be made if time permitted as unanticipated market changes
occurred that affected the price and so the unit profit of certain products.
One key decision each month concerned the number of logs in each of the four qual-
ity categories to purchase. The amounts available for the upcoming month’s production
actually were parameters of the model. Therefore after the purchase decision was made
and then the corresponding optimal product mix was determined postoptimality analysis
was conducted to investigate the effect of adjusting the purchase decision. For example
it is very easy with linear programming to check what the impact on total profit would
be if a quick purchase were to be made of additional logs in a certain quality category to
enable increasing production for the upcoming month.
Ponderosa’s linear programming system was interactive so management received an
immediate response to its “what-if questions” about the impact of encountering parame-
62 3 INTRODUCTION TO LINEAR PROGRAMMING
1
A. Roy E. E. DeFalomir and L. Lasdon: “An Optimization-Based Decision Support System for a Product Mix
Problem” Interfaces 122:26–33 April 1982.

slide 88:

ter values that differ from those in the original model. What if a quick purchase of logs
of a certain kind were made What if product prices were to fluctuate in a certain way
A variety of such scenarios can be investigated. Management effectively used this power
to reach better decisions than the “optimal” product mix from the original model.
The impact of linear programming at Ponderosa was reported to be “tremendous.” It
led to a dramatic shift in the types of plywood products emphasized by the company. The
improved product-mix decisions were credited with increasing the overall profitability of
the company by 20 percent. Other contributions of linear programming included better
utilization of raw material capital equipment and personnel.
Two factors helped make this application of linear programming so successful. One
factor is that a natural language financial planning system was interfaced with the codes
for finding an optimal solution for the linear programming model. Using natural language
rather than mathematical symbols to display the components of the linear programming
model and its output made the process understandable and meaningful for the managers
making the product-mix decisions. Reporting to management in the language of managers
is necessary for the successful application of linear programming.
The other factor was that the linear programming system used was interactive. As
mentioned earlier after an optimal solution was obtained for one version of the model
this feature enabled managers to ask a variety of “what-if” questions and receive imme-
diate responses. Better decisions frequently were reached by exploring other plausible sce-
narios and this process also gave managers more confidence that their decision would
perform well under most foreseeable circumstances.
In any application this ability to respond quickly to management’s needs and queries
through postoptimality analysis whether interactive or not is a vital part of a linear pro-
gramming study.
Personnel Scheduling at United Airlines
1
Despite unprecedented industry competition in 1983 and 1984 UNITED AIRLINES man-
aged to achieve substantial growth with service to 48 new airports. In 1984 it became the
only airline with service to cities in all 50 states. Its 1984 operating profit reached 564
million with revenues of 6.2 billion an increase of 6 percent over 1983 while costs
grew by less than 2 percent.
Cost control is essential to competing successfully in the airline industry. In 1982
upper management of United Airlines initiated an OR study of its personnel scheduling
as part of the cost control measures associated with the airline’s 1983–1984 expansion.
The goal was to schedule personnel at the airline’s reservations offices and airports so as
to minimize the cost of providing the necessary service to customers.
At the time United Airlines employed over 4000 reservations sales representatives
and support personnel at its 11 reservations offices and about 1000 customer service
agents at its 10 largest airports. Some were part-time working shifts from 2 to 8 hours
most were full-time working 8- or 10-hour-shifts. Shifts start at several different times.
Each reservations office was open by telephone 24 hours a day as was each of the ma-
jor airports. However the number of employees needed at each location to provide the re-
3.5 SOME CASE STUDIES 63
1
T. J. Holloran and J. E. Bryn “United Airlines Station Manpower Planning System” Interfaces 161: 39–50
Jan.–Feb. 1986.

slide 89:

quired level of service varied greatly during the 24-hour day and might fluctuate consid-
erably from one half-hour to the next.
Trying to design the work schedules for all the employees at a given location to meet
these service requirements most efficiently is a nightmare of combinatorial considerations.
Once an employee begins working he or she will be there continuously for the entire shift
2 to 10 hours depending on the employee except for either a meal break or short rest
breaks every 2 hours. Given the minimum number of employees needed on duty for each
half-hour interval over a 24-hour day where these requirements change from day to day
over a 7-day week how many employees of each shift length should begin work at what
start time over each 24-hour day of a 7-day week Fortunately linear programming thrives
on such combinatorial nightmares.
Actually several OR techniques described in this book were used in the computerized
planning system developed to attack this problem. Both forecasting Chap. 20 and queu-
ing theory Chaps. 17 and 18 were used to determine the minimum number of employees
needed on duty for each half-hour interval. Integer programming Chap. 12 was used to
determine the times of day at which shifts would be allowed to start. However the core of
the planning system was linear programming which did all the actual scheduling to pro-
vide the needed service with the smallest possible labor cost. A complete work schedule
was developed for the first full week of a month and then it was reused for the remainder
of the month. This process was repeated each month to reflect changing conditions.
Although the details about the linear programming model have not been published
it is clear that the basic approach used is the one illustrated by the Union Airways exam-
ple of personnel scheduling in Sec. 3.4. The objective function being minimized repre-
sents the total personnel cost for the location being scheduled. The main functional con-
straints require that the number of employees on duty during each time period will not
fall below minimum acceptable levels.
However the Union Airways example has only five decision variables. By contrast
the United Airlines model for some locations has over 20000 decision variables The dif-
ference is that a real application must consider myriad important details that can be ig-
nored in a textbook example. For example the United Airlines model takes into account
such things as the meal and break assignment times for each employee scheduled differ-
ences in shift lengths for different employees and days off over a weekly schedule among
other scheduling details.
This application of linear programming was reported to have had “an overwhelming
impact not only on United management and members of the manpower planning group but
also for many who had never before heard of management science OR or mathematical
modeling.” It earned rave reviews from upper management operating managers and af-
fected employees alike. For example one manager described the scheduling system as
Magical . . . just as the customer lines begin to build someone shows up for work and
just as you begin to think you’re overstaffed people start going home.
1
In more tangible terms this application was credited with saving United Airlines more
than 6 million annually in just direct salary and benefit costs. Other benefits included
improved customer service and reduced need for support staff.
64 3 INTRODUCTION TO LINEAR PROGRAMMING
1
Holloran and Bryn “United Airlines Station Manpower Planning System” p. 49.

slide 90:

After some updating in the early 1990s the system is providing similar benefits
today.
One factor that helped make this application of linear programming so successful was
“the support of operational managers and their staffs.” This was a lesson learned by ex-
perience because the OR team initially failed to establish a good line of communication
with the operating managers who then resisted the team’s initial recommendations. The
team leaders described their mistake as follows:
The cardinal rule for earning the trust and respect of operating managers and support
staffs—”getting them involved in the development process”—had been violated.
1
The team then worked much more closely with the operating managers—with outstand-
ing results.
Planning Supply Distribution and Marketing
at Citgo Petroleum Corporation
2
CITGO PETROLEUM CORPORATION specializes in refining and marketing petroleum.
In the mid-1980s it had annual sales of several billion dollars ranking it among the 150
largest industrial companies in the United States.
After several years of financial losses Citgo was acquired in 1983 by Southland Cor-
poration the owner of the 7-Eleven convenience store chain whose sales include 2 bil-
lion gallons of quality motor fuels annually. To turn Citgo’s financial losses around South-
land created a task force composed of Southland personnel Citgo personnel and outside
consultants. An eminent OR consultant was appointed director of the task force to report
directly to both the president of Citgo and the chairman of the board of Southland.
During 1984 and 1985 this task force applied various OR techniques as well as in-
formation systems technologies throughout the corporation. It was reported that these OR
applications “have changed the way Citgo does business and resulted in approximately
70 million per year profit improvement.”
3
The two most important applications were both linear programming systems that pro-
vided management with powerful planning support. One called the refinery LP system
led to great improvements in refinery yield substantial reductions in the cost of labor and
other important cost savings. This system contributed approximately 50 million to profit
improvement in 1985. See the end of Sec. 2.4 for discussion of the key role that model
validation played in the development of this system.
However we will focus here on the other linear programming system called the sup-
ply distribution and marketing modeling system or just the SDM system that Citgo is
continuing to use. The SDM system is particularly interesting because it is based on a
special kind of linear programming model that uses networks just like the model for the
Distribution Unlimited example presented at the end of Sec. 3.4. The model for the SDM
system provides a representation of Citgo’s entire marketing and distribution network.
At the time the task force conducted its OR study Citgo owned or leased 36 product
storage terminals which were supplied through five distribution center terminals via a dis-
3.5 SOME CASE STUDIES 65
1
Ibid p. 47.
2
See the references cited in footnote 2 on p. 10.
3
See p. 4 of the second reference cited in footnote 2 on p. 10.

slide 91:

tribution network of pipelines tankers and barges. Citgo also sold product from over 350
exchange terminals that were shared with other petroleum marketers. To supply its cus-
tomers product might be acquired by Citgo from its refinery in Lake Charles LA or from
spot purchases on one of five major spot markets product exchanges and trades with
other industry refiners. These product acquisition decisions were made daily. However
the time from such a decision until the product reached the intended customers could be
as long as 11 weeks. Therefore the linear programming model used an 11-week planning
horizon.
The SDM system is used to coordinate the supply distribution and marketing of each
of Citgo’s major products originally four grades of motor fuel and No. 2 fuel oil through-
out the United States. Management uses the system to make decisions such as where to
sell what price to charge where to buy or trade how much to buy or trade how much
to hold in inventory and how much to ship by each mode of transportation. Linear pro-
gramming guides these decisions and when to implement them so as to minimize total
cost or maximize total profit. The SDM system also is used in “what-if” sessions where
management asks what-if questions about scenarios that differ from those assumed in the
original model.
The linear programming model in the SDM system has the same form as the model
for the Distribution Unlimited example presented at the end of Sec. 3.4. In fact both mod-
els fit an important special kind of linear programming problem called the minimum cost
flow problem that will be discussed in Sec. 9.6. The main functional constraints for such
models are equality constraints where each one prescribes what the net flow of goods
out of a specific location must be.
The Distribution Unlimited model has just seven decision variables and five equality
constraints. By contrast the Citgo model for each major product has about 15000 deci-
sion variables and 3000 equality constraints
At the end of Sec. 2.1 we described the important role that data collection and data
verification played in developing the Citgo models. With such huge models a massive
amount of data must be gathered to determine all the parameter values. A state-of-the-art
management database system was developed for this purpose. Before using the data a
preloader program was used to check for data errors and inconsistencies. The importance
of doing so was brought forcefully home to the task force when as mentioned in Sec. 2.1
the initial run of the preloader program generated a paper log of error messages an inch
thick It was clear that the data collection process needed to be thoroughly debugged to
help ensure the validity of the models.
The SDM linear programming system has greatly improved the efficiency of Citgo’s
supply distribution and marketing operations enabling a huge reduction in product in-
ventory with no drop in service levels. During its first year the value of petroleum prod-
ucts held in inventory was reduced by 116.5 million. This huge reduction in capital tied
up in carrying inventory resulted in saving about 14 million annually in interest expenses
for borrowed capital adding 14 million to Citgo’s annual profits. Improvements in co-
ordination pricing and purchasing decisions have been estimated to add at least another
2.5 million to annual profits. Many indirect benefits also are attributed to this applica-
tion of linear programming including improved data better pricing strategies and elim-
ination of unnecessary product terminals as well as improved communication and coor-
dination between supply distribution marketing and refinery groups.
66 3 INTRODUCTION TO LINEAR PROGRAMMING

slide 92:

Some of the factors that contributed to the success of this OR study are the same as
for the two preceding case studies. Like Ponderosa Industrial one factor was developing
output reports in the language of managers to really meet their needs. These output re-
ports are designed to be easy for managers to understand and use and they address the
issues that are important to management. Also like Ponderosa another factor was enabling
management to respond quickly to the dynamics of the industry by using the linear pro-
gramming system extensively in “what-if” sessions. As in so many applications of linear
programming postoptimality analysis proved more important than the initial optimal so-
lution obtained for one version of the model.
Much as in the United Airlines application another factor was the enthusiastic sup-
port of operational managers during the development and implementation of this linear
programming system.
However the most important factor was the unlimited support provided to the task
force by top management ranging right up to the chief executive officer and the chair-
man of the board of Citgo’s parent company Southland Corporation. As mentioned ear-
lier the director of the task force an eminent OR consultant reported directly to both the
president of Citgo and the chairman of the board of Southland. This backing by top man-
agement included strong organizational and financial support.
The organizational support took a variety of forms. One example was the creation
and staffing of the position of senior vice-president of operations coordination to evalu-
ate and coordinate recommendations based on the models which spanned organizational
boundaries.
When discussing both this linear programming system and other OR applications im-
plemented by the task force team members described the financial support of top man-
agement as follows:
The total cost of the systems implemented 20 million to 30 million was the greatest
obstacle to this project. However because of the information explosion in the petroleum
industry top management realized that numerous information systems were essential to
gather store and analyze data. The incremental cost of adding management science OR
technologies to these computers and systems was small in fact very small in light of the
enormous benefits they provided.
1
3.6 DISPLAYING AND SOLVING LINEAR PROGRAMMING MODELS ON A SPREADSHEET 67
Spreadsheet software such as Excel is a popular tool for analyzing and solving small lin-
ear programming problems. The main features of a linear programming model including
all its parameters can be easily entered onto a spreadsheet. However spreadsheet soft-
ware can do much more than just display data. If we include some additional informa-
tion the spreadsheet can be used to quickly analyze potential solutions. For example a
potential solution can be checked to see if it is feasible and what Z value profit or cost
it achieves. Much of the power of the spreadsheet lies in its ability to immediately see the
results of any changes made in the solution.
In addition the Excel Solver can quickly apply the simplex method to find an opti-
mal solution for the model.
3.6 DISPLAYING AND SOLVING LINEAR PROGRAMMING MODELS
ON A SPREADSHEET
1
Ibid p. 21.

slide 93:

To illustrate this process we now return to the Wyndor example introduced in
Sec. 3.1.
Displaying the Model on a Spreadsheet
After expressing profits in units of thousands of dollars Table 3.1 in Sec. 3.1 gives all the
parameters of the model for the Wyndor problem. Figure 3.14 shows the necessary addi-
tions to this table for an Excel spreadsheet. In particular a row is added row 9 labeled
“Solution” to store the values of the decision variables. Next a column is added column
E labeled “Totals”. For each functional constraint the number in column E is the nu-
merical value of the left-hand side of that constraint. Recall that the left-hand side repre-
sents the actual amount of the resource used given the values of the decision variables in
row 9. For example for the Plant 3 constraint in row 7 the amount of this resource used
in hours of production time per week is
Production time used in Plant 3 3x
1
2x
2
.
In the language of Excel the equivalent equation for the number in cell E7 is
E7 C7C9 D7D9.
Notice that this equation involves the sum of two products. There is a function in Ex-
cel called SUMPRODUCT that will sum up the product of each of the individual terms
in two different ranges of cells. For instance SUMPRODUCTC7:D7C9:D9 takes each
of the individual terms in the range C7:D7 multiplies them by the corresponding term in
the range C9:D9 and then sums up these individual products just as shown in the above
equation. Although optional with such short equations this function is especially handy
as a shortcut for entering longer linear programming equations.
Next signs are entered in cells F5 F6 and F7 to indicate the form of the functional
constraints. When using a trial-and-error approach the spreadsheet still will allow you to
enter infeasible trial solutions that violate the signs but these signs serve as a reminder
to reject such trial solutions if no changes are made in the numbers in column G.
68 3 INTRODUCTION TO LINEAR PROGRAMMING
FIGURE 3.14
The spreadsheet for the
Wyndor problem before
using the Excel Solver so the
values of the decision
variables and the objective
function are just entered as
zeros.

slide 94:

Finally the value of the objective function is entered in cell E8. Much like the other
values in column E it is the sum of products. The equation for cell E8 is SUMPROD-
UCTC8:D8C9:D9. The lower right-hand side of Fig. 3.14 shows all the formulas that
need to be entered in the “Totals” column column E for the Wyndor problem.
Once the model is entered in this spreadsheet format it is easy to analyze any po-
tential solution. When values for the decision variables are entered in the spreadsheet the
“Totals” column immediately calculates the total amount of each resource used as well
as the total profit. Hence by comparing column E with column G it can be seen imme-
diately whether the potential solution is feasible. If so cell E8 shows how much profit it
would generate. One approach to trying to solve a linear programming model would be
trial and error using the spreadsheet to analyze a variety of solutions. However you will
see next how Excel also can be used to quickly find an optimal solution.
Using the Excel Solver to Solve the Model
Excel includes a tool called Solver that uses the simplex method to find an optimal solu-
tion. A more powerful version of Solver called Premium Solver also is available in your
OR Courseware. Before using Solver all the following components of the model need
to be included on the spreadsheet:
1. Each decision variable
2. The objective function and its value
3. Each functional constraint
The spreadsheet layout shown in Fig. 3.14 includes all these components. The parame-
ters for the functional constraints are in rows 5 6 and 7 and the coefficients for the ob-
jective function are in row 8. The values of the decision variables are in cells C9 and D9
and the value of the objective function is in cell E8. Since we don’t know what the val-
ues of the decision variables should be they are just entered as zeros. The Solver will
then change these to the optimal values after solving the problem.
The Solver can be started by choosing “Solver” in the Tools menu. The Solver dia-
logue box is shown in Fig. 3.15. The “Target Cell” is the cell containing the value of the
objective function while the “Changing Cells” are the cells containing the values of the
decision variables.
Before the Solver can apply the simplex method it needs to know exactly where each
component of the model is located on the spreadsheet. You can either type in the cell ad-
dresses or click on them. Since the target cell is cell E8 and the changing cells are in the
range C9:D9 these addresses are entered into the Solver dialogue box as shown in Fig. 3.15.
Excel then automatically enters the dollar signs shown in the figure to fix these addresses.
Since the goal is to maximize the objective function “Max” also has been selected.
Next the addresses for the functional constraints need to be added. This is done by
clicking on the “Add . . .” button on the Solver dialogue box. This brings up the “Add
Constraint” dialogue box shown in Fig. 3.16. The location of the values of the left-hand
sides and the right-hand sides of the functional constraints are specified in this dialogue
box. The cells E5 through E7 all need to be less than or equal to the corresponding cells
in G5 through G7. There also is a menu to choose between or so has
been chosen for these constraints. This choice is needed even though signs were pre-
3.6 DISPLAYING AND SOLVING LINEAR PROGRAMMING MODELS ON A SPREADSHEET 69

slide 95:

viously entered in column F of the spreadsheet because Solver uses only the functional
constraints that are specified with the Add Constraint dialogue box.
If there were more functional constraints to add you would click on Add to bring up
a new Add Constraint dialogue box. However since there are no more in this example
the next step is to click on OK to go back to the Solver dialogue box.
The Solver dialogue box now summarizes the complete model see Fig. 3.17 in terms
of the spreadsheet in Fig. 3.14. However before asking Solver to solve the model one
more step should be taken. Clicking on the Options . . . button brings up the dialogue
box shown in Fig. 3.18. This box allows you to specify a number of options about how
the problem will be solved. The most important of these are the Assume Linear Model
option and the Assume Non-Negative option. Be sure that both options are checked as
shown in the figure. This tells Solver that the problem is a linear programming problem
with nonnegativity constraints for all the decision variables and that the simplex method
70 3 INTRODUCTION TO LINEAR PROGRAMMING
FIGURE 3.16
The Add Constraint dialogue
box after specifying that cells
E5 E6 and E7 in Fig. 3.14
are required to be less than
or equal to cells G5 G6 and
G7 respectively.
FIGURE 3.15
The Solver dialogue box after
specifying which cells in Fig.
3.14 contain the values of
the objective function and
the decision variables plus
indicating that the objective
function is to be maximized.

slide 96:

3.6 DISPLAYING AND SOLVING LINEAR PROGRAMMING MODELS ON A SPREADSHEET 71
FIGURE 3.18
The Solver Options dialogue
box after checking the
Assume Linear Model and
Assume Non-Negative
options to indicate that we
are dealing with a linear
programming model with
nonnegativity constraints
that needs to be solved by
the simplex method.
FIGURE 3.17
The Solver dialogue box after
specifying the entire model
in terms of the spreadsheet.

slide 97:

should be used to solve the problem.
1
Regarding the other options accepting the default
values shown in the figure usually is fine for small problems. Clicking on the OK button
then returns you to the Solver dialogue box.
Now you are ready to click on Solve in the Solver dialogue box which will cause
the Solver to execute the simplex method in the background. After a few seconds for a
small problem Solver will then indicate the results. Typically it will indicate that it has
found an optimal solution as specified in the Solver Results dialogue box shown in Fig.
3.19. If the model has no feasible solutions or no optimal solution the dialogue box will
indicate that instead by stating that “Solver could not find a feasible solution” or that “the
Set Cell values do not converge.” The dialogue box also presents the option of generat-
ing various reports. One of these the Sensitivity Report will be discussed in detail in
Sec. 4.7.
After solving the model the Solver replaces the original value of the decision vari-
ables in the spreadsheet with the optimal values as shown in Fig. 3.20. The spreadsheet
also indicates the value of the objective function as well as the amount of each resource
that is being used.
72 3 INTRODUCTION TO LINEAR PROGRAMMING
1
In older versions of Excel prior to Excel 97 the Assume Non-Negative option is not available so nonnegativ-
ity constraints have to be added with the Add Constraint dialogue box.
FIGURE 3.20
The spreadsheet obtained
after solving the Wyndor
problem.
FIGURE 3.19
The Solver Results dialogue
box that indicates that an
optimal solution has been
found.

slide 98:

3.7 FORMULATING VERY LARGE LINEAR PROGRAMMING MODELS 73
Linear programming models come in many different sizes. For the examples in Secs. 3.1
and 3.4 the model sizes range from three functional constraints and two decision vari-
ables for the Wyndor and radiation therapy problems up to 17 functional constraints and
12 decision variables for the Save-It Company problem. The latter case may seem like
a rather large model. After all it does take a substantial amount of time just to write down
a model of this size. However by contrast the models for the classic case studies pre-
sented in Sec. 3.5 are much much larger. For example the models in the Citgo case study
typically have about 3000 functional constraints and 15000 decision variables.
The Citgo model sizes are not at all unusual. Linear programming models in practice
commonly have hundreds or thousands of functional constraints. In fact there have been
some recently reported cases of a few hundred thousand constraints. The number of de-
cision variables frequently is even larger than the number of functional constraints and
occasionally will range into the millions.
Formulating such monstrously large models can be a daunting task. Even a “medium-
sized” model with a thousand functional constraints and a thousand decision variables has
over a million parameters including the million coefficients in these constraints. It sim-
ply is not practical to write out the algebraic formulation or even to fill in the parame-
ters on a spreadsheet for such a model.
So how are these very large models formulated in practice It requires the use of a
modeling language.
Modeling Languages
A mathematical programming modeling language is software that has been specifically
designed for efficiently formulating large linear programming models and related mod-
els. Even with thousands of functional constraints they typically are of a relatively few
types where the constraints of the same type follow the same pattern. Similarly the deci-
sion variables will fall into a small number of categories. Therefore using large blocks
of data in databases a modeling language will simultaneously formulate all the constraints
of the same type by simultaneously dealing with the variables of each type. We will il-
lustrate this process soon.
In addition to efficiently formulating large models a modeling language will expe-
dite a number of model management tasks including accessing data transforming data
into model parameters modifying the model whenever desired and analyzing solutions
from the model. It also may produce summary reports in the vernacular of the decision
makers as well as document the model’s contents.
Several excellent modeling languages have been developed over the last couple of
decades. These include AMPL MPL GAMS and LINGO.
The student version of one of these MPL short for mathematical programming lan-
guage is provided for you on the CD-ROM along with extensive tutorial material. The
latest student version also can be downloaded from the website maximal-usa.com. MPL
is a product of Maximal Software Inc. A new feature is extensive support for Excel in
MPL. This includes both importing and exporting Excel ranges from MPL. Full support
also is provided for the Excel VBA macro language through OptiMax 2000. The student
version of OptiMax 2000 is on the CD-ROM as well. This product allows the user to
3.7 FORMULATING VERY LARGE LINEAR PROGRAMMING MODELS

slide 99:

fully integrate MPL models into Excel and solve with any of the powerful solvers that
MPL supports including CPLEX described in Sec. 4.8.
LINGO is a product of LINDO Systems Inc. The latest student version of LINGO
is available by downloading it from the website www.lindo.com. LINDO Systems also
provides a completely spreadsheet-oriented optimizer called What’sBest also available on
this website.
The CD-ROM includes MPL LINGO and What’sBest formulations for essentially
every example in this book to which these modeling languages can be applied.
Now let us look at a simplified example that illustrates how a very large linear pro-
gramming model can arise.
An Example of a Problem with a Huge Model
Management of the WORLDWIDE CORPORA TION needs to address a product-mix prob-
lem but one that is vastly more complex than the Wyndor product-mix problem intro-
duced in Sec. 3.1. This corporation has 10 plants in various parts of the world. Each of
these plants produces the same 10 products and then sells them within its region. The de-
mand sales potential for each of these products from each plant is known for each of
the next 10 months. Although the amount of a product sold by a plant in a given month
cannot exceed the demand the amount produced can be larger where the excess amount
would be stored in inventory at some unit cost per month for sale in a later month. Each
unit of each product takes the same amount of space in inventory and each plant has some
upper limit on the total number of units that can be stored the inventory capacity.
Each plant has the same 10 production processes we’ll refer to them as machines
each of which can be used to produce any of the 10 products. Both the production cost
per unit of a product and the production rate of the product number of units produced
per day devoted to that product depend on the combination of plant and machine involved
but not the month. The number of working days production days available varies some-
what from month to month.
Since some plants and machines can produce a particular product either less expen-
sively or at a faster rate than other plants and machines it is sometimes worthwhile to
ship some units of the product from one plant to another for sale by the latter plant. For
each combination of a plant being shipped from the fromplant and a plant being shipped
to the toplant there is a certain cost per unit shipped of any product where this unit
shipping cost is the same for all the products.
Management now needs to determine how much of each product should be produced
by each machine in each plant during each month as well as how much each plant should
sell of each product in each month and how much each plant should ship of each prod-
uct in each month to each of the other plants. Considering the worldwide price for each
product the objective is to find the feasible plan that maximizes the total profit total sales
revenue minus the sum of the total production costs inventory costs and shipping costs.
The Structure of the Resulting Model
Because of the inventory costs and the limited inventory capacities it is necessary to keep
track of the amount of each product kept in inventory in each plant during each month.
Consequently the linear programming model has four types of decision variables: pro-
74 3 INTRODUCTION TO LINEAR PROGRAMMING

slide 100:

duction quantities inventory quantities sales quantities and shipping quantities. With 10
plants 10 machines 10 products and 10 months this gives a total of 21000 decision
variables as outlined below.
Decision Variables.
10000 production variables: one for each combination of a plant machine product and
month
1000 inventory variables: one for each combination of a plant product and month
1000 sales variables: one for each combination of a plant product and month
9000 shipping variables: one for each combination of a product month plant the
fromplant and another plant the toplant
Multiplying each of these decision variables by the corresponding unit cost or unit rev-
enue and then summing over each type the following objective function can be calculated:
Objective Function.
Maximize profit total sales revenue total cost
where
Total cost total production cost total inventory cost total shipping cost.
When maximizing this objective function the 21000 decision variables need to sat-
isfy nonnegativity constraints as well as four types of functional constraints—production
capacity constraints plant balance constraints equality constraints that provide appropri-
ate values to the inventory variables maximum inventory constraints and maximum sales
constraints. As enumerated below there are a total of 3100 functional constraints but all
the constraints of each type follow the same pattern.
Functional Constraints.
1000 production capacity constraints one for each combination of a plant machine and
month:
Production days used production days available
where the left-hand side is the sum of 10 fractions one for each product where each
fraction is that product’s production quantity a decision variable divided by the prod-
uct’s production rate a given constant.
1000 plant balance constraints one for each combination of a plant product and month:
Amount produced inventory last month amount shipped in sales current
inventory amount shipped out
where the amount produced is the sum of the decision variables representing the pro-
duction quantities at the machines the amount shipped in is the sum of the decision
variables representing the shipping quantities in from the other plants and the amount
shipped out is the sum of the decision variables representing the shipping quantities
out to the other plants.
3.7 FORMULATING VERY LARGE LINEAR PROGRAMMING MODELS 75

slide 101:

100 maximum inventory constraints one for each combination of a plant and month:
Total inventory inventory capacity
where the left-hand side is the sum of the decision variables representing the inven-
tory quantities for the individual products.
1000 maximum sales constraints one for each combination of a plant product and month:
Sales demand.
Now let us see how the MPL modeling language a product of Maximal Software
Inc. can formulate this huge model very compactly.
Formulation of the Model in MPL
The modeler begins by assigning a title to the model and listing an index for each of the
entities of the problem as illustrated below.
TITLE
Production_Planning
INDEX
product : A1 A2 A3 A4 A5 A6 A7 A8 A9 A10
month : Jan Feb Mar Apr May Jun Jul Aug Sep Oct
plant : p1 p2 p3 p4 p5 p6 p7 p8 p9 p10
fromplant : plant
toplant : plant
machine : m1 m2 m3 m4 m5 m6 m7 m8 m9 m10
Except for the months the entries on the right-hand side are arbitrary labels for the re-
spective products plants and machines where these same labels are used in the data files.
Note that a colon is placed after the name of each entry and a semicolon is placed at the
end of each statement but a statement is allowed to extend over more than one line.
A big job with any large model is collecting and organizing the various types of data
into data files. In this case eight data files are needed to hold the product prices demands
production costs production rates production days available inventory costs inventory
capacities and shipping costs. Numbering these data files as 1 2 3 . . . 8 the next step
is to give a brief suggestive name to each one and to identify inside square brackets the
index or indexes over which the data in the file run as shown below.
DATA
Price product : DATAFILE 1
Demand plant product month : DATAFILE 2
ProdCost plant machine product : DATAFILE 3
ProdRate plant machine product : DATAFILE 4
ProdDaysAvail month : DATAFILE 5
InvtCost product : DATAFILE 6
InvtCapacity plant : DATAFILE 7
ShipCost fromplant toplant : DATAFILE 8
Next the modeler gives a short name to each type of decision variable. Following the
name inside square brackets is the index or indexes over which the subscripts run.
76 3 INTRODUCTION TO LINEAR PROGRAMMING

slide 102:

VARIABLES
Produce plant machine product month Prod
Inventory plant product month Invt
Sales plant product month Sale
Ship product month fromplant toplant
WHERE fromplant toplant
In the case of the decision variables with names longer than four letters the arrows on
the right point to four-letter abbreviations to fit the size limitations of many solvers. The
last line indicates that the fromplant subscript and toplant subscript are not allowed to
have the same value.
There is one more step before writing down the model. To make the model easier to read
it is useful first to introduce macros to represent the summations in the objective function.
MACROS
Total Revenue : SUM plant product month: PriceSales
TotalProdCost : SUM plant machine product month:
ProdCostProduce
TotalInvtCost : SUM plant product month:
InvtCostInventory
TotalShipCost : SUM product month fromplant toplant:
ShipCostShip
TotalCost : TotalProdCost TotalInvtCost TotalShipCost
The first four macros use the MPL keyword SUM to execute the summation involved.
Following each SUM keyword inside the parentheses is first the index or indexes over
which the summation runs. Next after the colon is the vector product of a data vector
one of the data files times a variable vector one of the four types of decision variables.
Now this model with 3100 functional constraints and 21000 decision variables can
be written down in the following compact form.
MODEL
MAX Profit TotalRevenue TotalCost
SUBJECT TO
ProdCapacity plant machine month PCap
SUM product: Produce/ProdRate ProdDaysAvail
PlantBal plant product month PBal
SUM machine: Produce Inventory month 1
SUM fromplant: Shipfromplant toplant: plant
Sales Inventory
SUM toplant: Shipfrom plant: plant toplant
MaxInventory plant month MaxI:
SUM product: Inventory InvtCapacity
BOUNDS
Sales Demand
END
For each of the four types of constraints the first line gives the name for this type.
There is one constraint of this type for each combination of values for the indexes inside
3.7 FORMULATING VERY LARGE LINEAR PROGRAMMING MODELS 77

slide 103:

the square brackets following the name. To the right of the brackets the arrow points to
a four-letter abbreviation of the name that a solver can use. Below the first line the gen-
eral form of constraints of this type is shown by using the SUM operator.
For each production capacity constraint each term in the summation consists of a de-
cision variable the production quantity of that product on that machine in that plant dur-
ing that month divided by the corresponding production rate which gives the number of
production days being used. Summing over the products then gives the total number of
production days being used on that machine in that plant during that month so this num-
ber must not exceed the number of production days available.
The purpose of the plant balance constraint for each plant product and month is to
give the correct value to the current inventory variable given the values of all the other
decision variables including the inventory level for the preceding month. Each of the SUM
operators in these constraints involves simply a sum of decision variables rather than a
vector product. This is the case also for the SUM operator in the maximum inventory con-
straints. By contrast the left-hand side of the maximum sales constraints is just a single
decision variable for each of the 1000 combinations of a plant product and month. Sep-
arating these upper-bound constraints on individual variables from the regular functional
constraints is advantageous because of the computational efficiencies that can be obtained
by using the upper bound technique described in Sec. 7.3. No lower-bound constraints
are shown here because MPL automatically assumes that all 21000 decision variables
have nonnegativity constraints unless nonzero lower bounds are specified. For each of the
3100 functional constraints note that the left-hand side is a linear function of the deci-
sion variables and the right-hand side is a constant taken from the appropriate data file.
Since the objective function also is a linear function of the decision variables this model
is a legitimate linear programming model.
To solve the model MPL supports various leading solvers software packages for
solving linear programming models and related models that can be installed into MPL.
As discussed in Sec. 4.8 CPLEX is a particularly prominent and powerful solver. The
version of MPL in your OR Courseware already has installed the student version of CPLEX
which uses the simplex method to solve linear programming models. Therefore to solve
such a model formulated with MPL all you have to do is choose Solve CPLEX from the
Run menu or press the Run Solve button in the Toolbar. You then can display the solution
file in a view window by pressing the View button at the bottom of the Status Window.
This brief introduction to MPL illustrates the ease with which modelers can use mod-
eling languages to formulate huge linear programming models in a clear concise way. To
assist you in using MPL an MPL Tutorial is included on the CD-ROM. This tutorial goes
through all the details of formulating smaller versions of the production planning exam-
ple considered here. You also can see elsewhere on the CD-ROM how all the other linear
programming examples in this chapter and subsequent chapters would be formulated with
MPL and solved by CPLEX.
The LINGO Modeling Language
LINGO is another popular modeling language that is featured in this book. The company
that produces LINGO LINDO Systems also produces a widely used solver called LINDO
as well as a spreadsheet solver What’sBest. All three share a common set of solvers based
78 3 INTRODUCTION TO LINEAR PROGRAMMING

slide 104:

on the simplex method and in more advanced versions on the kind of algorithmic tech-
niques introduced in Secs. 4.9 and 7.4 as well. We will discuss LINDO further in Sec.
4.8 and Appendix 4.1. As mentioned earlier the student version of LINGO is available
to you through downloading from the website www.lindo.com.
Like MPL LINGO enables a modeler to efficiently formulate a huge linear program-
ming model in a clear concise way. It also can be used for a wide variety of other models.
LINGO uses sets as its fundamental building block. For example in the Worldwide
Corp. production planning problem the sets of interest include the collections of prod-
ucts plants machines and months. Each member of a set may have one or more attrib-
utes associated with it such as the price of a product the inventory capacity of a plant
the production rate of a machine and the number of production days available in a month.
These attributes provide data for the model. Some set attributes such as production quan-
tities and shipping quantities can be decision variables for the model. As with MPL the
SUM operator is commonly used to write the objective function and each constraint type
in a compact form. After completing the formulation the model can be solved by se-
lecting the Solve command from the LINGO menu or pressing the Solve button on the
toolbar.
An appendix to this chapter describes LINGO further and illustrates its use on a cou-
ple of small examples. A supplement on the CD-ROM shows how LINGO can be used
to formulate the model for the Worldwide Corp. production planning example. A LINGO
tutorial on the CD-ROM provides the details needed for doing basic modeling with this
modeling language. The LINGO formulations and solutions for the various examples in
both this chapter and many other chapters also are included on the CD-ROM.
APPENDIX 3.1 THE LINGO MODELING LANGUAGE 79
Linear programming is a powerful technique for dealing with the problem of allocating
limited resources among competing activities as well as other problems having a similar
mathematical formulation. It has become a standard tool of great importance for numer-
ous business and industrial organizations. Furthermore almost any social organization is
concerned with allocating resources in some context and there is a growing recognition
of the extremely wide applicability of this technique.
However not all problems of allocating limited resources can be formulated to fit a
linear programming model even as a reasonable approximation. When one or more of the
assumptions of linear programming is violated seriously it may then be possible to apply
another mathematical programming model instead e.g. the models of integer program-
ming Chap. 12 or nonlinear programming Chap. 13.
3.8 CONCLUSIONS
LINGO is a mathematical modeling language designed particularly for formulating and solving a
wide variety of optimization problems including linear programming integer programming Chap.
12 and nonlinear programming Chap. 13 problems. Extensive details and a downloadable stu-
dent version can be found at www.lindo.com.
APPENDIX 3.1 THE LINGO MODELING LANGUAGE

slide 105:

Simple problems are entered into LINGO in a fairly natural fashion. To illustrate consider the
following linear programming problem.
Maximize Z 20x 31y
subject to
2x 5y 16
4x 3y 6
80 3 INTRODUCTION TO LINEAR PROGRAMMING
FIGURE A3.1
Screen shots showing the LINGO formulation and the LINGO solution report for a
simple linear programming problem.

slide 106:

and
x 0 y 0.
The screen shot in the top half of Fig. A3.1 shows how this problem would be formulated with
LINGO.
The first line of this formulation is just a comment describing the model. Note that the com-
ment is preceded by an exclamation point and ended by a semicolon. This is a requirement for all
comments in a LINGO formulation. The second line gives the objective function without bothering
to include the Z variable and indicates that it is to be maximized. Note that each multiplication needs
to be indicated by an asterisk. The objective function is ended by a semicolon as is each of the func-
tional constraints on the next two lines. The nonnegativity constraints are not shown in this formu-
lation because these constraints are automatically assumed by LINGO. If some variable x did not
have a nonnegativity constraint you would need to add FREEx at the end of the formulation.
Variables can be shown as either lowercase or uppercase since LINGO is case-insensitive. For
example a variable x
1
can be typed in as either x1 or X1. Similarly words can be either lowercase
or uppercase or a combination. For clarity we will use uppercase for all reserved words that have
a predefined meaning in LINGO.
Notice the menu bar at the top of the LINGO window in Fig. A3.1. The ‘File’ and ‘Edit’ menu
items behave in a standard Windows fashion. To solve a model once it has been entered click on
the ‘bullseye’ icon. If you are using a platform other than a Windows-based PC instead type the
GO command at the colon prompt and press the enter key. Before attempting to solve the model
LINGO will first check whether your model has any syntax errors and if so will indicate where
they occur. Assuming no such errors a solver will begin solving the problem during which time a
solver status window will appear on the screen. For linear programming models the solver used
is LINDO which will be described in some detail in the appendix to the next chapter. When the
solver finishes a Solution Report will appear on the screen.
The bottom half of Fig. A3.1 shows the solution report for our example. The Value column
gives the optimal values of the decision variables. The first entry in the Slack or Surplus column
shows the corresponding value of the objective function. The next two entries indicate the differ-
ence between the two sides of the respective constraints. The Reduced Cost and Dual Price columns
provide some sensitivity analysis information for the problem. After discussing postoptimality
analysis including sensitivity analysis in Sec. 4.7 we will explain what reduced costs and dual
prices are while describing LINDO in Appendix 4.1. These quantities provide only a portion of
the useful sensitivity analysis information. To generate a full sensitivity analysis report such as
shown in Appendix 4.1 for LINDO the Range command in the LINGO menu would need to be
chosen next.
Just as was illustrated with MPL in Sec. 3.7 LINGO is designed mainly for efficiently for-
mulating very large models by simultaneously dealing with all constraints or variables of the same
type. We soon will use the following example to illustrate how LINGO does this.
Example. Consider a production-mix problem where we are concerned with what mix of four
products we should produce during the upcoming week. For each product each unit produced re-
quires a known amount of production time on each of three machines. Each machine has a certain
number of hours of production time available per week. Each product provides a certain profit per
unit produced.
Table A3.1 shows three types of data: machine-related data product-related data and data re-
lated to combinations of a machine and product. The objective is to determine how much to pro-
duce of each product so that total profit is maximized while not exceeding the limited production
capacity of each machine.
APPENDIX 3.1 THE LINGO MODELING LANGUAGE 81

slide 107:

In standard algebraic form the structure of the linear programming model for this problem is
to choose the nonnegative production levels number of units produced during the upcoming week
for the four products so as to
Maximize
4
j 1
c
j
x
j
subject to
4
j 1
a
ij
x
j
b
j
for i 1 2 3
where
x
j
production level for product P0j
c
j
unit profit for product P0j
a
ij
production time on machine i per unit of product P0j
b
i
production time available per week on machine i.
This model is small enough with just 4 decision variables and 3 functional constraints that it
could be written out completely term by term but it would be tedious. In some similar applica-
tions there might instead be hundreds of decision variables and functional constraints so writing
out a term-by-term version of this model each week would not be practical. LINGO provides a much
more efficient and compact formulation comparable to the above summary of the model as we will
see next.
Formulation of the Model in LINGO
This model has a repetitive nature. All the decision variables are of the same type and all the func-
tional constraints are of the same type. LINGO uses sets to describe this repetitive nature.
1
The sim-
ple sets of interest in this case are
1. The set of machines Roll Cut Weld.
2. The set of products P01 P02 P03 P04.
82 3 INTRODUCTION TO LINEAR PROGRAMMING
TABLE A3.1 Data needed for the product-mix example
Production Time per Unit Hours
Product
Production Time
Machine P01 P02 P03 P04 Available per Week Hours
Roll 1.7 2.1 1.4 2.4 28
Cut 1.1 2.5 1.7 2.6 34
Weld 1.6 1.3 1.6 0.8 21
Profit per unit 26 35 25 37
1
Order is implied in LINGO sets so strictly speaking they are not truly sets in the usual mathematical sense.

slide 108:

The attributes of interest for the members of these sets are
1. Attribute for each machine: Number of hours of production time available per week.
2. Attributes for each product: Profit per unit produced Number of units produced per week.
Thus the first two types of attributes are input data that will become parameters of the model
whereas the last type number of units produced per week of the respective products provides the
decision variables for the model. Let us abbreviate these attributes as follows.
machine: ProdHoursAvail
product: Profit Produce.
One other key type of information is the number of hours of production time that each unit of
each product would use on each of the machines. This number can be viewed as an attribute for
the members of the set of all combinations of a product and a machine. Since this set is derived
from the two simple sets it is referred to as a derived set. Let us abbreviate the attribute for mem-
bers of this set as follows.
MaPr machine product: ProdHoursUsed
A LINGO formulation typically has three sections.
1. A SETS section that specifies the sets and their attributes. You can think of it as describing the
structure of the data.
2. A DATA section that either provides the data to be used or indicates where it is to be obtained.
3. A section that provides the mathematical model itself.
We begin by showing the first two sections for the example below.
LINGO3h
Product mix example
Notice: the SETS section says nothing about the number or names of
the machines or products. That information is determined
completely by supplied data
SETS:
The simple sets
Machine: ProdHoursAvail
Product: Profit Produce
A derived set
MaPr Machine Product: ProdHoursUsed
ENDSETS
DATA:
Get the names of the machines
Machine Roll Cut Weld
Hours available on each machine
ProdHoursAvail 28 34 21
Get the names of the products
Product P01 P02 P03 P04
Profit contribution per unit
Profit 26 35 25 37
Hours needed per unit of product
ProdHoursUsed 1.7 2.1 1.4 2.4 Roll
1.1 2.5 1.7 2.6 Cut
1.6 1.3 1.6 0.8 Weld
ENDDATA
APPENDIX 3.1 THE LINGO MODELING LANGUAGE 83

slide 109:

Before presenting the mathematical model itself we need to introduce two key set looping
functions that enable applying an operation to all members of a set by using a single statement. One
is the SUM function which computes the sum of an expression over all members of a set. The
general form of SUM is SUM set: expression. For every member of the set the expres-
sion is computed and then they are all added up. For example
SUM Productj: ProfitjProducej
sums the expression following the colon—the unit profit of a product times the production rate of
the product—over all members of the set preceding the colon. In particular since this set is the set
of products Product j for j 1 2 3 4 the sum is over the index j. Therefore this specific
SUM function provides the objective function
4
j 1
c
j
x
j
given earlier for the model.
The second key set looping function is the FOR function. This function is used to gener-
ate constraints over members of a set. The general form is FOR set: constraint. For
example
FORMachinei:
SUM Producti: ProdHoursUsedi jProduce j
ProdHoursAvail i j
says to generate the constraint following the colon for each member of the set preceding the colon.
The “less than or equal to” symbol is not on the standard keyboard so LINGO treats the stan-
dard keyboard symbols as equivalent to . This set is the set of machines Machine i for
i 1 2 3 so this function loops over the index i. For each i the constraint following the colon
was expressed algebraically earlier as
4
j 1
a
ij
x
j
b
j
.
Therefore after the third section of the LINGO formulation the mathematical model itself is
added we obtain the complete formulation shown below:
LINGO3h
Product mix example
SETS:
The simple sets
Machine: ProdHoursAvail
Product: Profit Produce
A derived set
MaPr Machine Product: ProdHoursUsed
ENDSETS
DATA:
Get the names of the machines
Machine Roll Cut Weld
Hours available on each machine
ProdHoursAvail 28 34 21
84 3 INTRODUCTION TO LINEAR PROGRAMMING

slide 110:

Get the names of the products
Product P01 P02 P03 P04
Profit contribution per unit
Profit 26 35 25 37
Hours needed per unit of product
ProdHoursUsed 1.7 2.1 1.4 2.4 Roll
1.1 2.5 1.7 2.6 Cut
1.6 1.3 1.6 0.8 Weld
ENDDATA
Maximize total profit contribution
MAX SUM Producti: Profiti Producei
For each machine i
FOR Machine i:
Hours used must be hours available
SUM Product j: ProdHoursUsed i j Produce j
ProdHoursAvail
The model is solved by pressing the ‘bullseye’ button on the LINGO command bar. Pressing
the ‘x ’ button on the command bar produces a report that looks in part as follows:
Variable Value Reduced Cost
PRODUCE P01 0.0000000 3.577921
PRODUCE P02 10.00000 0.0000000
PRODUCE P03 5.000000 0.0000000
PRODUCE P04 0.0000000 1.441558
Row Slack or Surplus Dual Price
1 475.0000 1.000000
2 0.0000000 15.25974
3 0.5000000 0.0000000
4 0.0000000 2.272727
Thus we should produce 10 units of product P02 and 5 units of product P03 where Row 1 gives
the resulting total profit of 475. Notice that this solution exactly uses the available capacity on the
first and third machines since Rows 2 and 4 give a Slack or Surplus of 0 and leaves the second
machine with 0.5 hour of idleness. We will discuss reduced costs and dual prices in Appendix 4.1
in conjunction with LINDO.
The rows section of this report is slightly ambiguous in that you need to remember that Row
1 in the model concerns the objective function and the subsequent rows involve the constraints on
machine capacities. This association can be made more clear in the report by giving names to each
constraint in the model. This is done by enclosing the name in placed just in front of the con-
straint. See the following modified fragment of the model.
Totprof MAX SUM Product: Profit Produce
For each machine i
FOR Machine i:
Hours used must be hours available
Capc SUM Product j: ProdHoursUsed i j Produce j
ProdHoursAvail
APPENDIX 3.1 THE LINGO MODELING LANGUAGE 85

slide 111:

The solution report now contains these row names.
Row Slack or Surplus Dual Price
TOTPROF 475.0000 1.000000
CAPC ROLL 0.0000000 15.25974
CAPC CUT 0.5000000 0.0000000
CAPC WELD 0.0000000 2.272727
An important feature of a LINGO model like this one is that it is completely “scalable” in prod-
ucts and machines. In other words if you wanted to solve another version of this product-mix prob-
lem with a different number of machines and products you would only have to enter the new data
in the DATA section. You would not need to change the SETS section or any of the equations. This
conversion could be done by clerical personnel without any understanding of the model equations.
Importing and Exporting Spreadsheet Data with LINGO
The above example was completely self-contained in the sense that all the data were directly in-
corporated into the LINGO formulation. In some other applications a large body of data will be
stored in some source and will need to be entered into the model from that source. One popular
place for storing data is spreadsheets.
LINGO has a simple functionOLE for retrieving and placing data from and into spread-
sheets. To illustrate let us suppose the data for our product-mix problem were originally entered
into a spreadsheet as shown in Fig. A3.2. For the moment we are interested only in the shaded cells
86 3 INTRODUCTION TO LINEAR PROGRAMMING
FIGURE A3.2
Screen shot showing data for
the product-mix example
entered in a spreadsheet.

slide 112:

in columns A-B and E-H. The data in these cells completely describe our little product-mix exam-
ple. We want to avoid retyping these data into our LINGO model. Suppose that this spreadsheet is
stored in the file d:\dirfred7\wbest03i.xls. The only part of the LINGO model that needs to be
changed is the DATA section as shown below.
DATA:
Get the names of the machines
Machine OLE ‘d:\dirfred7\wbest03i.xls’
Hours available on each machine
ProdHoursAvail OLE ‘d:\dirfred7\wbest03i.xls’
Get the names of the products
Product OLE ‘d:\dirfred7\wbest03i.xls’
Profit contribution per unit
Profit OLE ‘d:\dirfred7\wbest03i.xls’
Hours needed per unit of product
ProdHoursUsed OLE ‘d:\dirfred7\wbest03i.xls’
Send the solution values back
OLE ‘d:\dirfred7\wbest03i.xls’ Produce
ENDDATA
The OLE function acts as your “plumbing contractor.” It lets the data flow from the spreadsheet
to LINGO and back to the spreadsheet. So-called Object Linking and Embedding OLE is a fea-
ture of the Windows operating system. LINGO exploits this feature to make a link between the
LINGO model and a spreadsheet. The first five uses of OLE above illustrate that this function
can be used on the right of an assignment statement to retrieve data from a spreadsheet. The last
use above illustrates that this function can be placed on the left of an assignment statement to place
solution results into the spreadsheet instead. Notice from Fig. A3.2 that the optimal solution has
been placed back into the spreadsheet in cells E6:H6. One simple but hidden step that had to be
done beforehand in the spreadsheet was to define range names for the various collections of cells
containing the data. Range names can be defined in Excel by using the mouse and the Insert Name
Define menu item. For example the set of cells A9:A11 was given the range name of Machine.
Similarly the set of cells E4:H4 was given the range name Product.
Importing and Exporting from a Database with LINGO
Another common repository for data in a large firm is in a database. In a manner similar to OLE
LINGO has a connection function ODBC for transferring data from and to a database. This
function is based around the Open DataBase Connectivity ODBC standard for communicating
with SQL Structured Query Language databases. Most popular databases such as Oracle Para-
dox DB/2 MS Access and SQL Server support the ODBC convention.
Let us illustrate the ODBC connection for our little product-mix example. Suppose that all the
data describing our problem are stored in a database called acces03j. The modification required in
the LINGO model is almost trivial. Only the DATA section needs to be changed as illustrated in
the following fragment from the LINGO model.
DATA:
Get the names of the machines and available hours
Machine ProdHoursAvail ODBC ‘acces03j’
Get the names of the products and profits
Product Profit ODBC ‘acces03j’
APPENDIX 3.1 THE LINGO MODELING LANGUAGE 87

slide 113:

Hours needed per unit of product
ProdHoursUsed ODBC ‘acces03j’
Send the solution values back
ODBC ‘acces03j’ Produce
ENDDATA
Notice that similar to the spreadsheet-based model the size of the model in terms of the num-
ber of variables and constraints is determined completely by what is found in the database. The
LINGO model automatically adjusts to what is found in the database.
Now let us show what is in the database considered above. It contains three related tables. We
give these tables names to match those in the LINGO model namely ‘Machine’ to hold machine-
related data ‘Product’ to hold product-related data and ‘MaPr’ to hold data related to combina-
tions of machines and products. Here is what the tables look like on the screen:
88 3 INTRODUCTION TO LINEAR PROGRAMMING
Product
Product Profit Produce
P01 26
P02 35
P03 25
P04 37
Machine
Machine ProdHoursAvail
Roll 28
Cut 34
Weld 21
MaPr
Machine Product ProdHoursUsed
Roll P01 1.7
Roll P02 2.1
Roll P03 1.4
Roll P04 2.4
Cut P01 1.1
Cut P02 2.5
Cut P03 1.7
Cut P04 2.6
Weld P01 1.6
Weld P02 1.3
Weld P03 1.6
Weld P04 0.8

slide 114:

Notice that the ‘Produce’ column has been left blank in the Product table. Once we solve the
model the ‘Produce’ amounts get inserted into the database and the Product table looks as follows:
SELECTED REFERENCES 89
There is one complication in using ODBC in Windows 95. The user must “register” the data-
base with the Windows ODBC administrator. One does this by accessing with mouse clicks the
My Computer/Control Panel/ODBC32 window. Once there the user must give a name to the data-
base which may differ from the actual name of the file in which the data tables reside and spec-
ify the directory in which the database file resides. It is this registered name that should be used in
the LINGO model. Because the database has been registered you did not see a directory specifi-
cation in the ODBC ‘acces03j’ in the LINGO model. The ODBC manager knows the loca-
tion of the database just from its name.
More about LINGO
Only some of the capabilities of LINGO have been illustrated in this appendix. More details can be
found in the documentation that accompanies LINGO when it is downloaded. LINGO is available
in a variety of sizes. The smallest version is the demo version that can be downloaded from
www.lindo.com. It is designed for textbook-sized problems currently a maximum of 150 functional
constraints and 300 decision variables. However the largest version called the extended version
is limited only by the storage space available. Tens of thousands of functional constraints and hun-
dreds of thousands of decision variables are not unusual.
If you would like to see how LINGO can formulate a huge model like the production planning
example introduced in Sec. 3.7 a supplement to this appendix on the book’s website
www.mhhe.com/hillier shows the LINGO formulation of this example. By reducing the number of
products plants machines and months the supplement also introduces actual data into the formu-
lation and then shows the complete solution. The supplement goes on to discuss and illustrate the
debugging and verification of this large model. The supplement also describes further how to re-
trieve data from external files including spreadsheets and how to insert results in existing files.
In addition to this supplement the CD-ROM includes both a LINGO tutorial and
LINGO/LINDO files with numerous examples of LINGO formulations.
Product
Product Profit Produce
P01 26 0
P02 35 10
P03 25 5
P04 37 0
1. Anderson D. R. D. J. Sweeney and T. A. Williams: An Introduction to Management Science
9th ed. West St. Paul MN 2000 chaps. 2 4.
2. Gass S.: An Illustrated Guide to Linear Programming Dover Publications New York 1990.
3. Hillier F. S. M. S. Hillier and G. J. Lieberman: Introduction to Management Science: A Mod-
eling and Case Studies Approach with Spreadsheets Irwin/McGraw-Hill Burr Ridge IL 2000
chaps. 2 3.
SELECTED REFERENCES

slide 115:

4. LINGO User’s Guide LINDO Systems Inc. Chicago IL e-mail: infolindo.com 1999.
5. MPL Modeling System Release 4.0 manual Maximal Software Inc. Arlington VA e-mail:
infomaximal-usa.com 1998.
6. Williams H. P.: Model Building in Mathematical Programming 3d ed. Wiley New York 1990.
90 3 INTRODUCTION TO LINEAR PROGRAMMING
The symbols to the left of some of the problems or their parts
have the following meaning:
D: The demonstration example listed above may be helpful.
C: Use the computer to solve the problem by applying the sim-
plex method. The available software options for doing this in-
clude the Excel Solver or Premium Solver Sec. 3.6
MPL/CPLEX Sec. 3.7 LINGO Appendix 3.1 and LINDO
Appendix 4.1 but follow any instructions given by your in-
structor regarding the option to use.
An asterisk on the problem number indicates that at least a partial
answer is given in the back of the book.
D 3.1-1. For each of the following constraints draw a separate
graph to show the nonnegative solutions that satisfy this constraint.
a x
1
3x
2
6
b 4x
1
3x
2
12
c 4x
1
x
2
8
PROBLEMS
d Now combine these constraints into a single graph to show the
feasible region for the entire set of functional constraints plus
nonnegativity constraints.
D 3.1-2. Consider the following objective function for a linear pro-
gramming model:
Maximize Z 2x
1
3x
2
a Draw a graph that shows the corresponding objective function
lines for Z 6 Z 12 and Z 18.
b Find the slope-intercept form of the equation for each of these
three objective function lines. Compare the slope for these three
lines. Also compare the intercept with the x
2
axis.
3.1-3. Consider the following equation of a line:
20x
1
40x
2
400
a Find the slope-intercept form of this equation.
A Demonstration Example in OR Tutor:
Graphical Method
An Excel Add-In:
Premium Solver
“Ch. 3—Intro to LP” Files for Solving the Examples:
Excel File
LINGO/LINDO File
MPL/CPLEX File
Supplement to Appendix 3.1:
More about LINGO appears on the book’s website www.mhhe.com/hillier.
See Appendix 1 for documentation of the software.
LEARNING AIDS FOR THIS CHAPTER IN YOUR OR COURSEWARE

slide 116:

all if the profit per wood-framed window decreases from 60
to 40 From 60 to 20
e Doug is considering lowering his working hours which would
decrease the number of wood frames he makes per day. How
would the optimal solution change if he makes only 5 wood
frames per day
3.1-7. The Apex Television Company has to decide on the num-
ber of 27- and 20-inch sets to be produced at one of its factories.
Market research indicates that at most 40 of the 27-inch sets and
10 of the 20-inch sets can be sold per month. The maximum num-
ber of work-hours available is 500 per month. A 27-inch set re-
quires 20 work-hours and a 20-inch set requires 10 work-hours.
Each 27-inch set sold produces a profit of 120 and each 20-inch
set produces a profit of 80. A wholesaler has agreed to purchase
all the television sets produced if the numbers do not exceed the
maxima indicated by the market research.
a Formulate a linear programming model for this problem.
D b Use the graphical method to solve this model.
3.1-8. The WorldLight Company produces two light fixtures prod-
ucts 1 and 2 that require both metal frame parts and electrical
components. Management wants to determine how many units of
each product to produce so as to maximize profit. For each unit of
product 1 1 unit of frame parts and 2 units of electrical compo-
nents are required. For each unit of product 2 3 units of frame
parts and 2 units of electrical components are required. The com-
pany has 200 units of frame parts and 300 units of electrical com-
ponents. Each unit of product 1 gives a profit of 1 and each unit
of product 2 up to 60 units gives a profit of 2. Any excess over
60 units of product 2 brings no profit so such an excess has been
ruled out.
a Formulate a linear programming model for this problem.
D b Use the graphical method to solve this model. What is the
resulting total profit
3.1-9. The Primo Insurance Company is introducing two new prod-
uct lines: special risk insurance and mortgages. The expected profit
is 5 per unit on special risk insurance and 2 per unit on mort-
gages.
Management wishes to establish sales quotas for the new prod-
uct lines to maximize total expected profit. The work requirements
are as follows:
b Use this form to identify the slope and the intercept with the
x
2
axis for this line.
c Use the information from part b to draw a graph of this line.
D 3.1-4. Use the graphical method to solve the problem:
Maximize Z 2x
1
x
2
subject to
x
2
10
2x
1
5x
2
60
x
1
x
2
18
3x
1
x
2
44
and
x
1
0 x
2
0.
D 3.1-5. Use the graphical method to solve the problem:
Maximize Z 10x
1
20x
2
subject to
x
1
2x
2
15
x
1
x
2
12
5x
1
3x
2
45
and
x
1
0 x
2
0.
3.1-6. The Whitt Window Company is a company with only three
employees which makes two different kinds of hand-crafted win-
dows: a wood-framed and an aluminum-framed window. They earn
60 profit for each wood-framed window and 30 profit for each
aluminum-framed window. Doug makes the wood frames and can
make 6 per day. Linda makes the aluminum frames and can make
4 per day. Bob forms and cuts the glass and can make 48 square
feet of glass per day. Each wood-framed window uses 6 square feet
of glass and each aluminum-framed window uses 8 square feet of
glass.
The company wishes to determine how many windows of each
type to produce per day to maximize total profit.
a Describe the analogy between this problem and the Wyndor
Glass Co. problem discussed in Sec. 3.1. Then construct and
fill in a table like Table 3.1 for this problem identifying both
the activities and the resources.
b Formulate a linear programming model for this problem.
D c Use the graphical model to solve this model.
d A new competitor in town has started making wood-framed
windows as well. This may force the company to lower the
price they charge and so lower the profit made for each wood-
framed window. How would the optimal solution change if at
CHAPTER 3 PROBLEMS 91
Work-Hours per Unit
Work-Hours
Department Special Risk Mortgage Available
Underwriting 3 2 2400
Administration 0 1 800
Claims 2 0 1200

slide 117:

The sales department indicates that the sales potential for
products 1 and 2 exceeds the maximum production rate and that
the sales potential for product 3 is 20 units per week. The unit
profit would be 50 20 and 25 respectively on products 1 2
and 3. The objective is to determine how much of each product
Omega should produce to maximize profit.
a Formulate a linear programming model for this problem.
C b Use a computer to solve this model by the simplex method.
D 3.1-12. Consider the following problem where the value of c
1
has not yet been ascertained.
Maximize Z c
1
x
1
x
2
subject to
x
1
x
2
6
x
1
2x
2
10
and
x
1
0 x
2
0.
Use graphical analysis to determine the optimal solutions for
x
1
x
2
for the various possible values of c
1
c
1
.
D 3.1-13. Consider the following problem where the value of k
has not yet been ascertained.
Maximize Z x
1
2x
2
subject to
x
1
x
2
2
x
2
3
kx
1
x
2
2k 3 where k 0
and
x
1
0 x
2
0.
The solution currently being used is x
1
2 x
2
3. Use graphical
analysis to determine the values of k such that this solution actu-
ally is optimal.
D 3.1-14. Consider the following problem where the values of c
1
and c
2
have not yet been ascertained.
Maximize Z c
1
x
1
c
2
x
2
subject to
2x
1
x
2
11
x
1
2x
2
2
and
x
1
0 x
2
0.
Use graphical analysis to determine the optimal solutions for
x
1
x
2
for the various possible values of c
1
and c
2
. Hint: Sepa-
a Formulate a linear programming model for this problem.
D b Use the graphical method to solve this model.
c Verify the exact value of your optimal solution from part b
by solving algebraically for the simultaneous solution of the
relevant two equations.
3.1-10. Weenies and Buns is a food processing plant which man-
ufactures hot dogs and hot dog buns. They grind their own flour
for the hot dog buns at a maximum rate of 200 pounds per week.
Each hot dog bun requires 0.1 pound of flour. They currently have
a contract with Pigland Inc. which specifies that a delivery of 800
pounds of pork product is delivered every Monday. Each hot dog
requires
1
4
pound of pork product. All the other ingredients in the
hot dogs and hot dog buns are in plentiful supply. Finally the la-
bor force at Weenies and Buns consists of 5 employees working
full time 40 hours per week each. Each hot dog requires 3 min-
utes of labor and each hot dog bun requires 2 minutes of labor.
Each hot dog yields a profit of 0.20 and each bun yields a profit
of 0.10.
Weenies and Buns would like to know how many hot dogs
and how many hot dog buns they should produce each week so as
to achieve the highest possible profit.
a Formulate a linear programming model for this problem.
D b Use the graphical method to solve this model.
3.1-11. The Omega Manufacturing Company has discontinued
the production of a certain unprofitable product line. This act cre-
ated considerable excess production capacity. Management is con-
sidering devoting this excess capacity to one or more of three prod-
ucts call them products 1 2 and 3. The available capacity on the
machines that might limit output is summarized in the following
table:
92 3 INTRODUCTION TO LINEAR PROGRAMMING
Available Time
Machine Type Machine Hours per Week
Milling machine 500
Lathe 350
Grinder 150
The number of machine hours required for each unit of the re-
spective products is
Productivity coefficient in machine hours per unit
Machine Type Product 1 Product 2 Product 3
Milling machine 9 3 5
Lathe 5 4 0
Grinder 3 0 2

slide 118:

3.2-3. This is your lucky day. You have just won a 10000 prize.
You are setting aside 4000 for taxes and partying expenses but
you have decided to invest the other 6000. Upon hearing this
news two different friends have offered you an opportunity to be-
come a partner in two different entrepreneurial ventures one
planned by each friend. In both cases this investment would in-
volve expending some of your time next summer as well as putting
up cash. Becoming a full partner in the first friend’s venture would
require an investment of 5000 and 400 hours and your estimated
profit ignoring the value of your time would be 4500. The cor-
responding figures for the second friend’s venture are 4000 and
500 hours with an estimated profit to you of 4500. However
both friends are flexible and would allow you to come in at any
fraction of a full partnership you would like. If you choose a frac-
tion of a full partnership all the above figures given for a full part-
nership money investment time investment and your profit
would be multiplied by this same fraction.
Because you were looking for an interesting summer job any-
way maximum of 600 hours you have decided to participate in
one or both friends’ ventures in whichever combination would max-
imize your total estimated profit. You now need to solve the prob-
lem of finding the best combination.
a Describe the analogy between this problem and the Wyndor
Glass Co. problem discussed in Sec. 3.1. Then construct and
fill in a table like Table 3.1 for this problem identifying both
the activities and the resources.
b Formulate a linear programming model for this problem.
D c Use the graphical method to solve this model. What is your
total estimated profit
D 3.2-4. Use the graphical method to find all optimal solutions for
the following model:
Maximize Z 500x
1
300x
2
subject to
15x
1
5x
2
300
10x
1
6x
2
240
8x
1
12x
2
450
and
x
1
0 x
2
0.
D 3.2-5. Use the graphical method to demonstrate that the fol-
lowing model has no feasible solutions.
Maximize Z 5x
1
7x
2
subject to
2x
1
x
2
1
x
1
2x
2
1
rate the cases where c
2
0 c
2
0 and c
2
0. For the latter two
cases focus on the ratio of c
1
to c
2
.
3.2-1. The following table summarizes the key facts about two
products A and B and the resources Q R and S required to pro-
duce them.
CHAPTER 3 PROBLEMS 93
All the assumptions of linear programming hold.
a Formulate a linear programming model for this problem.
D b Solve this model graphically.
c Verify the exact value of your optimal solution from part b
by solving algebraically for the simultaneous solution of the
relevant two equations.
3.2-2. The shaded area in the following graph represents the fea-
sible region of a linear programming problem whose objective
function is to be maximized.
Resource Usage
per Unit Produced
Amount of Resource
Resource Product A Product B Available
Q2 1 2
R1 2 2
S3 3 4
Profit per unit 3 2
6 0
x
1
0 2
0 0
x
2
6 3
3 3
Label each of the following statements as True or False and then
justify your answer based on the graphical method. In each case
give an example of an objective function that illustrates your an-
swer.
a If 3 3 produces a larger value of the objective function than
0 2 and 6 3 then 3 3 must be an optimal solution.
b If 3 3 is an optimal solution and multiple optimal solutions
exist then either 0 2 or 6 3 must also be an optimal so-
lution.
c The point 0 0 cannot be an optimal solution.

slide 119:

a Design of radiation therapy Mary.
b Regional planning Southern Confederation of Kibbutzim.
c Controlling air pollution Nori Leets Co..
3.4-2. For each of the four assumptions of linear programming dis-
cussed in Sec. 3.3 write a one-paragraph analysis of how well it
applies to each of the following examples given in Sec. 3.4.
a Reclaiming solid wastes Save-It Co..
b Personnel scheduling Union Airways.
c Distributing goods through a distribution network Distribu-
tion Unlimited Co..
D 3.4-3. Use the graphical method to solve this problem:
Maximize Z 15x
1
20x
2
subject to
x
1
2x
2
10
2x
1
3x
2
6
x
1
x
2
6
and
x
1
0 x
2
0.
D 3.4-4. Use the graphical method to solve this problem:
Minimize Z 3x
1
2x
2
subject to
x
1
2x
2
12
2x
1
3x
2
12
2x
1
x
2
8
and
x
1
0 x
2
0.
D 3.4-5. Consider the following problem where the value of c
1
has not yet been ascertained.
Maximize Z c
1
x
1
2x
2
subject to
4x
1
x
2
12
x
1
x
2
2
and
x
1
0 x
2
0.
Use graphical analysis to determine the optimal solutions for
x
1
x
2
for the various possible values of c
1
.
D 3.4-6. Consider the following model:
Minimize Z 40x
1
50x
2
and
x
1
0 x
2
0.
D 3.2-6. Suppose that the following constraints have been pro-
vided for a linear programming model.
x
1
3x
2
30
3x
1
x
2
30
and
x
1
0 x
2
0.
a Demonstrate that the feasible region is unbounded.
b If the objective is to maximize Z x
1
x
2
does the model
have an optimal solution If so find it. If not explain why not.
c Repeat part b when the objective is to maximize Z x
1
x
2
.
d For objective functions where this model has no optimal solu-
tion does this mean that there are no good solutions accord-
ing to the model Explain. What probably went wrong when
formulating the model
3.3-1. Reconsider Prob. 3.2-3. Indicate why each of the four as-
sumptions of linear programming Sec. 3.3 appears to be reason-
ably satisfied for this problem. Is one assumption more doubtful
than the others If so what should be done to take this into ac-
count
3.3-2. Consider a problem with two decision variables x
1
and x
2
which represent the levels of activities 1 and 2 respectively. For
each variable the permissible values are 0 1 and 2 where the fea-
sible combinations of these values for the two variables are deter-
mined from a variety of constraints. The objective is to maximize
a certain measure of performance denoted by Z. The values of Z
for the possibly feasible values of x
1
x
2
are estimated to be those
given in the following table:
94 3 INTRODUCTION TO LINEAR PROGRAMMING
x
2
x
1
01 2
00 4 8
13 8 13
2 6 12 18
Based on this information indicate whether this problem com-
pletely satisfies each of the four assumptions of linear program-
ming. Justify your answers.
3.4-1. For each of the four assumptions of linear programming dis-
cussed in Sec. 3.3 write a one-paragraph analysis of how well you
feel it applies to each of the following examples given in Sec. 3.4:

slide 120:

Each pig requires at least 8000 calories per day and at least 700
units of vitamins. A further constraint is that no more than one-third
of the diet by weight can consist of Feed Type A since it contains
an ingredient which is toxic if consumed in too large a quantity.
a Formulate a linear programming model for this problem.
D b Use the graphical method to solve this model. What is the
resulting daily cost per pig
3.4-9. Web Mercantile sells many household products through an
on-line catalog. The company needs substantial warehouse space
for storing its goods. Plans now are being made for leasing ware-
house storage space over the next 5 months. Just how much space
will be required in each of these months is known. However since
these space requirements are quite different it may be most eco-
nomical to lease only the amount needed each month on a month-
by-month basis. On the other hand the additional cost for leasing
space for additional months is much less than for the first month
so it may be less expensive to lease the maximum amount needed
for the entire 5 months. Another option is the intermediate approach
of changing the total amount of space leased by adding a new lease
and/or having an old lease expire at least once but not every month.
The space requirement and the leasing costs for the various
leasing periods are as follows:
subject to
2x
1
3x
2
30
x
1
x
2
12
2x
1
x
2
20
and
x
1
0 x
2
0.
a Use the graphical method to solve this model.
b How does the optimal solution change if the objective func-
tion is changed to Z 40x
1
70x
2
c How does the optimal solution change if the third functional
constraint is changed to 2x
1
x
2
15
3.4-7. Ralph Edmund loves steaks and potatoes. Therefore he has
decided to go on a steady diet of only these two foods plus some
liquids and vitamin supplements for all his meals. Ralph realizes
that this isn’t the healthiest diet so he wants to make sure that he
eats the right quantities of the two foods to satisfy some key nu-
tritional requirements. He has obtained the following nutritional
and cost information:
CHAPTER 3 PROBLEMS 95
Ralph wishes to determine the number of daily servings may be
fractional of steak and potatoes that will meet these requirements
at a minimum cost.
a Formulate a linear programming model for this problem.
D b Use the graphical method to solve this model.
C c Use a computer to solve this model by the simplex method.
3.4-8. Dwight is an elementary school teacher who also raises pigs
for supplemental income. He is trying to decide what to feed his
pigs. He is considering using a combination of pig feeds available
from local suppliers. He would like to feed the pigs at minimum
cost while also making sure each pig receives an adequate supply
of calories and vitamins. The cost calorie content and vitamin
content of each feed is given in the table below.
Grams of Ingredient
per Serving
Daily Requirement
Ingredient Steak Potatoes Grams
Carbohydrates 5 15 50
Protein 20 5 40
Fat 15 2 60
Cost per serving 4 2
Contents Feed Type A Feed Type B
Calories per pound 800 1000
Vitamins per pound 140 units 70 units
Cost per pound 0.40 0.80
The objective is to minimize the total leasing cost for meeting the
space requirements.
a Formulate a linear programming model for this problem.
C b Solve this model by the simplex method.
3.4-10. Larry Edison is the director of the Computer Center for
Buckly College. He now needs to schedule the staffing of the cen-
ter. It is open from 8 A.M. until midnight. Larry has monitored the
usage of the center at various times of the day and determined that
the following number of computer consultants are required:
Required Leasing Period Cost per Sq. Ft.
Month Space Sq. Ft. Months Leased
1 30000 1 65
2 20000 2 100
3 40000 3 135
4 10000 4 160
5 50000 5 190
Minimum Number of Consultants
Time of Day Required to Be on Duty
8 A.M.–noon 4
Noon–4 P.M.8
4 P.M.–8 P.M.10
8 P.M.–midnight 6

slide 121:

Management now wants to determine the most economical
plan for shipping the iron ore from the mines through the distrib-
ution network to the steel plant.
a Formulate a linear programming model for this problem.
C b Solve this model by the simplex method.
Two types of computer consultants can be hired: full-time and
part-time. The full-time consultants work for 8 consecutive hours
in any of the following shifts: morning 8 A.M.–4 P.M. afternoon
noon–8 P.M. and evening 4 P.M.–midnight. Full-time consultants
are paid 14 per hour.
Part-time consultants can be hired to work any of the four
shifts listed in the above table. Part-time consultants are paid 12
per hour.
An additional requirement is that during every time period
there must be at least 2 full-time consultants on duty for every part-
time consultant on duty.
Larry would like to determine how many full-time and how
many part-time workers should work each shift to meet the above
requirements at the minimum possible cost.
a Formulate a linear programming model for this problem.
C b Solve this model by the simplex method.
3.4-11. The Medequip Company produces precision medical di-
agnostic equipment at two factories. Three medical centers have
placed orders for this month’s production output. The table to the
right shows what the cost would be for shipping each unit from
each factory to each of these customers. Also shown are the num-
ber of units that will be produced at each factory and the number
of units ordered by each customer. Go to the next column.
96 3 INTRODUCTION TO LINEAR PROGRAMMING
A decision now needs to be made about the shipping plan for
how many units to ship from each factory to each customer.
a Formulate a linear programming model for this problem.
C b Solve this model by the simplex method.
3.4-12. The Fagersta Steelworks currently is working two mines
to obtain its iron ore. This iron ore is shipped to either of two stor-
age facilities. When needed it then is shipped on to the company’s
steel plant. The diagram below depicts this distribution network
where M1 and M2 are the two mines S1 and S2 are the two stor-
age facilities and P is the steel plant. The diagram also shows the
monthly amounts produced at the mines and needed at the plant
as well as the shipping cost and the maximum amount that can be
shipped per month through each shipping lane. Go to the left col-
umn below the diagram.
Unit Shipping Cost
To
From Customer 1 Customer 2 Customer 3 Output
Factory 1 600 800 700 400 units
Factory 2 400 900 600 500 units
Order size 300 units 200 units 400 units
M1 S1
M2 S2
P
40 tons
produced
60 tons
produced
800/ton
70 tons max.
400/ton
70 tons max.
1600/ton
50 tons max.
1100/ton
50 tons max.
2000/ton
30 tons max.
1700/ton
30 tons max.
100 tons
needed
3.4-13. Al Ferris has 60000 that he wishes to invest now in or-
der to use the accumulation for purchasing a retirement annuity in
5 years. After consulting with his financial adviser he has been of-
fered four types of fixed-income investments which we will label
as investments A B C D.

slide 122:

small—that yield a net unit profit of 420 360 and 300 re-
spectively. Plants 1 2 and 3 have the excess capacity to produce
750 900 and 450 units per day of this product respectively re-
gardless of the size or combination of sizes involved.
The amount of available in-process storage space also imposes
a limitation on the production rates of the new product. Plants 1
2 and 3 have 13000 12000 and 5000 square feet respectively
of in-process storage space available for a day’s production of this
product. Each unit of the large medium and small sizes produced
per day requires 20 15 and 12 square feet respectively.
Sales forecasts indicate that if available 900 1200 and 750
units of the large medium and small sizes respectively would be
sold per day.
At each plant some employees will need to be laid off unless
most of the plant’s excess production capacity can be used to pro-
duce the new product. To avoid layoffs if possible management
has decided that the plants should use the same percentage of their
excess capacity to produce the new product.
Management wishes to know how much of each of the sizes
should be produced by each of the plants to maximize profit.
a Formulate a linear programming model for this problem.
C b Solve this model by the simplex method.
3.4-16 A cargo plane has three compartments for storing cargo:
front center and back. These compartments have capacity limits
on both weight and space as summarized below:
Investments A and B are available at the beginning of each of
the next 5 years call them years 1 to 5. Each dollar invested in
A at the beginning of a year returns 1.40 a profit of 0.40 2
years later in time for immediate reinvestment. Each dollar in-
vested in B at the beginning of a year returns 1.70 three years
later.
Investments C and D will each be available at one time in the
future. Each dollar invested in C at the beginning of year 2 returns
1.90 at the end of year 5. Each dollar invested in D at the begin-
ning of year 5 returns 1.30 at the end of year 5.
Al wishes to know which investment plan maximizes the amount
of money that can be accumulated by the beginning of year 6.
a All the functional constraints for this problem can be expressed
as equality constraints. To do this let A
t
B
t
C
t
and D
t
be the
amount invested in investment A B C and D respectively at
the beginning of year t for each t where the investment is avail-
able and will mature by the end of year 5. Also let R
t
be the
number of available dollars not invested at the beginning of
year t and so available for investment in a later year. Thus
the amount invested at the beginning of year t plus R
t
must
equal the number of dollars available for investment at that
time. Write such an equation in terms of the relevant variables
above for the beginning of each of the 5 years to obtain the
five functional constraints for this problem.
b Formulate a complete linear programming model for this
problem.
C c Solve this model by the simplex model.
3.4-14. The Metalco Company desires to blend a new alloy of 40
percent tin 35 percent zinc and 25 percent lead from several avail-
able alloys having the following properties:
CHAPTER 3 PROBLEMS 97
The objective is to determine the proportions of these alloys that
should be blended to produce the new alloy at a minimum cost.
a Formulate a linear programming model for this problem.
C b Solve this model by the simplex method.
3.4-15. The Weigelt Corporation has three branch plants with ex-
cess production capacity. Fortunately the corporation has a new
product ready to begin production and all three plants have this
capability so some of the excess capacity can be used in this way.
This product can be made in three sizes—large medium and
Alloy
Property 1 2345
Percentage of tin 60 25 45 20 50
Percentage of zinc 10 15 45 50 40
Percentage of lead 30 60 10 30 10
Cost /lb 22 20 25 24 27
Weight Space
Capacity Capacity
Compartment Tons Cubic Feet
Front 12 7000
Center 18 9000
Back 10 5000
Furthermore the weight of the cargo in the respective compart-
ments must be the same proportion of that compartment’s weight
capacity to maintain the balance of the airplane.
The following four cargoes have been offered for shipment
on an upcoming flight as space is available:
Weight Volume Profit
Cargo Tons Cubic Feet/Ton /Ton
1 20 500 320
2 16 700 400
3 25 600 360
4 13 400 290
Any portion of these cargoes can be accepted. The objective is to
determine how much if any of each cargo should be accepted and

slide 123:

how to distribute each among the compartments to maximize the
total profit for the flight.
a Formulate a linear programming model for this problem.
C b Solve this model by the simplex method to find one of its
multiple optimal solutions.
3.4-17. Comfortable Hands is a company which features a prod-
uct line of winter gloves for the entire family—men women and
children. They are trying to decide what mix of these three types
of gloves to produce.
Comfortable Hands’ manufacturing labor force is unionized.
Each full-time employee works a 40-hour week. In addition by
union contract the number of full-time employees can never drop
below 20. Nonunion part-time workers can also be hired with the
following union-imposed restrictions: 1 each part-time worker
works 20 hours per week and 2 there must be at least 2 full-time
employees for each part-time employee.
All three types of gloves are made out of the same 100 per-
cent genuine cowhide leather. Comfortable Hands has a long-term
contract with a supplier of the leather and receives a 5000 square
feet shipment of the material each week. The material requirements
and labor requirements along with the gross profit per glove sold
not considering labor costs is given in the following table.
98 3 INTRODUCTION TO LINEAR PROGRAMMING
Material Required Labor Required Gross Profit
Glove Square Feet Minutes per Pair
Men’s 2 30 8
Women’s 1.5 45 10
Children’s 1 40 6
Maximum Hours of Availability
Operators Wage Rate Mon. Tue. Wed. Thurs. Fri.
K. C. 10.00/hour 6 0 6 0 6
D. H. 10.10/hour 0 6 0 6 0
H. B. 9.90/hour 4 8 4 0 4
S. C. 9.80/hour 5 5 5 0 5
K. S. 10.80/hour 3 0 3 8 0
N. K. 11.30/hour 0 0 0 6 2
Each full-time employee earns 13 per hour while each part-
time employee earns 10 per hour. Management wishes to know
what mix of each of the three types of gloves to produce per week
as well as how many full-time and how many part-time workers to
employ. They would like to maximize their net profit—their gross
profit from sales minus their labor costs.
a Formulate a linear programming model for this problem.
C b Solve this model by the simplex method.
3.4-18. Oxbridge University maintains a powerful mainframe
computer for research use by its faculty Ph.D. students and re-
search associates. During all working hours an operator must be
available to operate and maintain the computer as well as to per-
form some programming services. Beryl Ingram the director of
the computer facility oversees the operation.
It is now the beginning of the fall semester and Beryl is con-
fronted with the problem of assigning different working hours to
her operators. Because all the operators are currently enrolled in
the university they are available to work only a limited number of
hours each day as shown in the following table.
There are six operators four undergraduate students and two
graduate students. They all have different wage rates because of
differences in their experience with computers and in their pro-
gramming ability. The above table shows their wage rates along
with the maximum number of hours that each can work each day.
Each operator is guaranteed a certain minimum number of
hours per week that will maintain an adequate knowledge of the
operation. This level is set arbitrarily at 8 hours per week for the
undergraduate students K. C. D. H. H. B. and S. C. and 7 hours
per week for the graduate students K. S. and N. K..
The computer facility is to be open for operation from 8 A.M.
to 10 P.M. Monday through Friday with exactly one operator on
duty during these hours. On Saturdays and Sundays the computer
is to be operated by other staff.
Because of a tight budget Beryl has to minimize cost. She
wishes to determine the number of hours she should assign to each
operator on each day.
a Formulate a linear programming model for this problem.
C b Solve this model by the simplex method.
3.4-19. Slim-Down Manufacturing makes a line of nutritionally
complete weight-reduction beverages. One of their products is a
strawberry shake which is designed to be a complete meal. The
strawberry shake consists of several ingredients. Some information
about each of these ingredients is given below.
Calories Total Vitamin
from Fat Calories Content Thickeners Cost
per per mg/ mg/ ¢/
Ingredient tbsp tbsp tbsp tbsp tbsp
Strawberry
flavoring 1 50 20 3 10
Cream 75 100 0 8 8
Vitamin
supplement 0 0 50 1 25
Artificial
sweetener 0 120 0 2 15
Thickening
agent 30 80 2 25 6

slide 124:

a Describe the two factors which according to the article often
hinder the use of optimization models by managers.
b Section 3.5 indicates without elaboration that using linear pro-
gramming at Ponderosa “led to a dramatic shift in the types of
plywood products emphasized by the company.” Identify this
shift.
c With the success of this application management then was ea-
ger to use optimization for other problems as well. Identify
these other problems.
d Photocopy the two pages of appendixes that give the mathe-
matical formulation of the problem and the structure of the lin-
ear programming model.
3.5-2. Read the article footnoted in Sec. 3.5 that describes the sec-
ond case study presented in that section: “Personnel Scheduling at
United Airlines.”
a Describe how United Airlines prepared shift schedules at air-
ports and reservations offices prior to this OR study.
b When this study began the problem definition phase defined
five specific project requirements. Identify these project re-
quirements.
c At the end of the presentation of the corresponding example
in Sec. 3.4 personnel scheduling at Union Airways we
pointed out that the divisibility assumption does not hold for
this kind of application. An integer solution is needed but lin-
ear programming may provide an optimal solution that is non-
integer. How does United Airlines deal with this problem
d Describe the flexibility built into the scheduling system to sat-
isfy the group culture at each office. Why was this flexibility
needed
e Briefly describe the tangible and intangible benefits that re-
sulted from the study.
3.5-3. Read the 1986 article footnoted in Sec. 2.1 that describes
the third case study presented in Sec. 3.5: “Planning Supply Dis-
tribution and Marketing at Citgo Petroleum Corporation.”
a What happened during the years preceding this OR study that
made it vastly more important to control the amount of capi-
tal tied up in inventory
b What geographical area is spanned by Citgo’s distribution net-
work of pipelines tankers and barges Where do they market
their products
c What time periods are included in the model
d Which computer did Citgo use to solve the model What were
typical run times
e Who are the four types of model users How does each one
use the model
f List the major types of reports generated by the SDM system.
g What were the major implementation challenges for this study
h List the direct and indirect benefits that were realized from this
study.
The nutritional requirements are as follows. The beverage
must total between 380 and 420 calories inclusive. No more than
20 percent of the total calories should come from fat. There must
be at least 50 milligrams mg of vitamin content. For taste rea-
sons there must be at least 2 tablespoons tbsp of strawberry fla-
voring for each tablespoon of artificial sweetener. Finally to main-
tain proper thickness there must be exactly 15 mg of thickeners
in the beverage.
Management would like to select the quantity of each ingre-
dient for the beverage which would minimize cost while meeting
the above requirements.
a Formulate a linear programming model for this problem.
C b Solve this model by the simplex method.
3.4-20. Joyce and Marvin run a day care for preschoolers. They are
trying to decide what to feed the children for lunches. They would
like to keep their costs down but also need to meet the nutritional
requirements of the children. They have already decided to go with
peanut butter and jelly sandwiches and some combination of gra-
ham crackers milk and orange juice. The nutritional content of
each food choice and its cost are given in the table below.
CHAPTER 3 PROBLEMS 99
The nutritional requirements are as follows. Each child should
receive between 400 and 600 calories. No more than 30 percent of
the total calories should come from fat. Each child should consume
at least 60 milligrams mg of vitamin C and 12 grams g of pro-
tein. Furthermore for practical reasons each child needs exactly
2 slices of bread to make the sandwich at least twice as much
peanut butter as jelly and at least 1 cup of liquid milk and/or
juice.
Joyce and Marvin would like to select the food choices for
each child which minimize cost while meeting the above require-
ments.
a Formulate a linear programming model for this problem.
C b Solve this model by the simplex method.
3.5-1. Read the article footnoted in Sec. 3.5 that describes the first
case study presented in that section: “Choosing the Product Mix
at Ponderosa Industrial.”
Calories Total Vitamin C Protein Cost
Food Item from Fat Calories mg g ¢
Bread 1 slice 10 70 0 3 5
Peanut butter
1 tbsp 75 100 0 4 4
Strawberry jelly
1 tbsp 0 50 3 0 7
Graham cracker
1 cracker 20 60 0 1 8
Milk 1 cup 70 150 2 8 15
Juice 1 cup 0 100 120 1 35

slide 125:

c Make three guesses of your own choosing for the optimal so-
lution. Use the spreadsheet to check each one for feasibility
and if feasible to find the value of the objective function.
Which feasible guess has the best objective function value
d Use the Excel Solver to solve the model by the simplex method.
3.6-3. You are given the following data for a linear programming
problem where the objective is to minimize the cost of conducting
two nonnegative activities so as to achieve three benefits that do
not fall below their minimum levels.
3.6-1. You are given the following data for a linear programming
problem where the objective is to maximize the profit from allo-
cating three resources to two nonnegative activities.
100 3 INTRODUCTION TO LINEAR PROGRAMMING
a Formulate a linear programming model for this problem.
D b Use the graphical method to solve this model.
c Display the model on an Excel spreadsheet.
d Use the spreadsheet to check the following solutions:
x
1
x
2
2 2 3 3 2 4 4 2 3 4 4 3. Which of
these solutions are feasible Which of these feasible solutions
has the best value of the objective function
C e Use the Excel Solver to solve the model by the simplex
method.
3.6-2. Ed Butler is the production manager for the Bilco Corpo-
ration which produces three types of spare parts for automobiles.
The manufacture of each part requires processing on each of two
machines with the following processing times in hours:
Each machine is available 40 hours per month. Each part manu-
factured will yield a unit profit as follows:
Part
Machine A B C
1 0.02 0.03 0.05
2 0.05 0.02 0.04
Part
AB C
Profit 50 40 30
Benefit Contribution per
Unit of Each Activity Minimum
Acceptable
Benefit Activity 1 Activity 2 Level
15 3 60
22 2 30
3 7 9 126
Unit cost 60 50
Kilogram Kilogram Kilogram Minimum
Nutritional of of of Daily
Ingredient Corn Tankage Alfalfa Requirement
Carbohydrates 90 20 40 200
Protein 30 80 60 180
Vitamins 10 20 60 150
Cost ¢ 84 72 60
a Formulate a linear programming model for this problem.
D b Use the graphical method to solve this model.
c Display the model on an Excel spreadsheet.
d Use the spreadsheet to check the following solutions:
x
1
x
2
7 7 7 8 8 7 8 8 8 9 9 8. Which of
these solutions are feasible Which of these feasible solutions
has the best value of the objective function
C e Use the Excel Solver to solve this model by the simplex
method.
3.6-4. Fred Jonasson manages a family-owned farm. To supple-
ment several food products grown on the farm Fred also raises
pigs for market. He now wishes to determine the quantities of the
available types of feed corn tankage and alfalfa that should be
given to each pig. Since pigs will eat any mix of these feed types
the objective is to determine which mix will meet certain nutri-
tional requirements at a minimum cost. The number of units of each
type of basic nutritional ingredient contained within a kilogram of
each feed type is given in the following table along with the daily
nutritional requirements and feed costs:
Resource Usage per
Unit of Each Activity
Amount of Resource
Resource Activity 1 Activity 2 Available
12 1 10
23 3 20
32 4 20
Contribution 20 30
per unit
Contribution per unit profit per unit of the activity.
Ed wants to determine the mix of spare parts to produce in order
to maximize total profit.
a Formulate a linear programming model for this problem.
b Display the model on an Excel spreadsheet.

slide 126:

d Take a few minutes to use a trial-and-error approach with the
spreadsheet to develop your best guess for the optimal solu-
tion. What is the total amount invested for your solution
C e Use the Excel Solver to solve the model by the simplex
method.
3.7-1. The Philbrick Company has two plants on opposite sides of
the United States. Each of these plants produces the same two prod-
ucts and then sells them to wholesalers within its half of the coun-
try. The orders from wholesalers have already been received for
the next 2 months February and March where the number of
units requested are shown below. The company is not obligated
to completely fill these orders but will do so if it can without de-
creasing its profits.
a Formulate a linear programming model for this problem.
b Display the model on an Excel spreadsheet.
c Use the spreadsheet to check if x
1
x
2
x
3
1 2 2 is a fea-
sible solution and if so what the daily cost would be for this
diet. How many units of each nutritional ingredient would this
diet provide daily
d Take a few minutes to use a trial-and-error approach with the
spreadsheet to develop your best guess for the optimal solu-
tion. What is the daily cost for your solution
C e Use the Excel Solver to solve the model by the simplex
method.
3.6-5. Maureen Laird is the chief financial officer for the Alva
Electric Co. a major public utility in the midwest. The company
has scheduled the construction of new hydroelectric plants 5 10
and 20 years from now to meet the needs of the growing popu-
lation in the region served by the company. To cover at least the
construction costs Maureen needs to invest some of the com-
pany’s money now to meet these future cash-flow needs. Mau-
reen may purchase only three kinds of financial assets each of
which costs 1 million per unit. Fractional units may be pur-
chased. The assets produce income 5 10 and 20 years from now
and that income is needed to cover at least minimum cash-flow
requirements in those years. Any excess income above the min-
imum requirement for each time period will be used to increase
dividend payments to shareholders rather than saving it to help
meet the minimum cash-flow requirement in the next time pe-
riod. The following table shows both the amount of income gen-
erated by each unit of each asset and the minimum amount of in-
come needed for each of the future time periods when a new
hydroelectric plant will be constructed.
CHAPTER 3 PROBLEMS 101
Maureen wishes to determine the mix of investments in these as-
sets that will cover the cash-flow requirements while minimizing
the total amount invested.
a Formulate a linear programming model for this problem.
b Display the model on a spreadsheet.
c Use the spreadsheet to check the possibility of purchasing 100
units of Asset 1 100 units of Asset 2 and 200 units of Asset
3. How much cash flow would this mix of investments gener-
ate 5 10 and 20 years from now What would be the total
amount invested
Income per Unit of Asset
Minimum Cash
Year Asset 1 Asset 2 Asset 3 Flow Required
5 2 million 1 million 0.5 million 400 million
10 0.5 million 0.5 million 1 million 100 million
20 0 1.5 million 2 million 300 million
Each plant has 20 production days available in February and 23
production days available in March to produce and ship these prod-
ucts. Inventories are depleted at the end of January but each plant
has enough inventory capacity to hold 1000 units total of the two
products if an excess amount is produced in February for sale in
March. In either plant the cost of holding inventory in this way is
3 per unit of product 1 and 4 per unit of product 2.
Each plant has the same two production processes each of
which can be used to produce either of the two products. The pro-
duction cost per unit produced of each product is shown below for
each process in each plant.
The production rate for each product number of units produced
per day devoted to that product also is given below for each process
in each plant.
Plant 1 Plant 2
Product February March February March
1 3600 6300 4900 4200
2 4500 5400 5100 6000
Plant 1 Plant 2
Product Process 1 Process 2 Process 1 Process 2
1 62 59 61 65
2 78 85 89 86
Plant 1 Plant 2
Product Process 1 Process 2 Process 1 Process 2
1 100 140 130 110
2 120 150 160 130

slide 127:

C 3.7-6. Reconsider Prob. 3.6-4.
a Use MPL/CPLEX to formulate and solve the model for this
problem.
b Use LINGO to formulate and solve this model.
C 3.7-7. Reconsider Prob. 3.6-5.
a Use MPL/CPLEX to formulate and solve the model for this
problem.
b Use LINGO to formulate and solve this model.
3.7-8. A large paper manufacturing company the Quality Paper
Corporation has 10 paper mills from which it needs to supply 1000
customers. It uses three alternative types of machines and four types
of raw materials to make five different types of paper. Therefore
the company needs to develop a detailed production distribution
plan on a monthly basis with an objective of minimizing the total
cost of producing and distributing the paper during the month.
Specifically it is necessary to determine jointly the amount of each
type of paper to be made at each paper mill on each type of ma-
chine and the amount of each type of paper to be shipped from
each paper mill to each customer.
The relevant data can be expressed symbolically as follows:
D
jk
number of units of paper type k demanded by custo-
mer j
r
klm
number of units of raw material m needed to produce
1 unit of paper type k on machine type l
R
im
number of units of raw material m available at paper
mill i
c
kl
number of capacity units of machine type l that will
produce 1 unit of paper type k
C
il
number of capacity units of machine type l available
at paper mill i
P
ikl
production cost for each unit of paper type k produced
on machine type l at paper mill i
T
ijk
transportation cost for each unit of paper type k shipped
from paper mill i to customer j.
a Using these symbols formulate a linear programming model
for this problem by hand.
b How many functional constraints and decision variables does
this model have
C c Use MPL to formulate this problem.
C d Use LINGO to formulate this problem.
The net sales revenue selling price minus normal shipping
costs the company receives when a plant sells the products to its
own customers the wholesalers in its half of the country is 83
per unit of product 1 and 112 per unit of product 2. However it
also is possible and occasionally desirable for a plant to make a
shipment to the other half of the country to help fill the sales of
the other plant. When this happens an extra shipping cost of 9
per unit of product 1 and 7 per unit of product 2 is incurred.
Management now needs to determine how much of each prod-
uct should be produced by each production process in each plant
during each month as well as how much each plant should sell of
each product in each month and how much each plant should ship
of each product in each month to the other plant’s customers. The
objective is to determine which feasible plan would maximize the
total profit total net sales revenue minus the sum of the produc-
tion costs inventory costs and extra shipping costs.
a Formulate a complete linear programming model in algebraic
form that shows the individual constraints and decision vari-
ables for this problem.
C b Formulate this same model on an Excel spreadsheet instead.
Then use the Excel Solver to solve the model.
C c Use MPL to formulate this model in a compact form. Then
use the MPL solver CPLEX to solve the model.
C d Use LINGO to formulate this model in a compact form.
Then use the LINGO solver to solve the model.
C 3.7-2. Reconsider Prob. 3.1-11.
a Use MPL/CPLEX to formulate and solve the model for this
problem.
b Use LINGO to formulate and solve this model.
C 3.7-3. Reconsider Prob. 3.4-11.
a Use MPL/CPLEX to formulate and solve the model for this
problem.
b Use LINGO to formulate and solve this model.
C 3.7-4. Reconsider Prob. 3.4-15.
a Use MPL/CPLEX to formulate and solve the model for this
problem.
b Use LINGO to formulate and solve this model.
C 3.7-5. Reconsider Prob. 3.4-18.
a Use MPL/CPLEX to formulate and solve the model for this
problem.
b Use LINGO to formulate and solve this model.
102 3 INTRODUCTION TO LINEAR PROGRAMMING

slide 128:

Automobile Alliance a large automobile manufacturing company organizes the vehi-
cles it manufactures into three families: a family of trucks a family of small cars and
a family of midsized and luxury cars. One plant outside Detroit MI assembles two
models from the family of midsized and luxury cars. The first model the Family
Thrillseeker is a four-door sedan with vinyl seats plastic interior standard features
and excellent gas mileage. It is marketed as a smart buy for middle-class families with
tight budgets and each Family Thrillseeker sold generates a modest profit of 3600
for the company. The second model the Classy Cruiser is a two-door luxury sedan
with leather seats wooden interior custom features and navigational capabilities. It is
marketed as a privilege of affluence for upper-middle-class families and each Classy
Cruiser sold generates a healthy profit of 5400 for the company.
Rachel Rosencrantz the manager of the assembly plant is currently deciding the
production schedule for the next month. Specifically she must decide how many Fam-
ily Thrillseekers and how many Classy Cruisers to assemble in the plant to maximize
profit for the company. She knows that the plant possesses a capacity of 48000 labor-
hours during the month. She also knows that it takes 6 labor-hours to assemble one
Family Thrillseeker and 10.5 labor-hours to assemble one Classy Cruiser.
Because the plant is simply an assembly plant the parts required to assemble the
two models are not produced at the plant. They are instead shipped from other plants
around the Michigan area to the assembly plant. For example tires steering wheels
windows seats and doors all arrive from various supplier plants. For the next month
Rachel knows that she will be able to obtain only 20000 doors 10000 left-hand doors
and 10000 right-hand doors from the door supplier. A recent labor strike forced the
shutdown of that particular supplier plant for several days and that plant will not be
able to meet its production schedule for the next month. Both the Family Thrillseeker
and the Classy Cruiser use the same door part.
In addition a recent company forecast of the monthly demands for different au-
tomobile models suggests that the demand for the Classy Cruiser is limited to 3500
cars. There is no limit on the demand for the Family Thrillseeker within the capacity
limits of the assembly plant.
a Formulate and solve a linear programming problem to determine the number of Family
Thrillseekers and the number of Classy Cruisers that should be assembled.
Before she makes her final production decisions Rachel plans to explore the follow-
ing questions independently except where otherwise indicated.
b The marketing department knows that it can pursue a targeted 500000 advertising cam-
paign that will raise the demand for the Classy Cruiser next month by 20 percent. Should
the campaign be undertaken
c Rachel knows that she can increase next month’s plant capacity by using overtime labor. She
can increase the plant’s labor-hour capacity by 25 percent. With the new assembly plant ca-
pacity how many Family Thrillseekers and how many Classy Cruisers should be assembled
d Rachel knows that overtime labor does not come without an extra cost. What is the maxi-
mum amount she should be willing to pay for all overtime labor beyond the cost of this la-
bor at regular time rates Express your answer as a lump sum.
CASE 3.1 AUTO ASSEMBLY 103
CASE 3.1 AUTO ASSEMBLY

slide 129:

e Rachel explores the option of using both the targeted advertising campaign and the overtime
labor-hours. The advertising campaign raises the demand for the Classy Cruiser by 20 per-
cent and the overtime labor increases the plant’s labor-hour capacity by 25 percent. How
many Family Thrillseekers and how many Classy Cruisers should be assembled using the
advertising campaign and overtime labor-hours if the profit from each Classy Cruiser sold
continues to be 50 percent more than for each Family Thrillseeker sold
f Knowing that the advertising campaign costs 500000 and the maximum usage of overtime
labor-hours costs 1600000 beyond regular time rates is the solution found in part e a
wise decision compared to the solution found in part a
g Automobile Alliance has determined that dealerships are actually heavily discounting the
price of the Family Thrillseekers to move them off the lot. Because of a profit-sharing agree-
ment with its dealers the company is therefore not making a profit of 3600 on the Fam-
ily Thrillseeker but is instead making a profit of 2800. Determine the number of Family
Thrillseekers and the number of Classy Cruisers that should be assembled given this new
discounted price.
h The company has discovered quality problems with the Family Thrillseeker by randomly
testing Thrillseekers at the end of the assembly line. Inspectors have discovered that in over
60 percent of the cases two of the four doors on a Thrillseeker do not seal properly. Be-
cause the percentage of defective Thrillseekers determined by the random testing is so high
the floor supervisor has decided to perform quality control tests on every Thrillseeker at the
end of the line. Because of the added tests the time it takes to assemble one Family
Thrillseeker has increased from 6 to 7.5 hours. Determine the number of units of each model
that should be assembled given the new assembly time for the Family Thrillseeker.
i The board of directors of Automobile Alliance wishes to capture a larger share of the luxury
sedan market and therefore would like to meet the full demand for Classy Cruisers. They ask
Rachel to determine by how much the profit of her assembly plant would decrease as com-
pared to the profit found in part a. They then ask her to meet the full demand for Classy
Cruisers if the decrease in profit is not more than 2000000.
j Rachel now makes her final decision by combining all the new considerations described in
parts f g and h. What are her final decisions on whether to undertake the advertising
campaign whether to use overtime labor the number of Family Thrillseekers to assemble
and the number of Classy Cruisers to assemble
104 3 INTRODUCTION TO LINEAR PROGRAMMING
A cafeteria at All-State University has one special dish it serves like clockwork every
Thursday at noon. This supposedly tasty dish is a casserole that contains sautéed onions
boiled sliced potatoes green beans and cream of mushroom soup. Unfortunately stu-
dents fail to see the special quality of this dish and they loathingly refer to it as the Killer
Casserole. The students reluctantly eat the casserole however because the cafeteria pro-
vides only a limited selection of dishes for Thursday’s lunch namely the casserole.
Maria Gonzalez the cafeteria manager is looking to cut costs for the coming year
and she believes that one sure way to cut costs is to buy less expensive and perhaps
lower-quality ingredients. Because the casserole is a weekly staple of the cafeteria
menu she concludes that if she can cut costs on the ingredients purchased for the casse-
role she can significantly reduce overall cafeteria operating costs. She therefore de-
CASE 3.2 CUTTING CAFETERIA COSTS

slide 130:

cides to invest time in determining how to minimize the costs of the casserole while
maintaining nutritional and taste requirements.
Maria focuses on reducing the costs of the two main ingredients in the casserole
the potatoes and green beans. These two ingredients are responsible for the greatest
costs nutritional content and taste of the dish.
Maria buys the potatoes and green beans from a wholesaler each week. Potatoes
cost 0.40 per pound and green beans cost 1.00 per pound.
All-State University has established nutritional requirements that each main dish
of the cafeteria must meet. Specifically the total amount of the dish prepared for all
the students for one meal must contain 180 grams g of protein 80 milligrams mg
of iron and 1050 mg of vitamin C. There are 453.6 g in 1 lb and 1000 mg in 1 g.
For simplicity when planning Maria assumes that only the potatoes and green beans
contribute to the nutritional content of the casserole.
Because Maria works at a cutting-edge technological university she has been ex-
posed to the numerous resources on the World Wide Web. She decides to surf the Web
to find the nutritional content of potatoes and green beans. Her research yields the fol-
lowing nutritional information about the two ingredients:
CASE 3.2 CUTTING CAFETERIA COSTS 105
Edson Branner the cafeteria cook who is surprisingly concerned about taste in-
forms Maria that an edible casserole must contain at least a six to five ratio in the
weight of potatoes to green beans.
Given the number of students who eat in the cafeteria Maria knows that she must
purchase enough potatoes and green beans to prepare a minimum of 10 kilograms kg
of casserole each week. There are 1000 g in 1 kg. Again for simplicity in planning
she assumes that only the potatoes and green beans determine the amount of casserole
that can be prepared. Maria does not establish an upper limit on the amount of casse-
role to prepare since she knows all leftovers can be served for many days thereafter
or can be used creatively in preparing other dishes.
a Determine the amount of potatoes and green beans Maria should purchase each week for
the casserole to minimize the ingredient costs while meeting nutritional taste and demand
requirements.
Before she makes her final decision Maria plans to explore the following questions
independently except where otherwise indicated.
b Maria is not very concerned about the taste of the casserole she is only concerned about
meeting nutritional requirements and cutting costs. She therefore forces Edson to change the
recipe to allow for only at least a one to two ratio in the weight of potatoes to green beans.
Given the new recipe determine the amount of potatoes and green beans Maria should pur-
chase each week.
Potatoes Green Beans
Protein 1.5 g per 100 g 5.67 g per 10 ounces
Iron 0.3 mg per 100 g 3.402 mg per 10 ounces
Vitamin C 12 mg per 100 g 28.35 mg per 10 ounces
There are 28.35 g in 1 ounce.

slide 131:

c Maria decides to lower the iron requirement to 65 mg since she determines that the other in-
gredients such as the onions and cream of mushroom soup also provide iron. Determine
the amount of potatoes and green beans Maria should purchase each week given this new
iron requirement.
d Maria learns that the wholesaler has a surplus of green beans and is therefore selling the
green beans for a lower price of 0.50 per lb. Using the same iron requirement from part
c and the new price of green beans determine the amount of potatoes and green beans
Maria should purchase each week.
e Maria decides that she wants to purchase lima beans instead of green beans since lima beans
are less expensive and provide a greater amount of protein and iron than green beans. Maria
again wields her absolute power and forces Edson to change the recipe to include lima beans
instead of green beans. Maria knows she can purchase lima beans for 0.60 per lb from the
wholesaler. She also knows that lima beans contain 22.68 g of protein per 10 ounces of lima
beans 6.804 mg of iron per 10 ounces of lima beans and no vitamin C. Using the new cost
and nutritional content of lima beans determine the amount of potatoes and lima beans Maria
should purchase each week to minimize the ingredient costs while meeting nutritional taste
and demand requirements. The nutritional requirements include the reduced iron requirement
from part c.
f Will Edson be happy with the solution in part e Why or why not
g An All-State student task force meets during Body Awareness Week and determines that All-
State University’s nutritional requirements for iron are too lax and that those for vitamin C
are too stringent. The task force urges the university to adopt a policy that requires each
serving of an entrée to contain at least 120 mg of iron and at least 500 mg of vitamin C.
Using potatoes and lima beans as the ingredients for the dish and using the new nutritional
requirements determine the amount of potatoes and lima beans Maria should purchase each
week.
106 3 INTRODUCTION TO LINEAR PROGRAMMING
California Children’s Hospital has been receiving numerous customer complaints be-
cause of its confusing decentralized appointment and registration process. When cus-
tomers want to make appointments or register child patients they must contact the
clinic or department they plan to visit. Several problems exist with this current strat-
egy. Parents do not always know the most appropriate clinic or department they must
visit to address their children’s ailments. They therefore spend a significant amount of
time on the phone being transferred from clinic to clinic until they reach the most ap-
propriate clinic for their needs. The hospital also does not publish the phone numbers
of all clinic and departments and parents must therefore invest a large amount of time
in detective work to track down the correct phone number. Finally the various clinics
and departments do not communicate with each other. For example when a doctor
schedules a referral with a colleague located in another department or clinic that de-
partment or clinic almost never receives word of the referral. The parent must contact
the correct department or clinic and provide the needed referral information.
CASE 3.3 STAFFING A CALL CENTER
1
1
This case is based on an actual project completed by a team of master’s students in the Department of En-
gineering-Economic Systems and Operations Research at Stanford University.

slide 132:

In efforts to reengineer and improve its appointment and registration process the
children’s hospital has decided to centralize the process by establishing one call cen-
ter devoted exclusively to appointments and registration. The hospital is currently in
the middle of the planning stages for the call center. Lenny Davis the hospital man-
ager plans to operate the call center from 7 A.M. to 9 P.M. during the weekdays.
Several months ago the hospital hired an ambitious management consulting firm
Creative Chaos Consultants to forecast the number of calls the call center would re-
ceive each hour of the day. Since all appointment and registration-related calls would
be received by the call center the consultants decided that they could forecast the calls
at the call center by totaling the number of appointment and registration-related calls
received by all clinics and departments. The team members visited all the clinics and
departments where they diligently recorded every call relating to appointments and
registration. They then totaled these calls and altered the totals to account for calls
missed during data collection. They also altered totals to account for repeat calls that
occurred when the same parent called the hospital many times because of the confu-
sion surrounding the decentralized process. Creative Chaos Consultants determined the
average number of calls the call center should expect during each hour of a weekday.
The following table provides the forecasts.
CASE 3.3 STAFFING A CALL CENTER 107
After the consultants submitted these forecasts Lenny became interested in the per-
centage of calls from Spanish speakers since the hospital services many Spanish pa-
tients. Lenny knows that he has to hire some operators who speak Spanish to handle
these calls. The consultants performed further data collection and determined that on
average 20 percent of the calls were from Spanish speakers.
Given these call forecasts Lenny must now decide how to staff the call center dur-
ing each 2 hour shift of a weekday. During the forecasting project Creative Chaos Con-
sultants closely observed the operators working at the individual clinics and depart-
ments and determined the number of calls operators process per hour. The consultants
informed Lenny that an operator is able to process an average of six calls per hour.
Lenny also knows that he has both full-time and part-time workers available to staff
the call center. A full-time employee works 8 hours per day but because of paperwork
that must also be completed the employee spends only 4 hours per day on the phone.
To balance the schedule the employee alternates the 2-hour shifts between answering
phones and completing paperwork. Full-time employees can start their day either by
answering phones or by completing paperwork on the first shift. The full-time em-
Work Shift Average Number of Calls
7 A.M.–9 A.M. 40 calls per hour
9 A.M.–11 A.M. 85 calls per hour
11 A.M.–1 P.M. 70 calls per hour
1 P.M.–3 P.M. 95 calls per hour
3 P.M.–5 P.M. 80 calls per hour
5 P.M.–7 P.M. 35 calls per hour
7 P.M.–9 P.M. 10 calls per hour

slide 133:

ployees speak either Spanish or English but none of them are bilingual. Both Span-
ish-speaking and English-speaking employees are paid 10 per hour for work before
5 P.M. and 12 per hour for work after 5 P.M. The full-time employees can begin work
at the beginning of the 7 A.M. to 9 A.M. shift 9 A.M. to 11 A.M. shift 11 A.M. to 1 P.M.
shift or 1 P.M. to 3 P.M. shift. The part-time employees work for 4 hours only answer
calls and only speak English. They can start work at the beginning of the 3 P.M.to
5 P.M. shift or the 5 P.M. to 7 P.M. shift and like the full-time employees they are paid
10 per hour for work before 5 P.M. and 12 per hour for work after 5 P.M.
For the following analysis consider only the labor cost for the time employees
spend answering phones. The cost for paperwork time is charged to other cost centers.
a How many Spanish-speaking operators and how many English-speaking operators does the
hospital need to staff the call center during each 2-hour shift of the day in order to answer
all calls Please provide an integer number since half a human operator makes no sense.
b Lenny needs to determine how many full-time employees who speak Spanish full-time em-
ployees who speak English and part-time employees he should hire to begin on each shift.
Creative Chaos Consultants advise him that linear programming can be used to do this in
such a way as to minimize operating costs while answering all calls. Formulate a linear pro-
gramming model of this problem.
c Obtain an optimal solution for the linear programming model formulated in part b to guide
Lenny’s decision.
d Because many full-time workers do not want to work late into the evening Lenny can find
only one qualified English-speaking operator willing to begin work at 1 P.M. Given this new
constraint how many full-time English-speaking operators full-time Spanish-speaking op-
erators and part-time operators should Lenny hire for each shift to minimize operating costs
while answering all calls
e Lenny now has decided to investigate the option of hiring bilingual operators instead of
monolingual operators. If all the operators are bilingual how many operators should be work-
ing during each 2-hour shift to answer all phone calls As in part a please provide an in-
teger answer.
f If all employees are bilingual how many full-time and part-time employees should Lenny
hire to begin on each shift to minimize operating costs while answering all calls As in part
b formulate a linear programming model to guide Lenny’s decision.
g What is the maximum percentage increase in the hourly wage rate that Lenny can pay bilin-
gual employees over monolingual employees without increasing the total operating costs
h What other features of the call center should Lenny explore to improve service or minimize
operating costs
108 3 INTRODUCTION TO LINEAR PROGRAMMING

slide 134:

109
4
Solving Linear
Programming Problems:
The Simplex Method
We now are ready to begin studying the simplex method a general procedure for solving
linear programming problems. Developed by George Dantzig in 1947 it has proved to be
a remarkably efficient method that is used routinely to solve huge problems on today’s
computers. Except for its use on tiny problems this method is always executed on a com-
puter and sophisticated software packages are widely available. Extensions and variations
of the simplex method also are used to perform postoptimality analysis including sensi-
tivity analysis on the model.
This chapter describes and illustrates the main features of the simplex method. The
first section introduces its general nature including its geometric interpretation. The fol-
lowing three sections then develop the procedure for solving any linear programming
model that is in our standard form maximization all functional constraints in form
and nonnegativity constraints on all variables and has only nonnegative right-hand sides
b
i
in the functional constraints. Certain details on resolving ties are deferred to Sec. 4.5
and Sec. 4.6 describes how to adapt the simplex method to other model forms. Next we
discuss postoptimality analysis Sec. 4.7 and describe the computer implementation of
the simplex method Sec. 4.8. Section 4.9 then introduces an alternative to the simplex
method the interior-point approach for solving large linear programming problems.
The simplex method is an algebraic procedure. However its underlying concepts are geo-
metric. Understanding these geometric concepts provides a strong intuitive feeling for how
the simplex method operates and what makes it so efficient. Therefore before delving into
algebraic details we focus in this section on the big picture from a geometric viewpoint.
To illustrate the general geometric concepts we shall use the Wyndor Glass Co. ex-
ample presented in Sec. 3.1. Sections 4.2 and 4.3 use the algebra of the simplex method
to solve this same example. Section 5.1 will elaborate further on these geometric con-
cepts for larger problems.
To refresh your memory the model and graph for this example are repeated in Fig.
4.1. The five constraint boundaries and their points of intersection are highlighted in this
figure because they are the keys to the analysis. Here each constraint boundary is a line
that forms the boundary of what is permitted by the corresponding constraint. The points
4.1 THE ESSENCE OF THE SIMPLEX METHOD

slide 135:

of intersection are the corner-point solutions of the problem. The five that lie on the cor-
ners of the feasible region—0 0 0 6 2 6 4 3 and 4 0—are the corner-point
feasible solutions CPF solutions. The other three—0 9 4 6 and 6 0—are called
corner-point infeasible solutions.
In this example each corner-point solution lies at the intersection of two constraint
boundaries. For a linear programming problem with n decision variables each of its
corner-point solutions lies at the intersection of n constraint boundaries.
1
Certain pairs
of the CPF solutions in Fig. 4.1 share a constraint boundary and other pairs do not. It
will be important to distinguish between these cases by using the following general
definitions.
For any linear programming problem with n decision variables two CPF solutions are ad-
jacent to each other if they share n 1 constraint boundaries. The two adjacent CPF so-
lutions are connected by a line segment that lies on these same shared constraint bound-
aries. Such a line segment is referred to as an edge of the feasible region.
Since n 2 in the example two of its CPF solutions are adjacent if they share one
constraint boundary for example 0 0 and 0 6 are adjacent because they share the
x
1
0 constraint boundary. The feasible region in Fig. 4.1 has five edges consisting of
the five line segments forming the boundary of this region. Note that two edges emanate
from each CPF solution. Thus each CPF solution has two adjacent CPF solutions each
lying at the other end of one of the two edges as enumerated in Table 4.1. In each row
110 4 SOLVING LINEAR PROGRAMMING PROBLEMS: THE SIMPLEX METHOD
6 0 4 0
0 6
0 9
2 6
4 3
4 6
0 0
Feasible
region
x
1
0
3x
1
2x
2
18
x
2
0
x
1
4
2x
2
12
Maximize Z 3x
1
5x
2
subject to
x
1
4
12
18
2x
2
2x
2
3x
1
and
x
1
0 x
2
0
x
2
x
1
FIGURE 4.1
Constraint boundaries and
corner-point solutions for the
Wyndor Glass Co. problem.
1
Although a corner-point solution is defined in terms of n constraint boundaries whose intersection gives this
solution it also is possible that one or more additional constraint boundaries pass through this same point.

slide 136:

of this table the CPF solution in the first column is adjacent to each of the two CPF so-
lutions in the second column but the two CPF solutions in the second column are not ad-
jacent to each other.
One reason for our interest in adjacent CPF solutions is the following general prop-
erty about such solutions which provides a very useful way of checking whether a CPF
solution is an optimal solution.
Optimality test: Consider any linear programming problem that possesses at
least one optimal solution. If a CPF solution has no adjacent CPF solutions that
are better as measured by Z then it must be an optimal solution.
Thus for the example 2 6 must be optimal simply because its Z 36 is larger than
Z 30 for 0 6 and Z 27 for 4 3. We will delve further into why this property
holds in Sec. 5.1. This optimality test is the one used by the simplex method for deter-
mining when an optimal solution has been reached.
Now we are ready to apply the simplex method to the example.
Solving the Example
Here is an outline of what the simplex method does from a geometric viewpoint to solve
the Wyndor Glass Co. problem. At each step first the conclusion is stated and then the
reason is given in parentheses. Refer to Fig. 4.1 for a visualization.
Initialization: Choose 0 0 as the initial CPF solution to examine. This is a conve-
nient choice because no calculations are required to identify this CPF solution.
Optimality Test: Conclude that 0 0 is not an optimal solution. Adjacent CPF so-
lutions are better.
Iteration 1: Move to a better adjacent CPF solution 0 6 by performing the fol-
lowing three steps.
1. Considering the two edges of the feasible region that emanate from 0 0 choose to
move along the edge that leads up the x
2
axis. With an objective function of
Z 3x
1
5x
2
moving up the x
2
axis increases Z at a faster rate than moving along
the x
1
axis.
2. Stop at the first new constraint boundary: 2x
2
12. Moving farther in the direction
selected in step 1 leaves the feasible region e.g. moving to the second new constraint
boundary hit when moving in that direction gives 0 9 which is a corner-point in-
feasible solution.
4.1 THE ESSENCE OF THE SIMPLEX METHOD 111
TABLE 4.1 Adjacent CPF solutions for each CPF
solution of the Wyndor Glass Co. problem
CPF Solution Its Adjacent CPF Solutions
0 0 0 6 and 4 0
0 6 2 6 and 0 0
2 6 4 3 and 0 6
4 3 4 0 and 2 6
4 0 0 0 and 4 3

slide 137:

3. Solve for the intersection of the new set of constraint boundaries: 0 6. The equations
for these constraint boundaries x
1
0 and 2x
2
12 immediately yield this solution.
Optimality Test: Conclude that 0 6 is not an optimal solution. An adjacent CPF
solution is better.
Iteration 2: Move to a better adjacent CPF solution 2 6 by performing the fol-
lowing three steps.
1. Considering the two edges of the feasible region that emanate from 0 6 choose to
move along the edge that leads to the right. Moving along this edge increases Z
whereas backtracking to move back down the x
2
axis decreases Z.
2. Stop at the first new constraint boundary encountered when moving in that direction:
3x
1
2x
2
12. Moving farther in the direction selected in step 1 leaves the feasible
region.
3. Solve for the intersection of the new set of constraint boundaries: 2 6. The equa-
tions for these constraint boundaries 3x
1
2x
2
18 and 2x
2
12 immediately yield
this solution.
Optimality Test: Conclude that 2 6 is an optimal solution so stop. None of the ad-
jacent CPF solutions are better.
This sequence of CPF solutions examined is shown in Fig. 4.2 where each circled num-
ber identifies which iteration obtained that solution.
Now let us look at the six key solution concepts of the simplex method that provide
the rationale behind the above steps. Keep in mind that these concepts also apply for
solving problems with more than two decision variables where a graph like Fig. 4.2 is not
available to help quickly find an optimal solution.
The Key Solution Concepts
The first solution concept is based directly on the relationship between optimal solutions
and CPF solutions given at the end of Sec. 3.2.
112 4 SOLVING LINEAR PROGRAMMING PROBLEMS: THE SIMPLEX METHOD
4 0
0 6
2 6
4 3
0 0
Feasible
region
x
1
x
2
Z 30
Z 36
Z 27
Z 12
Z 0
2 1
0
FIGURE 4.2
This graph shows the
sequence of CPF solutions
examined by the
simplex method for the
Wyndor Glass Co. problem.
The optimal solution 2 6 is
found after just three
solutions are examined.

slide 138:

Solution concept 1: The simplex method focuses solely on CPF solutions. For
any problem with at least one optimal solution finding one requires only find-
ing a best CPF solution.
1
Since the number of feasible solutions generally is infinite reducing the number of solu-
tions that need to be examined to a small finite number just three in Fig. 4.2 is a tremen-
dous simplification.
The next solution concept defines the flow of the simplex method.
Solution concept 2: The simplex method is an iterative algorithm a systematic
solution procedure that keeps repeating a fixed series of steps called an itera-
tion until a desired result has been obtained with the following structure.
Initialization: Set up to start iterations including finding an initial
CPF solution.
Optimality test: Is the current CPF solution optimal
If no If yes → Stop.
Iteration: Perform an iteration to find a better CPF solution.
When the example was solved note how this flow diagram was followed through two it-
erations until an optimal solution was found.
We next focus on how to get started.
Solution concept 3: Whenever possible the initialization of the simplex method
chooses the origin all decision variables equal to zero to be the initial CPF so-
lution. When there are too many decision variables to find an initial CPF solu-
tion graphically this choice eliminates the need to use algebraic procedures to
find and solve for an initial CPF solution.
Choosing the origin commonly is possible when all the decision variables have nonneg-
ativity constraints because the intersection of these constraint boundaries yields the ori-
gin as a corner-point solution. This solution then is a CPF solution unless it is infeasible
because it violates one or more of the functional constraints. If it is infeasible special pro-
cedures described in Sec. 4.6 are needed to find the initial CPF solution.
The next solution concept concerns the choice of a better CPF solution at each iteration.
Solution concept 4: Given a CPF solution it is much quicker computationally
to gather information about its adjacent CPF solutions than about other CPF so-
lutions. Therefore each time the simplex method performs an iteration to move
from the current CPF solution to a better one it always chooses a CPF solution
that is adjacent to the current one. No other CPF solutions are considered. Con-
sequently the entire path followed to eventually reach an optimal solution is along
the edges of the feasible region.
4.1 THE ESSENCE OF THE SIMPLEX METHOD 113
1
The only restriction is that the problem must possess CPF solutions. This is ensured if the feasible region is
bounded.
→
→
↓

slide 139:

The next focus is on which adjacent CPF solution to choose at each iteration.
Solution concept 5: After the current CPF solution is identified the simplex
method examines each of the edges of the feasible region that emanate from this
CPF solution. Each of these edges leads to an adjacent CPF solution at the other
end but the simplex method does not even take the time to solve for the adja-
cent CPF solution. Instead it simply identifies the rate of improvement in Z that
would be obtained by moving along the edge. Among the edges with a positive
rate of improvement in Z it then chooses to move along the one with the largest
rate of improvement in Z. The iteration is completed by first solving for the ad-
jacent CPF solution at the other end of this one edge and then relabeling this ad-
jacent CPF solution as the current CPF solution for the optimality test and if
needed the next iteration.
At the first iteration of the example moving from 0 0 along the edge on the x
1
axis
would give a rate of improvement in Z of 3 Z increases by 3 per unit increase in x
1
whereas moving along the edge on the x
2
axis would give a rate of improvement in Z of
5 Z increases by 5 per unit increase in x
2
so the decision is made to move along the lat-
ter edge. At the second iteration the only edge emanating from 0 6 that would yield a
positive rate of improvement in Z is the edge leading to 2 6 so the decision is made to
move next along this edge.
The final solution concept clarifies how the optimality test is performed efficiently.
Solution concept 6: Solution concept 5 describes how the simplex method ex-
amines each of the edges of the feasible region that emanate from the current
CPF solution. This examination of an edge leads to quickly identifying the rate
of improvement in Z that would be obtained by moving along the edge toward
the adjacent CPF solution at the other end. A positive rate of improvement in Z
implies that the adjacent CPF solution is better than the current CPF solution
whereas a negative rate of improvement in Z implies that the adjacent CPF so-
lution is worse. Therefore the optimality test consists simply of checking whether
any of the edges give a positive rate of improvement in Z. If none do then the
current CPF solution is optimal.
In the example moving along either edge from 2 6 decreases Z. Since we want to max-
imize Z this fact immediately gives the conclusion that 2 6 is optimal.
114 4 SOLVING LINEAR PROGRAMMING PROBLEMS: THE SIMPLEX METHOD
The preceding section stressed the geometric concepts that underlie the simplex method.
However this algorithm normally is run on a computer which can follow only algebraic
instructions. Therefore it is necessary to translate the conceptually geometric procedure
just described into a usable algebraic procedure. In this section we introduce the algebraic
language of the simplex method and relate it to the concepts of the preceding section.
The algebraic procedure is based on solving systems of equations. Therefore the first
step in setting up the simplex method is to convert the functional inequality constraints
to equivalent equality constraints. The nonnegativity constraints are left as inequalities
because they are treated separately. This conversion is accomplished by introducing slack
4.2 SETTING UP THE SIMPLEX METHOD

slide 140:

variables. To illustrate consider the first functional constraint in the Wyndor Glass Co.
example of Sec. 3.1
x
1
4.
The slack variable for this constraint is defined to be
x
3
4 x
1
which is the amount of slack in the left-hand side of the inequality. Thus
x
1
x
3
4.
Given this equation x
1
4 if and only if 4 x
1
x
3
0. Therefore the original con-
straint x
1
4 is entirely equivalent to the pair of constraints
x
1
x
3
4 and x
3
0.
Upon the introduction of slack variables for the other functional constraints the original
linear programming model for the example shown below on the left can now be replaced
by the equivalent model called the augmented form of the model shown below on the right:
Original Form of the Model Augmented Form of the Model
1
4.2 SETTING UP THE SIMPLEX METHOD 115
Maximize Z 3x
1
5x
2
subject to
x
1
2x
2
4
3x
1
2x
2
12
3x
1
2x
2
18
and
x
1
0 x
2
0.
Maximize Z 3x
1
5x
2
subject to
1 x
1
x
3
4
2 2x
2
x
4
12
3 3x
1
2x
2
x
5
18
and
x
j
0 for j 1 2 3 4 5.
Although both forms of the model represent exactly the same problem the new form is
much more convenient for algebraic manipulation and for identification of CPF solutions.
We call this the augmented form of the problem because the original form has been aug-
mented by some supplementary variables needed to apply the simplex method.
If a slack variable equals 0 in the current solution then this solution lies on the con-
straint boundary for the corresponding functional constraint. A value greater than 0 means
that the solution lies on the feasible side of this constraint boundary whereas a value less
than 0 means that the solution lies on the infeasible side of this constraint boundary. A
demonstration of these properties is provided by the demonstration example in your OR
Tutor entitled Interpretation of the Slack Variables.
The terminology used in the preceding section corner-point solutions etc. applies
to the original form of the problem. We now introduce the corresponding terminology for
the augmented form.
An augmented solution is a solution for the original variables the decision vari-
ables that has been augmented by the corresponding values of the slack variables.
1
The slack variables are not shown in the objective function because the coefficients there are 0.

slide 141:

For example augmenting the solution 3 2 in the example yields the augmented solu-
tion 3 2 1 8 5 because the corresponding values of the slack variables are x
3
1
x
4
8 and x
5
5.
A basic solution is an augmented corner-point solution.
To illustrate consider the corner-point infeasible solution 4 6 in Fig. 4.1. Augmenting
it with the resulting values of the slack variables x
3
0 x
4
0 and x
5
6 yields the
corresponding basic solution 4 6 0 0 6.
The fact that corner-point solutions and so basic solutions can be either feasible or
infeasible implies the following definition:
A basic feasible BF solution is an augmented CPF solution.
Thus the CPF solution 0 6 in the example is equivalent to the BF solution 0 6 4
0 6 for the problem in augmented form.
The only difference between basic solutions and corner-point solutions or between
BF solutions and CPF solutions is whether the values of the slack variables are included.
For any basic solution the corresponding corner-point solution is obtained simply by delet-
ing the slack variables. Therefore the geometric and algebraic relationships between these
two solutions are very close as described in Sec. 5.1.
Because the terms basic solution and basic feasible solution are very important parts
of the standard vocabulary of linear programming we now need to clarify their algebraic
properties. For the augmented form of the example notice that the system of functional
constraints has 5 variables and 3 equations so
Number of variables number of equations 5 3 2.
This fact gives us 2 degrees of freedom in solving the system since any two variables can be
chosen to be set equal to any arbitrary value in order to solve the three equations in terms of
the remaining three variables.
1
The simplex method uses zero for this arbitrary value. Thus
two of the variables called the nonbasic variables are set equal to zero and then the si-
multaneous solution of the three equations for the other three variables called the basic vari-
ables is a basic solution. These properties are described in the following general definitions.
A basic solution has the following properties:
1. Each variable is designated as either a nonbasic variable or a basic variable.
2. The number of basic variables equals the number of functional constraints now equa-
tions. Therefore the number of nonbasic variables equals the total number of vari-
ables minus the number of functional constraints.
3. The nonbasic variables are set equal to zero.
4. The values of the basic variables are obtained as the simultaneous solution of the sys-
tem of equations functional constraints in augmented form. The set of basic vari-
ables is often referred to as the basis.
5. If the basic variables satisfy the nonnegativity constraints the basic solution is a BF
solution.
116 4 SOLVING LINEAR PROGRAMMING PROBLEMS: THE SIMPLEX METHOD
1
This method of determining the number of degrees of freedom for a system of equations is valid as long as the
system does not include any redundant equations. This condition always holds for the system of equations formed
from the functional constraints in the augmented form of a linear programming model.

slide 142:

To illustrate these definitions consider again the BF solution 0 6 4 0 6. This so-
lution was obtained before by augmenting the CPF solution 0 6. However another way
to obtain this same solution is to choose x
1
and x
4
to be the two nonbasic variables and
so the two variables are set equal to zero. The three equations then yield respectively
x
3
4 x
2
6 and x
5
6 as the solution for the three basic variables as shown below
with the basic variables in bold type:
x
1
0 and x
4
0 so
1 x
1
x
3
4 x
3
4
2 2x
2
x
4
12 x
2
6
3 3x
1
2x
2
x
5
18 x
5
6
Because all three of these basic variables are nonnegative this basic solution 0 6 4
0 6 is indeed a BF solution.
Just as certain pairs of CPF solutions are adjacent the corresponding pairs of BF so-
lutions also are said to be adjacent. Here is an easy way to tell when two BF solutions
are adjacent.
Two BF solutions are adjacent if all but one of their nonbasic variables are the same.
This implies that all but one of their basic variables also are the same although perhaps
with different numerical values.
Consequently moving from the current BF solution to an adjacent one involves switch-
ing one variable from nonbasic to basic and vice versa for one other variable and then
adjusting the values of the basic variables to continue satisfying the system of equations.
To illustrate adjacent BF solutions consider one pair of adjacent CPF solutions in
Fig. 4.1: 0 0 and 0 6. Their augmented solutions 0 0 4 12 18 and 0 6 4 0 6
automatically are adjacent BF solutions. However you do not need to look at Fig. 4.1 to
draw this conclusion. Another signpost is that their nonbasic variables x
1
x
2
and
x
1
x
4
are the same with just the one exception—x
2
has been replaced by x
4
. Conse-
quently moving from 0 0 4 12 18 to 0 6 4 0 6 involves switching x
2
from non-
basic to basic and vice versa for x
4
.
When we deal with the problem in augmented form it is convenient to consider and
manipulate the objective function equation at the same time as the new constraint equa-
tions. Therefore before we start the simplex method the problem needs to be rewritten
once again in an equivalent way:
Maximize Z
subject to
0 Z 3x
1
5x
2
0
1 x
1
x
3
4
2 2x
2
x
4
12
3 3x
1
2x
2
x
5
18
and
x
j
0 for j 1 2 . . . 5.
4.2 SETTING UP THE SIMPLEX METHOD 117

slide 143:

It is just as if Eq. 0 actually were one of the original constraints but because it already
is in equality form no slack variable is needed. While adding one more equation we also
have added one more unknown Z to the system of equations. Therefore when using
Eqs. 1 to 3 to obtain a basic solution as described above we use Eq. 0 to solve for
Z at the same time.
Somewhat fortuitously the model for the Wyndor Glass Co. problem fits our stan-
dard form and all its functional constraints have nonnegative right-hand sides b
i
. If this
had not been the case then additional adjustments would have been needed at this point
before the simplex method was applied. These details are deferred to Sec. 4.6 and we
now focus on the simplex method itself.
118 4 SOLVING LINEAR PROGRAMMING PROBLEMS: THE SIMPLEX METHOD
We continue to use the prototype example of Sec. 3.1 as rewritten at the end of Sec. 4.2
for illustrative purposes. To start connecting the geometric and algebraic concepts of the
simplex method we begin by outlining side by side in Table 4.2 how the simplex method
solves this example from both a geometric and an algebraic viewpoint. The geometric
viewpoint first presented in Sec. 4.1 is based on the original form of the model no slack
variables so again refer to Fig. 4.1 for a visualization when you examine the second col-
umn of the table. Refer to the augmented form of the model presented at the end of Sec.
4.2 when you examine the third column of the table.
We now fill in the details for each step of the third column of Table 4.2.
Initialization
The choice of x
1
and x
2
to be the nonbasic variables the variables set equal to zero for
the initial BF solution is based on solution concept 3 in Sec. 4.1. This choice eliminates
the work required to solve for the basic variables x
3
x
4
x
5
from the following system
of equations where the basic variables are shown in bold type:
x
1
0 and x
2
0 so
1 x
1
x
3
4 x
3
4
2 2x
2
x
4
12 x
4
12
3 3x
1
2x
2
x
5
18 x
5
18
Thus the initial BF solution is 0 0 4 12 18.
Notice that this solution can be read immediately because each equation has just one
basic variable which has a coefficient of 1 and this basic variable does not appear in any
other equation. You will soon see that when the set of basic variables changes the sim-
plex method uses an algebraic procedure Gaussian elimination to convert the equations
to this same convenient form for reading every subsequent BF solution as well. This form
is called proper form from Gaussian elimination.
Optimality Test
The objective function is
Z 3x
1
5x
2
4.3 THE ALGEBRA OF THE SIMPLEX METHOD

slide 144:

so Z 0 for the initial BF solution. Because none of the basic variables x
3
x
4
x
5
have
a nonzero coefficient in this objective function the coefficient of each nonbasic variable
x
1
x
2
gives the rate of improvement in Z if that variable were to be increased from zero
while the values of the basic variables are adjusted to continue satisfying the system of
equations.
1
These rates of improvement 3 and 5 are positive. Therefore based on so-
lution concept 6 in Sec. 4.1 we conclude that 0 0 4 12 18 is not optimal.
For each BF solution examined after subsequent iterations at least one basic variable
has a nonzero coefficient in the objective function. Therefore the optimality test then will
use the new Eq. 0 to rewrite the objective function in terms of just the nonbasic vari-
ables as you will see later.
4.3 THE ALGEBRA OF THE SIMPLEX METHOD 119
TABLE 4.2 Geometric and algebraic interpretations of how the simplex method
solves the Wyndor Glass Co. problem
Method
Sequence Geometric Interpretation Algebraic Interpretation
Initialization Choose 0 0 to be the initial CPF Choose x
1
and x
2
to be the nonbasic
solution. variables 0 for the initial BF
solution: 0 0 4 12 18.
Optimality Not optimal because moving along Not optimal because increasing either
test either edge from 0 0 increases Z. nonbasic variable x
1
or x
2
increases Z.
Iteration 1
Step 1 Move up the edge lying on the x
2
Increase x
2
while adjusting other
axis. variable values to satisfy the system of
equations.
Step 2 Stop when the first new constraint Stop when the first basic variable x
3
boundary 2x
2
12 is reached. x
4
or x
5
drops to zero x
4
.
Step 3 Find the intersection of the new pair With x
2
now a basic variable and x
4
of constraint boundaries: 0 6 is the now a nonbasic variable solve the
new CPF solution. system of equations: 0 6 4 0 6 is
the new BF solution.
Optimality Not optimal because moving along the Not optimal because increasing one
test edge from 0 6 to the right increases Z. nonbasic variable x
1
increases Z.
Iteration 2
Step 1 Move along this edge to the right. Increase x
1
while adjusting other
variable values to satisfy the system of
equations.
Step 2 Stop when the first new constraint Stop when the first basic variable x
2
boundary 3x
1
2x
2
18 is reached. x
3
or x
5
drops to zero x
5
.
Step 3 Find the intersection of the new pair With x
1
now a basic variable and x
5
of constraint boundaries: 2 6 is the now a nonbasic variable solve the
new CPF solution. system of equations: 2 6 2 0 0 is
the new BF solution.
Optimality 2 6 is optimal because moving 2 6 2 0 0 is optimal because
test along either edge from 2 6 decreases Z. increasing either nonbasic variable x
4
or x
5
decreases Z.
1
Note that this interpretation of the coefficients of the x
j
variables is based on these variables being on the right-
hand side Z 3x
1
5x
2
. When these variables are brought to the left-hand side for Eq. 0 Z 3x
1
5x
2
0
the nonzero coefficients change their signs.

slide 145:

Determining the Direction of Movement Step 1 of an Iteration
Increasing one nonbasic variable from zero while adjusting the values of the basic vari-
ables to continue satisfying the system of equations corresponds to moving along one
edge emanating from the current CPF solution. Based on solution concepts 4 and 5 in
Sec. 4.1 the choice of which nonbasic variable to increase is made as follows:
Z 3x
1
5x
2
Increase x
1
Rate of improvement in Z 3.
Increase x
2
Rate of improvement in Z 5.
5 3 so choose x
2
to increase.
As indicated next we call x
2
the entering basic variable for iteration 1.
At any iteration of the simplex method the purpose of step 1 is to choose one nonbasic
variable to increase from zero while the values of the basic variables are adjusted to con-
tinue satisfying the system of equations. Increasing this nonbasic variable from zero will
convert it to a basic variable for the next BF solution. Therefore this variable is called
the entering basic variable for the current iteration because it is entering the basis.
Determining Where to Stop Step 2 of an Iteration
Step 2 addresses the question of how far to increase the entering basic variable x
2
before
stopping. Increasing x
2
increases Z so we want to go as far as possible without leaving
the feasible region. The requirement to satisfy the functional constraints in augmented
form shown below means that increasing x
2
while keeping the nonbasic variable x
1
0
changes the values of some of the basic variables as shown on the right.
x
1
0 so
1 x
1
x
3
4 x
3
4
2 2x
2
x
4
12 x
4
12 2x
2
3 3x
1
2x
2
x
5
18 x
5
18 2x
2
.
The other requirement for feasibility is that all the variables be nonnegative. The nonbasic
variables including the entering basic variable are nonnegative but we need to check how
far x
2
can be increased without violating the nonnegativity constraints for the basic variables.
x
3
4 0 ⇒ no upper bound on x
2
.
x
4
12 2x
2
0 ⇒ x
2
1
2
2
6 minimum.
x
5
18 2x
2
0 ⇒ x
2
1
2
8
9.
Thus x
2
can be increased just to 6 at which point x
4
has dropped to 0. Increasing x
2
be-
yond 6 would cause x
4
to become negative which would violate feasibility.
These calculations are referred to as the minimum ratio test. The objective of this
test is to determine which basic variable drops to zero first as the entering basic variable
is increased. We can immediately rule out the basic variable in any equation where the
coefficient of the entering basic variable is zero or negative since such a basic variable
would not decrease as the entering basic variable is increased. This is what happened
120 4 SOLVING LINEAR PROGRAMMING PROBLEMS: THE SIMPLEX METHOD

slide 146:

with x
3
in Eq. 1 of the example. However for each equation where the coefficient of
the entering basic variable is strictly positive 0 this test calculates the ratio of the
right-hand side to the coefficient of the entering basic variable. The basic variable in the
equation with the minimum ratio is the one that drops to zero first as the entering basic
variable is increased.
At any iteration of the simplex method step 2 uses the minimum ratio test to determine
which basic variable drops to zero first as the entering basic variable is increased. De-
creasing this basic variable to zero will convert it to a nonbasic variable for the next BF
solution. Therefore this variable is called the leaving basic variable for the current iter-
ation because it is leaving the basis.
Thus x
4
is the leaving basic variable for iteration 1 of the example.
Solving for the New BF Solution Step 3 of an Iteration
Increasing x
2
0 to x
2
6 moves us from the initial BF solution on the left to the new
BF solution on the right.
Initial BF solution New BF solution
Nonbasic variables: x
1
0 x
2
0 x
1
0 x
4
0
Basic variables: x
3
4 x
4
12 x
5
18 x
3
x
2
6 x
5
The purpose of step 3 is to convert the system of equations to a more convenient form
proper form from Gaussian elimination for conducting the optimality test and if needed
the next iteration with this new BF solution. In the process this form also will identify
the values of x
3
and x
5
for the new solution.
Here again is the complete original system of equations where the new basic vari-
ables are shown in bold type with Z playing the role of the basic variable in the objec-
tive function equation:
0 Z 3x
1
5x
2
0.
1 x
1
x
3
4.
2 2x
2
x
4
12.
3 3x
1
2x
2
x
5
18.
Thus x
2
has replaced x
4
as the basic variable in Eq. 2. To solve this system of equations
for Z x
2
x
3
and x
5
we need to perform some elementary algebraic operations to re-
produce the current pattern of coefficients of x
4
0 0 1 0 as the new coefficients of x
2
.
We can use either of two types of elementary algebraic operations:
1. Multiply or divide an equation by a nonzero constant.
2. Add or subtract a multiple of one equation to or from another equation.
To prepare for performing these operations note that the coefficients of x
2
in the above
system of equations are 5 0 2 and 3 respectively whereas we want these coefficients
to become 0 0 1 and 0 respectively. To turn the coefficient of 2 in Eq. 2 into 1 we use
the first type of elementary algebraic operation by dividing Eq. 2 by 2 to obtain
2 x
2
1
2
x
4
6.
4.3 THE ALGEBRA OF THE SIMPLEX METHOD 121

slide 147:

To turn the coefficients of 5 and 3 into zeros we need to use the second type of elementary
algebraic operation. In particular we add 5 times this new Eq. 2 to Eq. 0 and subtract 2
times this new Eq. 2 from Eq. 3. The resulting complete new system of equations is
0 Z 3x
1
5
2
x
4
30
1 x
1
x
3
4
2 x
2
1
2
x
4
6
3 3x
1
x
4
x
5
6.
Since x
1
0 and x
4
0 the equations in this form immediately yield the new BF solu-
tion x
1
x
2
x
3
x
4
x
5
0 6 4 0 6 which yields Z 30.
This procedure for obtaining the simultaneous solution of a system of linear equa-
tions is called the Gauss-Jordan method of elimination or Gaussian elimination for
short.
1
The key concept for this method is the use of elementary algebraic operations to
reduce the original system of equations to proper form from Gaussian elimination where
each basic variable has been eliminated from all but one equation its equation and has
a coefficient of 1 in that equation.
Optimality Test for the New BF Solution
The current Eq. 0 gives the value of the objective function in terms of just the current
nonbasic variables
Z 30 3x
1
5
2
x
4
.
Increasing either of these nonbasic variables from zero while adjusting the values of the
basic variables to continue satisfying the system of equations would result in moving to-
ward one of the two adjacent BF solutions. Because x
1
has a positive coefficient in-
creasing x
1
would lead to an adjacent BF solution that is better than the current BF solu-
tion so the current solution is not optimal.
Iteration 2 and the Resulting Optimal Solution
Since Z 30 3x
1
5
2
x
4
Z can be increased by increasing x
1
but not x
4
. Therefore step
1 chooses x
1
to be the entering basic variable.
For step 2 the current system of equations yields the following conclusions about
how far x
1
can be increased with x
4
0:
x
3
4 x
1
0 ⇒ x
1
4
1
4.
x
2
6 0 ⇒ no upper bound on x
1
.
x
5
6 3x
1
0 ⇒ x
1
6
3
2 minimum.
Therefore the minimum ratio test indicates that x
5
is the leaving basic variable.
122 4 SOLVING LINEAR PROGRAMMING PROBLEMS: THE SIMPLEX METHOD
1
Actually there are some technical differences between the Gauss-Jordan method of elimination and Gaussian
elimination but we shall not make this distinction.

slide 148:

For step 3 with x
1
replacing x
5
as a basic variable we perform elementary algebraic
operations on the current system of equations to reproduce the current pattern of coeffi-
cients of x
5
0 0 0 1 as the new coefficients of x
1
. This yields the following new sys-
tem of equations:
0 Z 3
2
x
4
x
5
36
1 x
3
1
3
x
4
1
3
x
5
2
2 x
2
1
2
x
4
6
3 x
1
1
3
x
4
1
3
x
5
2.
Therefore the next BF solution is x
1
x
2
x
3
x
4
x
5
2 6 2 0 0 yielding Z 36. To
apply the optimality test to this new BF solution we use the current Eq. 0 to express Z
in terms of just the current nonbasic variables
Z 36 3
2
x
4
x
5
.
Increasing either x
4
or x
5
would decrease Z so neither adjacent BF solution is as good as
the current one. Therefore based on solution concept 6 in Sec. 4.1 the current BF solu-
tion must be optimal.
In terms of the original form of the problem no slack variables the optimal solu-
tion is x
1
2 x
2
6 which yields Z 3x
1
5x
2
36.
To see another example of applying the simplex method we recommend that you now
view the demonstration entitled Simplex Method—Algebraic Form in your OR Tutor. This
vivid demonstration simultaneously displays both the algebra and the geometry of the sim-
plex method as it dynamically evolves step by step. Like the many other demonstration ex-
amples accompanying other sections of the book including the next section this com-
puter demonstration highlights concepts that are difficult to convey on the printed page.
To further help you learn the simplex method efficiently your OR Courseware in-
cludes a procedure entitled Solve Interactively by the Simplex Method. This routine per-
forms nearly all the calculations while you make the decisions step by step thereby en-
abling you to focus on concepts rather than get bogged down in a lot of number crunching.
Therefore you probably will want to use this routine for your homework on this section.
The software will help you get started by letting you know whenever you make a mistake
on the first iteration of a problem.
The next section includes a summary of the simplex method for a more convenient
tabular form.
4.4 THE SIMPLEX METHOD IN TABULAR FORM 123
The algebraic form of the simplex method presented in Sec. 4.3 may be the best one for
learning the underlying logic of the algorithm. However it is not the most convenient form
for performing the required calculations. When you need to solve a problem by hand or
4.4 THE SIMPLEX METHOD IN TABULAR FORM

slide 149:

interactively with your OR Courseware we recommend the tabular form described in
this section.
1
The tabular form of the simplex method records only the essential information namely
1 the coefficients of the variables 2 the constants on the right-hand sides of the equa-
tions and 3 the basic variable appearing in each equation. This saves writing the sym-
bols for the variables in each of the equations but what is even more important is the fact
that it permits highlighting the numbers involved in arithmetic calculations and recording
the computations compactly.
Table 4.3 compares the initial system of equations for the Wyndor Glass Co. prob-
lem in algebraic form on the left and in tabular form on the right where the table on
the right is called a simplex tableau. The basic variable for each equation is shown in bold
type on the left and in the first column of the simplex tableau on the right. Although only
the x
j
variables are basic or nonbasic Z plays the role of the basic variable for Eq. 0.
All variables not listed in this basic variable column x
1
x
2
automatically are nonbasic
variables. After we set x
1
0 x
2
0 the right side column gives the resulting solution
for the basic variables so that the initial BF solution is x
1
x
2
x
3
x
4
x
5
0 0 4 12
18 which yields Z 0.
The tabular form of the simplex method uses a simplex tableau to compactly display the
system of equations yielding the current BF solution. For this solution each variable in
the leftmost column equals the corresponding number in the rightmost column and vari-
ables not listed equal zero. When the optimality test or an iteration is performed the only
relevant numbers are those to the right of the Z column. The term row refers to just a row
of numbers to the right of the Z column including the right side number where row i
corresponds to Eq. i.
We summarize the tabular form of the simplex method below and at the same time
briefly describe its application to the Wyndor Glass Co. problem. Keep in mind that the
logic is identical to that for the algebraic form presented in the preceding section. Only
the form for displaying both the current system of equations and the subsequent iteration
has changed plus we shall no longer bother to bring variables to the right-hand side of
an equation before drawing our conclusions in the optimality test or in steps 1 and 2 of
an iteration.
124 4 SOLVING LINEAR PROGRAMMING PROBLEMS: THE SIMPLEX METHOD
TABLE 4.3 Initial system of equations for the Wyndor Glass Co. problem
a Algebraic Form b Tabular Form
Coefficient of:
Basic Right
Variable Eq. Zx
1
x
2
x
3
x
4
x
5
Side
0 Z 3x
1
5x
2
x
3
x
4
x
5
0 Z 0 1 3 5 000 0
1 Z 3x
1
5x
2
x
3
x
4
x
5
4 x
3
1 0 1 0 100 4
2 Z 3x
1
2x
2
x
3
x
4
x
5
12 x
4
2 0 0 2 010 12
3 Z 3x
1
2x
2
x
3
x
4
x
5
18 x
5
3 0 3 2 001 18
1
A form more convenient for automatic execution on a computer is presented in Sec. 5.2.

slide 150:

Summary of the Simplex Method and Iteration 1 for the Example
Initialization. Introduce slack variables. Select the decision variables to be the initial
nonbasic variables set equal to zero and the slack variables to be the initial basic vari-
ables. See Sec. 4.6 for the necessary adjustments if the model is not in our standard
form—maximization only functional constraints and all nonnegativity constraints—
or if any b
i
values are negative.
For the Example: This selection yields the initial simplex tableau shown in Table 4.3b
so the initial BF solution is 0 0 4 12 18.
Optimality Test. The current BF solution is optimal if and only if every coefficient in
row 0 is nonnegative 0. If it is stop otherwise go to an iteration to obtain the next
BF solution which involves changing one nonbasic variable to a basic variable step 1
and vice versa step 2 and then solving for the new solution step 3.
For the Example: Just as Z 3x
1
5x
2
indicates that increasing either x
1
or x
2
will
increase Z so the current BF solution is not optimal the same conclusion is drawn from
the equation Z 3x
1
5x
2
0. These coefficients of 3 and 5 are shown in row 0 of
Table 4.3b.
Iteration. Step 1: Determine the entering basic variable by selecting the variable au-
tomatically a nonbasic variable with the negative coefficient having the largest absolute
value i.e. the “most negative” coefficient in Eq. 0. Put a box around the column be-
low this coefficient and call this the pivot column.
For the Example: The most negative coefficient is 5 for x
2
5 3 so x
2
is to be
changed to a basic variable. This change is indicated in Table 4.4 by the box around the
x
2
column below 5.
Step 2: Determine the leaving basic variable by applying the minimum ratio test.
Minimum Ratio Test
1. Pick out each coefficient in the pivot column that is strictly positive 0.
2. Divide each of these coefficients into the right side entry for the same row.
3. Identify the row that has the smallest of these ratios.
4. The basic variable for that row is the leaving basic variable so replace that variable
by the entering basic variable in the basic variable column of the next simplex tableau.
4.4 THE SIMPLEX METHOD IN TABULAR FORM 125
TABLE 4.4 Applying the minimum ratio test to determine the first leaving basic
variable for the Wyndor Glass Co. problem
Coefficient of:
Basic Right
Variable Eq. Zx
1
x
2
x
3
x
4
x
5
Side Ratio
Z 0 1 3 5 000 0
x
3
1 0 1 0 100 4
x
4
2 0 0 2 010 12 6 minimum
x
5
3 0 3 2 001 18 9
18
2
12
2

slide 151:

Put a box around this row and call it the pivot row. Also call the number that is in both
boxes the pivot number.
For the Example: The calculations for the minimum ratio test are shown to the
right of Table 4.4. Thus row 2 is the pivot row see the box around this row in the
first simplex tableau of Table 4.5 and x
4
is the leaving basic variable. In the next sim-
plex tableau see the bottom of Table 4.5 x
2
replaces x
4
as the basic variable for
row 2.
Step 3: Solve for the new BF solution by using elementary row operations multi-
ply or divide a row by a nonzero constant add or subtract a multiple of one row to an-
other row to construct a new simplex tableau in proper form from Gaussian elimination
below the current one and then return to the optimality test. The specific elementary row
operations that need to be performed are listed below.
1. Divide the pivot row by the pivot number. Use this new pivot row in steps 2
and 3.
2. For each other row including row 0 that has a negative coefficient in the pivot col-
umn add to this row the product of the absolute value of this coefficient and the new
pivot row.
3. For each other row that has a positive coefficient in the pivot column subtract from
this row the product of this coefficient and the new pivot row.
For the Example: Since x
2
is replacing x
4
as a basic variable we need to reproduce
the first tableau’s pattern of coefficients in the column of x
4
0 0 1 0 in the second
tableau’s column of x
2
. To start divide the pivot row row 2 by the pivot number 2
which gives the new row 2 shown in Table 4.5. Next we add to row 0 the product 5 times
the new row 2. Then we subtract from row 3 the product 2 times the new row 2 or equiv-
alently subtract from row 3 the old row 2. These calculations yield the new tableau shown
in Table 4.6 for iteration 1. Thus the new BF solution is 0 6 4 0 6 with Z 30. We
next return to the optimality test to check if the new BF solution is optimal. Since the new
row 0 still has a negative coefficient 3 for x
1
the solution is not optimal and so at
least one more iteration is needed.
126 4 SOLVING LINEAR PROGRAMMING PROBLEMS: THE SIMPLEX METHOD
TABLE 4.5 Simplex tableaux for the Wyndor Glass Co. problem after the
first pivot row is divided by the first pivot number
Coefficient of:
Basic Right
Iteration Variable Eq. Zx
1
x
2
x
3
x
4
x
5
Side
Z 0 1 3 50 0 0 0
x
3
1 0 1 01 0 0 4
0
x
4
2 0 0 20 1 0 12
x
5
3 0 3 20 0 1 18
Z 0 1
x
3
1 0
1
x
2
2 0 0 10 1
2
06
x
5
3 0

slide 152:

Iteration 2 for the Example and the Resulting Optimal Solution
The second iteration starts anew from the second tableau of Table 4.6 to find the next BF
solution. Following the instructions for steps 1 and 2 we find x
1
as the entering basic vari-
able and x
5
as the leaving basic variable as shown in Table 4.7.
For step 3 we start by dividing the pivot row row 3 in Table 4.7 by the pivot num-
ber 3. Next we add to row 0 the product 3 times the new row 3. Then we subtract the
new row 3 from row 1.
We now have the set of tableaux shown in Table 4.8. Therefore the new BF solution
is 2 6 2 0 0 with Z 36. Going to the optimality test we find that this solution is
optimal because none of the coefficients in row 0 is negative so the algorithm is finished.
Consequently the optimal solution for the Wyndor Glass Co. problem before slack vari-
ables are introduced is x
1
2 x
2
6.
Now compare Table 4.8 with the work done in Sec. 4.3 to verify that these two forms
of the simplex method really are equivalent. Then note how the algebraic form is supe-
rior for learning the logic behind the simplex method but the tabular form organizes the
4.4 THE SIMPLEX METHOD IN TABULAR FORM 127
TABLE 4.6 First two simplex tableaux for the Wyndor Glass Co. problem
Coefficient of:
Basic Right
Iteration Variable Eq. Zx
1
x
2
x
3
x
4
x
5
Side
Z 0 1 3 50 00 0
x
3
1 0 1 01 00 4
0
x
4
2 0 0 20 10 12
x
5
3 0 3 20 01 18
Z 0 1 3 00 5
2
030
x
3
1 0 1 01 00 4
1
x
2
2 0 0 10 1
2
06
x
5
3 0 3 00 11 6
TABLE 4.7 Steps 1 and 2 of iteration 2 for the Wyndor Glass Co. problem
Coefficient of:
Basic Right
Iteration Variable Eq. Zx
1
x
2
x
3
x
4
x
5
Side Ratio
Z 0 1 30 0 5
2
030
x
3
1 0 10 1 00 4 4
1
4
1
x
2
2 0 01 0 1
2
06
x
5
3 0 30 0 11 6 6
3
2 minimum

slide 153:

work being done in a considerably more convenient and compact form. We generally use
the tabular form from now on.
An additional example of applying the simplex method in tabular form is available
to you in the OR Tutor. See the demonstration entitled Simplex Method—Tabular Form.
128 4 SOLVING LINEAR PROGRAMMING PROBLEMS: THE SIMPLEX METHOD
TABLE 4.8 Complete set of simplex tableaux for the Wyndor Glass Co. problem
Coefficient of:
Basic Right
Iteration Variable Eq. Zx
1
x
2
x
3
x
4
x
5
Side
Z 0 1 3 50 0 00
x
3
1 0 1 01 0 04
0
x
4
2 0 0 20 1 012
x
5
3 0 3 20 0 118
Z 0 1 3 00 5
2
030
x
3
1 0 1 01 0 04
1
x
2
2 0 0 10 1
2
06
x
5
3 0 3 00 1 16
Z 0 1 0 00 3
2
136
x
3
1 0 0 01 1
3
1
3
2
2
x
2
2 0 0 10 1
2
06
x
1
3 0 1 00 1
3
1
3
2
You may have noticed in the preceding two sections that we never said what to do if the
various choice rules of the simplex method do not lead to a clear-cut decision because of
either ties or other similar ambiguities. We discuss these details now.
Tie for the Entering Basic Variable
Step 1 of each iteration chooses the nonbasic variable having the negative coefficient with
the largest absolute value in the current Eq. 0 as the entering basic variable. Now sup-
pose that two or more nonbasic variables are tied for having the largest negative coeffi-
cient in absolute terms. For example this would occur in the first iteration for the Wyn-
dor Glass Co. problem if its objective function were changed to Z 3x
1
3x
2
so that the
initial Eq. 0 became Z 3x
1
3x
2
0. How should this tie be broken
The answer is that the selection between these contenders may be made arbitrarily.
The optimal solution will be reached eventually regardless of the tied variable chosen
and there is no convenient method for predicting in advance which choice will lead there
4.5 TIE BREAKING IN THE SIMPLEX METHOD

slide 154:

sooner. In this example the simplex method happens to reach the optimal solution 2 6
in three iterations with x
1
as the initial entering basic variable versus two iterations if x
2
is chosen.
Tie for the Leaving Basic Variable—Degeneracy
Now suppose that two or more basic variables tie for being the leaving basic variable in
step 2 of an iteration. Does it matter which one is chosen Theoretically it does and in a
very critical way because of the following sequence of events that could occur. First all
the tied basic variables reach zero simultaneously as the entering basic variable is in-
creased. Therefore the one or ones not chosen to be the leaving basic variable also will
have a value of zero in the new BF solution. Note that basic variables with a value of
zero are called degenerate and the same term is applied to the corresponding BF solu-
tion. Second if one of these degenerate basic variables retains its value of zero until it
is chosen at a subsequent iteration to be a leaving basic variable the corresponding en-
tering basic variable also must remain zero since it cannot be increased without making
the leaving basic variable negative so the value of Z must remain unchanged. Third if
Z may remain the same rather than increase at each iteration the simplex method may
then go around in a loop repeating the same sequence of solutions periodically rather
than eventually increasing Z toward an optimal solution. In fact examples have been ar-
tificially constructed so that they do become entrapped in just such a perpetual loop.
Fortunately although a perpetual loop is theoretically possible it has rarely been
known to occur in practical problems. If a loop were to occur one could always get out
of it by changing the choice of the leaving basic variable. Furthermore special rules
1
have
been constructed for breaking ties so that such loops are always avoided. However these
rules frequently are ignored in actual application and they will not be repeated here. For
your purposes just break this kind of tie arbitrarily and proceed without worrying about
the degenerate basic variables that result.
No Leaving Basic Variable—Unbounded Z
In step 2 of an iteration there is one other possible outcome that we have not yet dis-
cussed namely that no variable qualifies to be the leaving basic variable.
2
This outcome
would occur if the entering basic variable could be increased indefinitely without giving
negative values to any of the current basic variables. In tabular form this means that every
coefficient in the pivot column excluding row 0 is either negative or zero.
As illustrated in Table 4.9 this situation arises in the example displayed in Fig. 3.6
on p. 36. In this example the last two functional constraints of the Wyndor Glass Co.
problem have been overlooked and so are not included in the model. Note in Fig. 3.6 how
x
2
can be increased indefinitely thereby increasing Z indefinitely without ever leaving
the feasible region. Then note in Table 4.9 that x
2
is the entering basic variable but the
4.5 TIE BREAKING IN THE SIMPLEX METHOD 129
1
See R. Bland “New Finite Pivoting Rules for the Simplex Method” Mathematics of Operations Research 2:
103–107 1977.
2
Note that the analogous case no entering basic variable cannot occur in step 1 of an iteration because the
optimality test would stop the algorithm first by indicating that an optimal solution had been reached.

slide 155:

only coefficient in the pivot column is zero. Because the minimum ratio test uses only co-
efficients that are greater than zero there is no ratio to provide a leaving basic variable.
The interpretation of a tableau like the one shown in Table 4.9 is that the constraints
do not prevent the value of the objective function Z increasing indefinitely so the sim-
plex method would stop with the message that Z is unbounded. Because even linear pro-
gramming has not discovered a way of making infinite profits the real message for prac-
tical problems is that a mistake has been made The model probably has been
misformulated either by omitting relevant constraints or by stating them incorrectly. Al-
ternatively a computational mistake may have occurred.
Multiple Optimal Solutions
We mentioned in Sec. 3.2 under the definition of optimal solution that a problem can
have more than one optimal solution. This fact was illustrated in Fig. 3.5 by changing the
objective function in the Wyndor Glass Co. problem to Z 3x
1
2x
2
so that every point
on the line segment between 2 6 and 4 3 is optimal. Thus all optimal solutions are
a weighted average of these two optimal CPF solutions
x
1
x
2
w
1
2 6 w
2
4 3
where the weights w
1
and w
2
are numbers that satisfy the relationships
w
1
w
2
1 and w
1
0 w
2
0.
For example w
1
1
3
and w
2
2
3
give
x
1
x
2
1
3
2 6 2
3
4 3 2
3
8
3
6
3
6
3
1
3
0
4
as one optimal solution.
In general any weighted average of two or more solutions vectors where the weights
are nonnegative and sum to 1 is called a convex combination of these solutions. Thus
every optimal solution in the example is a convex combination of 2 6 and 4 3.
This example is typical of problems with multiple optimal solutions.
As indicated at the end of Sec. 3.2 any linear programming problem with multiple opti-
mal solutions and a bounded feasible region has at least two CPF solutions that are op-
timal. Every optimal solution is a convex combination of these optimal CPF solutions.
Consequently in augmented form every optimal solution is a convex combination of the
optimal BF solutions.
Problems 4.5-5 and 4.5-6 guide you through the reasoning behind this conclusion.
130 4 SOLVING LINEAR PROGRAMMING PROBLEMS: THE SIMPLEX METHOD
TABLE 4.9 Initial simplex tableau for the Wyndor Glass Co. problem without the
last two functional constraints
Coefficient of:
Basic Right
Variable Eq. Zx
1
x
2
x
3
Side Ratio
Z 0 1 3 5 0 0 With x
1
0 and x
2
increasing
x
3
1 0 1 0 1 4 None x
3
4 1x
1
0x
2
4 0.

slide 156:

The simplex method automatically stops after one optimal BF solution is found. How-
ever for many applications of linear programming there are intangible factors not incor-
porated into the model that can be used to make meaningful choices between alternative
optimal solutions. In such cases these other optimal solutions should be identified as well.
As indicated above this requires finding all the other optimal BF solutions and then every
optimal solution is a convex combination of the optimal BF solutions.
After the simplex method finds one optimal BF solution you can detect if there are
any others and if so find them as follows:
Whenever a problem has more than one optimal BF solution at least one of the nonba-
sic variables has a coefficient of zero in the final row 0 so increasing any such variable
will not change the value of Z. Therefore these other optimal BF solutions can be iden-
tified if desired by performing additional iterations of the simplex method each time
choosing a nonbasic variable with a zero coefficient as the entering basic variable.
1
To illustrate consider again the case just mentioned where the objective function in
the Wyndor Glass Co. problem is changed to Z 3x
1
2x
2
. The simplex method obtains
the first three tableaux shown in Table 4.10 and stops with an optimal BF solution. How-
4.5 TIE BREAKING IN THE SIMPLEX METHOD 131
TABLE 4.10 Complete set of simplex tableaux to obtain all optimal BF solutions
for the Wyndor Glass Co. problem with c
2
2
Coefficient of:
Basic Right Solution
Iteration Variable Eq. Zx
1
x
2
x
3
x
4
x
5
Side Optimal
Z 0 1 3 2 0 0 00 No
x
3
1 0 1 0 1 0 04
0
x
4
2 0 0 2 0 1 012
x
5
3 0 3 2 0 0 118
Z 0 1 0 2 3 0 012 No
x
1
1 0 1 0 1 0 04
1
x
4
2 0 0 2 0 1 012
x
5
3 0 0 2 3 0 16
Z 0 1 0 0 0 0 118 Yes
x
1
1 0 1 0 1 0 04
2
x
4
2 0 0 0 3 1 16
x
2
3 0 0 1 3
2
0 1
2
3
Z 0 1 0 0 0 0 118 Yes
x
1
1 0 1 0 0 1
3
1
3
2
Extra
x
3
2 0 0 0 1 1
3
1
3
2
x
2
3 0 0 1 0 1
2
06
1
If such an iteration has no leaving basic variable this indicates that the feasible region is unbounded and the
entering basic variable can be increased indefinitely without changing the value of Z.

slide 157:

ever because a nonbasic variable x
3
then has a zero coefficient in row 0 we perform
one more iteration in Table 4.10 to identify the other optimal BF solution. Thus the two
optimal BF solutions are 4 3 0 6 0 and 2 6 2 0 0 each yielding Z 18. Notice
that the last tableau also has a nonbasic variable x
4
with a zero coefficient in row 0. This
situation is inevitable because the extra iteration does not change row 0 so this leaving
basic variable necessarily retains its zero coefficient. Making x
4
an entering basic variable
now would only lead back to the third tableau. Check this. Therefore these two are the
only BF solutions that are optimal and all other optimal solutions are a convex combi-
nation of these two.
x
1
x
2
x
3
x
4
x
5
w
1
2 6 2 0 0 w
2
4 3 0 6 0
w
1
w
2
1 w
1
0 w
2
0.
132 4 SOLVING LINEAR PROGRAMMING PROBLEMS: THE SIMPLEX METHOD
Thus far we have presented the details of the simplex method under the assumptions that
the problem is in our standard form maximize Z subject to functional constraints in form
and nonnegativity constraints on all variables and that b
i
0 for all i 1 2 . . . m. In
this section we point out how to make the adjustments required for other legitimate forms
of the linear programming model. You will see that all these adjustments can be made dur-
ing the initialization so the rest of the simplex method can then be applied just as you have
learned it already.
The only serious problem introduced by the other forms for functional constraints
the or forms or having a negative right-hand side lies in identifying an initial BF
solution. Before this initial solution was found very conveniently by letting the slack vari-
ables be the initial basic variables so that each one just equals the nonnegative right-hand
side of its equation. Now something else must be done. The standard approach that is
used for all these cases is the artificial-variable technique. This technique constructs a
more convenient artificial problem by introducing a dummy variable called an artificial
variable into each constraint that needs one. This new variable is introduced just for the
purpose of being the initial basic variable for that equation. The usual nonnegativity con-
straints are placed on these variables and the objective function also is modified to im-
pose an exorbitant penalty on their having values larger than zero. The iterations of the
simplex method then automatically force the artificial variables to disappear become zero
one at a time until they are all gone after which the real problem is solved.
To illustrate the artificial-variable technique first we consider the case where the only
nonstandard form in the problem is the presence of one or more equality constraints.
Equality Constraints
Any equality constraint
a
i1
x
1
a
i2
x
2
a
in
x
n
b
i
actually is equivalent to a pair of inequality constraints:
a
i1
x
1
a
i2
x
2
a
in
x
n
b
i
a
i1
x
1
a
i2
x
2
a
in
x
n
b
i
.
4.6 ADAPTING TO OTHER MODEL FORMS

slide 158:

However rather than making this substitution and thereby increasing the number of con-
straints it is more convenient to use the artificial-variable technique. We shall illustrate
this technique with the following example.
4.6 ADAPTING TO OTHER MODEL FORMS 133
Example. Suppose that the Wyndor Glass Co. problem in Sec. 3.1 is modified to re-
quire that Plant 3 be used at full capacity. The only resulting change in the linear pro-
gramming model is that the third constraint 3x
1
2x
2
18 instead becomes an equal-
ity constraint
3x
1
2x
2
18
so that the complete model becomes the one shown in the upper right-hand corner of Fig.
4.3. This figure also shows in darker ink the feasible region which now consists of just
the line segment connecting 2 6 and 4 3.
After the slack variables still needed for the inequality constraints are introduced the
system of equations for the augmented form of the problem becomes
0 Z 3x
1
5x
2
0.
1 x
1
x
3
4.
2 2x
2
x
4
12.
3 3x
1
2x
2
18.
Unfortunately these equations do not have an obvious initial BF solution because there
is no longer a slack variable to use as the initial basic variable for Eq. 3. It is necessary
to find an initial BF solution to start the simplex method.
This difficulty can be circumvented in the following way.
2 6
4 3
x
2
x
1
Maximize Z 3x
1
5x
2
subject to x
1
4
12
18
2x
2
2x
2
3x
1
x
1
0 x
2
0 and
0 2 4 6 8
2
4
6
8
10
FIGURE 4.3
When the third functional
constraint becomes an
equality constraint the
feasible region for the
Wyndor Glass Co. problem
becomes the line segment
between 2 6 and 4 3.

slide 159:

Obtaining an Initial BF Solution. The procedure is to construct an artificial prob-
lem that has the same optimal solution as the real problem by making two modifications
of the real problem.
1. Apply the artificial-variable technique by introducing a nonnegative artificial vari-
able call it x x
5
1
into Eq. 3 just as if it were a slack variable
3 3x
1
2x
2
x
5
18.
2. Assign an overwhelming penalty to having x x
5
0 by changing the objective function
Z 3x
1
5x
2
to
Z 3x
1
5x
2
Mx
5
where M symbolically represents a huge positive number. This method of forcing x x
5
to be x x
5
0 in the optimal solution is called the Big M method.
Now find the optimal solution for the real problem by applying the simplex method to the
artificial problem starting with the following initial BF solution:
Initial BF Solution
Nonbasic variables: x
1
0 x
2
0
Basic variables: x
3
4 x
4
12 x x
5
18.
Because x x
5
plays the role of the slack variable for the third constraint in the artificial
problem this constraint is equivalent to 3x
1
2x
2
18 just as for the original Wyndor
Glass Co. problem in Sec. 3.1. We show below the resulting artificial problem before
augmenting next to the real problem.
The Real Problem The Artificial Problem
134 4 SOLVING LINEAR PROGRAMMING PROBLEMS: THE SIMPLEX METHOD
Maximize Z 3x
1
5x
2
subject to
x
1
2x
2
4
3x
1
2x
2
12
3x
1
2x
2
18
and
x
1
0 x
2
0.
Define x x
5
18 3x
1
2x
2
.
Maximize Z 3x
1
5x
2
Mx x
5
subject to
so 3x
1
2x
2
x
5
4
so 3x
1
2x
2
x
5
12
so 3x
1
2x
2
x
5
18
so 3x
1
2x
2
x
5
18
and
x
1
0 x
2
0 x x
5
0.
Therefore just as in Sec. 3.1 the feasible region for x
1
x
2
for the artificial problem is
the one shown in Fig. 4.4. The only portion of this feasible region that coincides with the
feasible region for the real problem is where x
5
0 so 3x
1
2x
2
18.
Figure 4.4 also shows the order in which the simplex method examines the CPF so-
lutions or BF solutions after augmenting where each circled number identifies which it-
eration obtained that solution. Note that the simplex method moves counterclockwise here
1
We shall always label the artificial variables by putting a bar over them.

slide 160:

whereas it moved clockwise for the original Wyndor Glass Co. problem see Fig. 4.2. The
reason for this difference is the extra term Mx x
5
in the objective function for the artificial
problem.
Before applying the simplex method and demonstrating that it follows the path shown
in Fig. 4.4 the following preparatory step is needed.
Converting Equation 0 to Proper Form. The system of equations after the arti-
ficial problem is augmented is
0 Z 3x
1
5x
2
Mx
5
0
1 x
1
x
3
4
2 2x
2
x
4
12
3 3x
1
2x
2
x
5
18
where the initial basic variables x
3
x
4
x
5
are shown in bold type. However this system
is not yet in proper form from Gaussian elimination because a basic variable x
5
has a
nonzero coefficient in Eq. 0. Recall that all basic variables must be algebraically elim-
inated from Eq. 0 before the simplex method can either apply the optimality test or find
the entering basic variable. This elimination is necessary so that the negative of the coef-
ficient of each nonbasic variable will give the rate at which Z would increase if that non-
basic variable were to be increased from 0 while adjusting the values of the basic
variables accordingly.
To algebraically eliminate x
5
from Eq. 0 we need to subtract from Eq. 0 the prod-
uct M times Eq. 3.
New 0
Z 3x
1
5x
2
Mx
5
0
M3x
1
2x
2
Mx x
5
18
Z 3M 3x
1
2M 5x
2
18M.
4.6 ADAPTING TO OTHER MODEL FORMS 135
4 0
0 6
2 6
4 3
0 0
Feasible
region
x
1
x
2
Z 30 6M
Z 36
Z 27
Z 12 6M
Z 0 18M
3
2
1 0
Maximize Z 3x
1
5x
2
Mx
5
subject to x
1
4
12
18
2x
2
2x
2
3x
1
x
1
0 x
2
0 and
Define
x
5
18 3x
1
2x
2
.
x
5
0
FIGURE 4.4
This graph shows the feasible
region and the sequence of
CPF solutions
examined by the simplex
method for the artificial
problem that corresponds to
the real problem of Fig. 4.3.

slide 161:

Application of the Simplex Method. This new Eq. 0 gives Z in terms of just the
nonbasic variables x
1
x
2
Z 18M 3M 3x
1
2M 5x
2
.
Since 3M 3 2M 5 remember that M represents a huge number increasing x
1
in-
creases Z at a faster rate than increasing x
2
does so x
1
is chosen as the entering basic vari-
able. This leads to the move from 0 0 to 4 0 at iteration 1 shown in Fig. 4.4 thereby
increasing Z by 43M 3.
The quantities involving M never appear in the system of equations except for Eq.
0 so they need to be taken into account only in the optimality test and when an enter-
ing basic variable is determined. One way of dealing with these quantities is to assign
some particular huge numerical value to M and use the resulting coefficients in Eq. 0
in the usual way. However this approach may result in significant rounding errors that in-
validate the optimality test. Therefore it is better to do what we have just shown namely
to express each coefficient in Eq. 0 as a linear function aM b of the symbolic quan-
tity M by separately recording and updating the current numerical value of 1 the multi-
plicative factor a and 2 the additive term b. Because M is assumed to be so large that b
always is negligible compared with M when a 0 the decisions in the optimality test
and the choice of the entering basic variable are made by using just the multiplicative fac-
tors in the usual way except for breaking ties with the additive factors.
Using this approach on the example yields the simplex tableaux shown in Table 4.11.
Note that the artificial variable x
5
is a basic variable x x
5
0 in the first two tableaux
and a nonbasic variable x x
5
0 in the last two. Therefore the first two BF solutions for
this artificial problem are infeasible for the real problem whereas the last two also are BF
solutions for the real problem.
This example involved only one equality constraint. If a linear programming model
has more than one each is handled in just the same way. If the right-hand side is nega-
tive multiply through both sides by 1 first.
Negative Right-Hand Sides
The technique mentioned in the preceding sentence for dealing with an equality constraint
with a negative right-hand side namely multiply through both sides by 1 also works
for any inequality constraint with a negative right-hand side. Multiplying through both
sides of an inequality by 1 also reverses the direction of the inequality i.e. changes
to or vice versa. For example doing this to the constraint
x
1
x
2
1 that is x
1
x
2
1
gives the equivalent constraint
x
1
x
2
1 that is x
2
1 x
1
but now the right-hand side is positive. Having nonnegative right-hand sides for all the
functional constraints enables the simplex method to begin because after augmenting
these right-hand sides become the respective values of the initial basic variables which
must satisfy nonnegativity constraints.
136 4 SOLVING LINEAR PROGRAMMING PROBLEMS: THE SIMPLEX METHOD

slide 162:

We next focus on how to augment constraints such as x
1
x
2
1 with the help
of the artificial-variable technique.
Functional Constraints in Form
To illustrate how the artificial-variable technique deals with functional constraints in form we will use the model for designing Mary’s radiation therapy as presented in Sec.
3.4. For your convenience this model is repeated below where we have placed a box
around the constraint of special interest here.
Radiation Therapy Example
4.6 ADAPTING TO OTHER MODEL FORMS 137
TABLE 4.11 Complete set of simplex tableaux for the problem shown in Fig. 4.4
Coefficient of:
Basic Right
Iteration Variable Eq.Zx
1
x
2
x
3
x
4
x
5
Side
Z 0 1 3M 3 2M 5 00 0 18M
x
3
1 0 1 0 10 04
0
x
4
2 0 0 2 01 012
x
5
3 0 3 2 00 118
Z 0 1 0 2M 53M 30 0 6M 12
x
1
1 0 1 0 10 04
1
x
4
2 0 0 2 01 012
x
5
3 0 0 2 30 16
Z 0 1 0 0 0 M 27
x
1
1 0 1 0 10 04
2
x
4
2 0 0 0 31 16
x
2
3 0 0 1 0 3
Z 0 1 0 0 0 3
2
M 136
x
1
1 0 1 0 0 2
Extra
x
3
2 0 0 0 1 2
x
2
3 0 0 1 0 06
1
2
1
3
1
3
1
3
1
3
1
2
3
2
5
2
9
2
Minimize Z 0.4x
1
0.5x
2
subject to
0.3x
1
0.1x
2
2.7
0.5x
1
0.5x
2
6
0.6x
1
0.4x
2
6
and
x
1
0 x
2
0.

slide 163:

The graphical solution for this example originally presented in Fig. 3.12 is repeated
here in a slightly different form in Fig. 4.5. The three lines in the figure along with the
two axes constitute the five constraint boundaries of the problem. The dots lying at the
intersection of a pair of constraint boundaries are the corner-point solutions. The only two
corner-point feasible solutions are 6 6 and 7.5 4.5 and the feasible region is the line
segment connecting these two points. The optimal solution is x
1
x
2
7.5 4.5 with
Z 5.25.
We soon will show how the simplex method solves this problem by directly solving
the corresponding artificial problem. However first we must describe how to deal with
the third constraint.
138 4 SOLVING LINEAR PROGRAMMING PROBLEMS: THE SIMPLEX METHOD
5
10
0 5
10
x
1
0.6x
1
0.4x
2
6
6 6
7.5 4.5
8 3
0.3x
1
0.1x
2
2.7
0.5x
1
0.5x
2
6
Dots corner-point solutions
Dark line segment feasible region
Optimal solution 7.5 4.5
15
x
2
27
FIGURE 4.5
Graphical display of the
radiation therapy example
and its corner-point
solutions.

slide 164:

Our approach involves introducing both a surplus variable x
5
defined as x
5
0.6x
1
0.4x
2
6 and an artificial variable x
6
as shown next.
0.6x
1
0.4x
2
6
0.6x
1
0.4x
2
x
5
6x
5
0
0.6x
1
0.4x
2
x
5
x
6
6x
5
0 x x
6
0.
Here x
5
is called a surplus variable because it subtracts the surplus of the left-hand side
over the right-hand side to convert the inequality constraint to an equivalent equality con-
straint. Once this conversion is accomplished the artificial variable is introduced just as
for any equality constraint.
After a slack variable x
3
is introduced into the first constraint an artificial variable
x
4
is introduced into the second constraint and the Big M method is applied so the com-
plete artificial problem in augmented form is
Minimize Z 0.4x
1
0.5x
2
Mx x
4
Mx x
6
subject to 0.3x
1
0.1x
2
x
3
2.7
0.5x
1
0.5x
2
x
4
6
0.6x
1
0.4x
2
x x x
5
x
6
6
and x
1
0 x
2
0 x
3
0 x
4
0 x
5
0 x
6
0.
Note that the coefficients of the artificial variables in the objective function are M in-
stead of M because we now are minimizing Z. Thus even though x x
4
0 and/or x
6
0
is possible for a feasible solution for the artificial problem the huge unit penalty of M
prevents this from occurring in an optimal solution.
As usual introducing artificial variables enlarges the feasible region. Compare below
the original constraints for the real problem with the corresponding constraints on x
1
x
2
for the artificial problem.
Constraints on x
1
x
2
Constraints on x
1
x
2
for the Real Problem for the Artificial Problem
0.3x
1
0.1x
2
2.7 0.3x
1
0.1x
2
2.7
0.5x
1
0.5x
2
6 0.5x
1
0.5x
2
6 holds when x x
4
0
0.6x
1
0.4x
2
6 No such constraint except when x x
6
0
x
1
0 x
2
0 x
1
0 x
2
0
Introducing the artificial variable x x
4
to play the role of a slack variable in the second con-
straint allows values of x
1
x
2
below the 0.5x
1
0.5x
2
6 line in Fig. 4.5. Introducing
x
5
and x x
6
into the third constraint of the real problem and moving these variables to the
right-hand side yields the equation
0.6x
1
0.4x
2
6 x
5
x x
6
.
Because both x
5
and x x
6
are constrained only to be nonnegative their difference x
5
x x
6
can be any positive or negative number. Therefore 0.6x
1
0.4x
2
can have any value
which has the effect of eliminating the third constraint from the artificial problem and al-
lowing points on either side of the 0.6x
1
0.4x
2
6 line in Fig. 4.5. We keep the third
constraint in the system of equations only because it will become relevant again later af-
ter the Big M method forces x
6
to be zero. Consequently the feasible region for the ar-
4.6 ADAPTING TO OTHER MODEL FORMS 139

slide 165:

tificial problem is the entire polyhedron in Fig. 4.5 whose vertices are 0 0 9 0
7.5 4.5 and 0 12.
Since the origin now is feasible for the artificial problem the simplex method starts
with 0 0 as the initial CPF solution i.e. with x
1
x
2
x
3
x x
4
x
5
x
6
0 0 2.7 6 0
6 as the initial BF solution. Making the origin feasible as a convenient starting point for
the simplex method is the whole point of creating the artificial problem. We soon will
trace the entire path followed by the simplex method from the origin to the optimal so-
lution for both the artificial and real problems. But first how does the simplex method
handle minimization
Minimization
One straightforward way of minimizing Z with the simplex method is to exchange the
roles of the positive and negative coefficients in row 0 for both the optimality test and
step 1 of an iteration. However rather than changing our instructions for the simplex
method for this case we present the following simple way of converting any minimiza-
tion problem to an equivalent maximization problem:
Minimizing Z n
j 1
c
j
x
j
is equivalent to
maximizing Z n
j 1
c
j
x
j
i.e. the two formulations yield the same optimal solutions.
The two formulations are equivalent because the smaller Z is the larger Z is so the
solution that gives the smallest value of Z in the entire feasible region must also give the
largest value of Z in this region.
Therefore in the radiation therapy example we make the following change in the
formulation:
Minimize Z 0.4x
1
0.5x
2
Maximize Z 0.4x
1
0.5x
2
.
After artificial variables x x
4
and x x
6
are introduced and then the Big M method is applied
the corresponding conversion is
Minimize Z 0.4x
1
0.5x
2
Mx x
4
Mx x x
6
Maximize Z 0.4x
1
0.5x
2
Mx x
4
Mx x x
6
.
Solving the Radiation Therapy Example
We now are nearly ready to apply the simplex method to the radiation therapy example.
By using the maximization form just obtained the entire system of equations is now
0 Z 0.4x
1
0.5x
2
Mx
4
Mx
6
0
1 0.3x
1
0.1x
2
x
3
2.7
140 4 SOLVING LINEAR PROGRAMMING PROBLEMS: THE SIMPLEX METHOD

slide 166:

2 0.5x
1
0.5x
2
x
4
6
3 0.6x
1
0.4x
2
x
5
x
6
6.
The basic variables x
3
x
4
x
6
for the initial BF solution for this artificial problem are
shown in bold type.
Note that this system of equations is not yet in proper form from Gaussian elimina-
tion as required by the simplex method since the basic variables x
4
and x
6
still need to
be algebraically eliminated from Eq. 0. Because x
4
and x
6
both have a coefficient of M
Eq. 0 needs to have subtracted from it both M times Eq. 2 and M times Eq. 3. The
calculations for all the coefficients and the right-hand sides are summarized below where
the vectors are the relevant rows of the simplex tableau corresponding to the above sys-
tem of equations.
Row 0:
M0.4 0.5 0 M0 M0
M0.5 0.5 0 1 0 0 6
M0.6 0.4 0 0 1 1 6
New row 0 1.1M 0.4 0.9M 0.5 0 0 M0 12M
The resulting initial simplex tableau ready to begin the simplex method is shown at
the top of Table 4.12. Applying the simplex method in just the usual way then yields the
sequence of simplex tableaux shown in the rest of Table 4.12. For the optimality test and
the selection of the entering basic variable at each iteration the quantities involving M
are treated just as discussed in connection with Table 4.11. Specifically whenever M is
present only its multiplicative factor is used unless there is a tie in which case the tie is
broken by using the corresponding additive terms. Just such a tie occurs in the last se-
lection of an entering basic variable see the next-to-last tableau where the coefficients
of x
3
and x
5
in row 0 both have the same multiplicative factor of 5
3
. Comparing the ad-
ditive terms
1
6
1
7
3
leads to choosing x
5
as the entering basic variable.
Note in Table 4.12 the progression of values of the artificial variables x
4
and x
6
and
of Z. We start with large values x
4
6 and x
6
6 with Z 12M Z 12M. The
first iteration greatly reduces these values. The Big M method succeeds in driving x
6
to
zero as a new nonbasic variable at the second iteration and then in doing the same to x x
4
at the next iteration. With both x
4
0 and x
6
0 the basic solution given in the last
tableau is guaranteed to be feasible for the real problem. Since it passes the optimality
test it also is optimal.
Now see what the Big M method has done graphically in Fig. 4.6. The feasible re-
gion for the artificial problem initially has four CPF solutions—0 0 9 0 0 12 and
7.5 4.5—and then replaces the first three with two new CPF solutions—8 3 6 6—
after x
6
decreases to x
6
0 so that 0.6x
1
0.4x
2
6 becomes an additional constraint.
Note that the three replaced CPF solutions—0 0 9 0 and 0 12—actually were
corner-point infeasible solutions for the real problem shown in Fig. 4.5. Starting with the
origin as the convenient initial CPF solution for the artificial problem we move around
the boundary to three other CPF solutions—9 0 8 3 and 7.5 4.5. The last of these
is the first one that also is feasible for the real problem. Fortuitously this first feasible so-
lution also is optimal so no additional iterations are needed.
4.6 ADAPTING TO OTHER MODEL FORMS 141

slide 167:

For other problems with artificial variables it may be necessary to perform additional
iterations to reach an optimal solution after the first feasible solution is obtained for the
real problem. This was the case for the example solved in Table 4.11. Thus the Big M
method can be thought of as having two phases. In the first phase all the artificial vari-
ables are driven to zero because of the penalty of M per unit for being greater than zero
in order to reach an initial BF solution for the real problem. In the second phase all the
artificial variables are kept at zero because of this same penalty while the simplex method
generates a sequence of BF solutions for the real problem that leads to an optimal solu-
tion. The two-phase method described next is a streamlined procedure for performing these
two phases directly without even introducing M explicitly.
The Two-Phase Method
For the radiation therapy example just solved in Table 4.12 recall its real objective
function
Real problem: Minimize Z 0.4x
1
0.5x
2
.
142 4 SOLVING LINEAR PROGRAMMING PROBLEMS: THE SIMPLEX METHOD
TABLE 4.12 The Big M method for the radiation therapy example
Coefficient of:
Basic Right
Iteration Variable Eq.Zx
1
x
2
x
3
x
4
x
5
x
6
Side
Z 0 1 1.1M 0.4 0.9M 0.5 0.0 0.0 M 0 12M1
x
3
1 0 0.3 0.1 1.0 0.0 0 0 2.7
0
x
4
2 0 0.5 0.5 0.0 1.0 0 0 6.0
x
6
3 0 0.6 0.4 0.0 0.0 1 1 6.0
Z 0 10.0 1
3
6
0
M 1
3
1
0
1
3
1
M 4
3
0.0 M 0 2.1M 3.6
x
1
1 01.0 1
3
1
3
0
0.0 0 0 9.0
1
x
4
2 00.0 1
3
5
3
1.0 0 0 1.5
x
6
3 00.0 0.2 2 0.0 1 1 0.6
Z 0 10.0 0.0 5
3
M 7
3
0.0 5
3
M 1
6
1
8
3
M 1
6
1
0.5M 4.7
x
1
1 01.0 0.0 2
3
0
0.0 5
3
5
3
8.0
2
x
4
2 00.0 0.0 5
3
1.0 5
3
5
3
0.5
x
2
3 00.0 1.0 10.0 0.0 5 5 3.0
Z 0 10.0 0.0 0.5 M 1.1 0 M 5.25
x
1
1 01.0 0.0 5.0 1.0 0 0 7.51
3
x
5
2 00.0 0.0 1.0 1 0.6 1 1 0.31
x
2
3 00.0 1.0 5.0 3.0 0 0 4.51

slide 168:

However the Big M method uses the following objective function or its equivalent in
maximization form throughout the entire procedure:
Big M method: Minimize Z 0.4x
1
0.5x
2
Mx
4
Mx
6
.
Since the first two coefficients are negligible compared to M the two-phase method is
able to drop M by using the following two objective functions with completely different
definitions of Z in turn.
Two-phase method:
Phase 1: Minimize Z x
4
x x
6
until x
4
0 x
6
0.
Phase 2: Minimize Z 0.4x
1
0.5x
2
with x
4
0 x
6
0.
The phase 1 objective function is obtained by dividing the Big M method objective func-
tion by M and then dropping the negligible terms. Since phase 1 concludes by obtaining
4.6 ADAPTING TO OTHER MODEL FORMS 143
x
2
0 0
9 0
x
1
6 6
7.5 4.5 optimal
8 3
0 12
Z 6 1.2M
Z 0 12M
Z 4.7 0.5M
Z 3.6 2.1M
Z 5.25
Z 5.4
Feasible region for the artificial problem
This dark line segment is the feasible
region for the real problem
x
4
0 x
6
0.
Constraints for the artificial problem:
0.3x
1
0.1x
2
2.7
0.5x
1
0.5x
2
6 holds when x
4
0
0.6x
1
0.4x
2
6 when x
6
0
x
1
0 x
2
0 x
4
0 x
6
0
1
0
2
3
FIGURE 4.6
This graph shows the feasible
region and the sequence of
CPF solutions
examined by the simplex
method with the Big M
method for the artificial
problem that corresponds to
the real problem of Fig. 4.5.

slide 169:

a BF solution for the real problem one where x
4
0 and x
6
0 this solution is then
used as the initial BF solution for applying the simplex method to the real problem with
its real objective function in phase 2.
Before solving the example in this way we summarize the general method.
Summary of the Two-Phase Method. Initialization: Revise the constraints of the
original problem by introducing artificial variables as needed to obtain an obvious initial
BF solution for the artificial problem.
Phase 1: The objective for this phase is to find a BF solution for the real problem.
To do this
Minimize Z artificial variables subject to revised constraints.
The optimal solution obtained for this problem with Z 0 will be a BF solution for the
real problem.
Phase 2: The objective for this phase is to find an optimal solution for the real prob-
lem. Since the artificial variables are not part of the real problem these variables can now
be dropped they are all zero now anyway.
1
Starting from the BF solution obtained at the
end of phase 1 use the simplex method to solve the real problem.
For the example the problems to be solved by the simplex method in the respective
phases are summarized below.
Phase 1 Problem Radiation Therapy Example:
Minimize Z x
4
x
6
subject to
0.3x
1
0.1x
2
x
3
2.7
0.5x
1
0.5x
2
x
4
6
0.6x
1
0.4x
2
x x
5
x x
6
6
and
x
1
0 x
2
0 x
3
0 x x
4
0 x
5
0 x x
6
0.
Phase 2 Problem Radiation Therapy Example:
Minimize Z 0.4x
1
0.5x
2
subject to
0.3x
1
0.1x
2
x
3
2.7
0.5x
1
0.5x
2
6
0.6x
1
0.4x
2
x
5
6
and
x
1
0 x
2
0 x
3
0 x
5
0.
144 4 SOLVING LINEAR PROGRAMMING PROBLEMS: THE SIMPLEX METHOD
1
We are skipping over three other possibilities here: 1 artificial variables 0 discussed in the next subsec-
tion 2 artificial variables that are degenerate basic variables and 3 retaining the artificial variables as non-
basic variables in phase 2 and not allowing them to become basic as an aid to subsequent postoptimality analy-
sis. Your OR Courseware allows you to explore these possibilities.

slide 170:

The only differences between these two problems are in the objective function and in the
inclusion phase 1 or exclusion phase 2 of the artificial variables x
4
and x
6
. Without the
artificial variables the phase 2 problem does not have an obvious initial BF solution. The
sole purpose of solving the phase 1 problem is to obtain a BF solution with x x
4
0 and
x
6
0 so that this solution without the artificial variables can be used as the initial BF
solution for phase 2.
Table 4.13 shows the result of applying the simplex method to this phase 1 problem.
Row 0 in the initial tableau is obtained by converting Minimize Z x
4
x x
6
to Maxi-
mize Z x
4
x
6
and then using elementary row operations to eliminate the basic
variables x
4
and x
6
from Z x
4
x
6
0. In the next-to-last tableau there is a tie for
the entering basic variable between x
3
and x
5
which is broken arbitrarily in favor of x
3
.
The solution obtained at the end of phase 1 then is x
1
x
2
x
3
x
4
x
5
x
6
6 6 0.3 0
0 0 or after x
4
and x
6
are dropped x
1
x
2
x
3
x
5
6 6 0.3 0.
As claimed in the summary this solution from phase 1 is indeed a BF solution for
the real problem the phase 2 problem because it is the solution after you set x
5
0 to
the system of equations consisting of the three functional constraints for the phase 2 prob-
lem. In fact after deleting the x
4
and x x
6
columns as well as row 0 for each iteration Table
4.6 ADAPTING TO OTHER MODEL FORMS 145
TABLE 4.13 Phase 1 of the two-phase method for the radiation therapy example
Coefficient of:
Basic Right
Iteration Variable Eq. Zx
1
x
2
x
3
x
4
x
5
x
6
Side
Z 0 1 1.1 0.9 00 0 1 0 12
x
3
1 0 0.3 0.1 01 0 0 0 2.7
0
x
4
2 0 0.5 0.5 00 1 0 0 6.0
x
6
3 0 0.6 0.4 00 0 1 1 6.0
Z 0 1 0.0 1
3
6
0
1
3
1
0 1 0 2.1
x
1
1 0 1.0 1
3
1
3
0
0 0 0 9.0
1
x
4
2 0 0.0 1
3
5
3
1 0 0 1.5
x
6
3 0 0.0 0.2 2 0 1 1 0.6
Z 0 1 0.0 0.0 5
3
0 5
3
8
3
0.5
x
1
1 0 1.0 0.0 2
3
0
0 5
3
5
3
8.0
2
x
4
2 0 0.0 0.0 5
3
1 5
3
5
3
0.5
x
2
3 0 0.0 1.0 10 0 5 5 3.0
Z 0 1 0.0 0.0 00 1 0 1 0.0
x
1
1 0 1.0 0.0 00 4 5 5 6.0
3
x
3
2 0 0.0 0.0 01 3
5
1 1 0.3
x
2
3 0 0.0 1.0 00 6 5 5 6.0

slide 171:

4.13 shows one way of using Gaussian elimination to solve this system of equations by
reducing the system to the form displayed in the final tableau.
Table 4.14 shows the preparations for beginning phase 2 after phase 1 is completed.
Starting from the final tableau in Table 4.13 we drop the artificial variables x
4
and x x
6
substitute the phase 2 objective function Z 0.4x
1
0.5x
2
in maximization form
into row 0 and then restore the proper form from Gaussian elimination by algebraically
eliminating the basic variables x
1
and x
2
from row 0. Thus row 0 in the last tableau is
obtained by performing the following elementary row operations in the next-to-last
tableau: from row 0 subtract both the product 0.4 times row 1 and the product 0.5 times
row 3. Except for the deletion of the two columns note that rows 1 to 3 never change.
The only adjustments occur in row 0 in order to replace the phase 1 objective function by
the phase 2 objective function.
The last tableau in Table 4.14 is the initial tableau for applying the simplex method
to the phase 2 problem as shown at the top of Table 4.15. Just one iteration then leads to
the optimal solution shown in the second tableau: x
1
x
2
x
3
x
5
7.5 4.5 0 0.3. This
solution is the desired optimal solution for the real problem of interest rather than the ar-
tificial problem constructed for phase 1.
Now we see what the two-phase method has done graphically in Fig. 4.7. Starting at
the origin phase 1 examines a total of four CPF solutions for the artificial problem. The
first three actually were corner-point infeasible solutions for the real problem shown in
Fig. 4.5. The fourth CPF solution at 6 6 is the first one that also is feasible for the real
146 4 SOLVING LINEAR PROGRAMMING PROBLEMS: THE SIMPLEX METHOD
TABLE 4.14 Preparing to begin phase 2 for the radiation therapy example
Coefficient of:
Basic Right
Variable Eq. Zx
1
x
2
x
3
x
4
x
5
x
6
Side
Z 0 100. 0.0 0 1 0.0 1 0.0
Final Phase 1
x
1
1 010. 0.0 0 4 5.0 5 6.0
tableau
x
3
2 000. 0.0 1 3
5
1.0 1 0.3
x
2
3 000. 1.0 0 6 5.0 5 6.0
Z 0 100. 0.0 0 0.0 0.0
x
1
1 010. 0.0 0 5.0 6.0
Drop x
4
and x x
6
x
3
2 000. 0.0 1 1.0 0.3
x
2
3 000. 1.0 0 5.0 6.0
Z 0 1 0.4 0.5 0 0.0 0.0
Substitute phase 2 x
1
1 010. 0.0 0 5.0 6.0
objective function x
3
2 000. 0.0 1 1.0 0.3
x
2
3 000. 1.0 0 5.0 6.0
Z 0 100. 0.0 0 0.5 5.4
Restore proper form x
1
1 010. 0.0 0 5.0 6.0
from Gaussian elimination x
3
2 000. 0.0 1 1.0 0.3
x
2
3 000. 1.0 0 5.0 6.0

slide 172:

4.6 ADAPTING TO OTHER MODEL FORMS 147
TABLE 4.15 Phase 2 of the two-phase method for the radiation therapy example
Coefficient of:
Basic Right
Iteration Variable Eq. Zx
1
x
2
x
3
x
5
Side
Z 0 10 0 0.0 0.5 5.40
x
1
1 01 0 0.0 5.0 6.00
0
x
3
2 00 0 1.0 1.0 0.30
x
2
3 00 1 0.0 5.0 6.00
Z 0 10 0 0.5 0.0 5.25
x
1
1 01 0 5.0 0.0 7.50
1
x
5
2 00 0 1.0 1.0 0.30
x
2
3 00 1 5.0 0.0 4.50
x
2
0 0
9 0
x
1
6 6
7.5 4.5 optimal
8 3
0 12
Feasible region
for the artificial
problem phase 1
This dark line segment is the
feasible region for the real problem
phase 2.
1 0
2
3
0
1
FIGURE 4.7
This graph shows the
sequence of CPF solutions for
phase 1 and
then for phase 2
when the two-phase method
is applied to the radiation
therapy example.
1 0

slide 173:

problem so it becomes the initial CPF solution for phase 2. One iteration in phase 2 leads
to the optimal CPF solution at 7.5 4.5.
If the tie for the entering basic variable in the next-to-last tableau of Table 4.13 had
been broken in the other way then phase 1 would have gone directly from 8 3 to 7.5
4.5. After 7.5 4.5 was used to set up the initial simplex tableau for phase 2 the opti-
mality test would have revealed that this solution was optimal so no iterations would be
done.
It is interesting to compare the Big M and two-phase methods. Begin with their ob-
jective functions.
Big M Method:
Minimize Z 0.4x
1
0.5x
2
Mx
4
Mx x
6
.
Two-Phase Method:
Phase 1: Minimize Z x x
4
x
6
.
Phase 2: Minimize Z 0.4x
1
0.5x
2
.
Because the Mx
4
and Mx
6
terms dominate the 0.4x
1
and 0.5x
2
terms in the objective func-
tion for the Big M method this objective function is essentially equivalent to the phase 1
objective function as long as x
4
and/or x x
6
is greater than zero. Then when both x
4
0
and x
6
0 the objective function for the Big M method becomes completely equivalent
to the phase 2 objective function.
Because of these virtual equivalencies in objective functions the Big M and two-
phase methods generally have the same sequence of BF solutions. The one possible ex-
ception occurs when there is a tie for the entering basic variable in phase 1 of the two-
phase method as happened in the third tableau of Table 4.13. Notice that the first three
tableaux of Tables 4.12 and 4.13 are almost identical with the only difference being
that the multiplicative factors of M in Table 4.12 become the sole quantities in the cor-
responding spots in Table 4.13. Consequently the additive terms that broke the tie for
the entering basic variable in the third tableau of Table 4.12 were not present to break
this same tie in Table 4.13. The result for this example was an extra iteration for the
two-phase method. Generally however the advantage of having the additive factors is
minimal.
The two-phase method streamlines the Big M method by using only the multiplica-
tive factors in phase 1 and by dropping the artificial variables in phase 2. The Big M
method could combine the multiplicative and additive factors by assigning an actual huge
number to M but this might create numerical instability problems. For these reasons the
two-phase method is commonly used in computer codes.
No Feasible Solutions
So far in this section we have been concerned primarily with the fundamental problem
of identifying an initial BF solution when an obvious one is not available. You have seen
how the artificial-variable technique can be used to construct an artificial problem and
obtain an initial BF solution for this artificial problem instead. Use of either the Big M
method or the two-phase method then enables the simplex method to begin its pilgrim-
148 4 SOLVING LINEAR PROGRAMMING PROBLEMS: THE SIMPLEX METHOD

slide 174:

age toward the BF solutions and ultimately toward the optimal solution for the real
problem.
However you should be wary of a certain pitfall with this approach. There may be
no obvious choice for the initial BF solution for the very good reason that there are no
feasible solutions at all Nevertheless by constructing an artificial feasible solution there
is nothing to prevent the simplex method from proceeding as usual and ultimately re-
porting a supposedly optimal solution.
Fortunately the artificial-variable technique provides the following signpost to indi-
cate when this has happened:
If the original problem has no feasible solutions then either the Big M method or phase
1 of the two-phase method yields a final solution that has at least one artificial variable
greater than zero. Otherwise they all equal zero.
To illustrate let us change the first constraint in the radiation therapy example see
Fig. 4.5 as follows:
0.3x
1
0.1x
2
2.7 0.3x
1
0.1x
2
1.8
so that the problem no longer has any feasible solutions. Applying the Big M method just
as before see Table 4.12 yields the tableaux shown in Table 4.16. Phase 1 of the two-
phase method yields the same tableaux except that each expression involving M is re-
placed by just the multiplicative factor. Hence the Big M method normally would be in-
dicating that the optimal solution is 3 9 0 0 0 0.6. However since an artificial variable
x
6
0.6 0 the real message here is that the problem has no feasible solutions.
4.6 ADAPTING TO OTHER MODEL FORMS 149
TABLE 4.16 The Big M method for the revision of the radiation therapy example that has no feasible solutions
Coefficient of:
Basic Right
Iteration Variable Eq.Zx
1
x
2
x
3
x
4
x
5
x
6
Side
Z 0 1 1.1M 0.4 0.9M 0.5 0 0.0 M 0 12M
x
3
1 0 0.3 0.1 1 0.0 0 0 1.8
0
x
4
2 0 0.5 0.5 0 1.0 00 6.0
x
6
3 0 0.6 0.4 0 0.0 11 6.0
Z 0 10.0 1
3
6
0
M 1
3
1
0
1
3
1
M 4
3
0.0 M 0 5.4M 2.4
x
1
1 01.0 1
3
1
3
0
0.0 00 6.0
1
x
4
2 00.0 1
3
5
3
1.0 00 3.0
x
6
3 00.0 0.2 2 0.0 1 1 2.4
Z 0 10.0 0.0 M 0.5 1.6M 1.1 M 0 0.6M 5.7
x
1
1 01.0 0.0 5 1.0 00 3.0
2
x
2
2 00.0 1.0 5 3.0 00 9.0
x
6
3 00.0 0.0 1 0.6 1 1 0.6

slide 175:

Variables Allowed to Be Negative
In most practical problems negative values for the decision variables would have no
physical meaning so it is necessary to include nonnegativity constraints in the formula-
tions of their linear programming models. However this is not always the case. To il-
lustrate suppose that the Wyndor Glass Co. problem is changed so that product 1 al-
ready is in production and the first decision variable x
1
represents the increase in its
production rate. Therefore a negative value of x
1
would indicate that product 1 is to be
cut back by that amount. Such reductions might be desirable to allow a larger produc-
tion rate for the new more profitable product 2 so negative values should be allowed
for x
1
in the model.
Since the procedure for determining the leaving basic variable requires that all the
variables have nonnegativity constraints any problem containing variables allowed to be
negative must be converted to an equivalent problem involving only nonnegative variables
before the simplex method is applied. Fortunately this conversion can be done. The mod-
ification required for each variable depends upon whether it has a negative lower bound
on the values allowed. Each of these two cases is now discussed.
Variables with a Bound on the Negative Values Allowed. Consider any decision
variable x
j
that is allowed to have negative values which satisfy a constraint of the form
x
j
L
j
where L
j
is some negative constant. This constraint can be converted to a nonnegativity
constraint by making the change of variables
x j
x
j
L
j
so x j
0.
Thus x j
L
j
would be substituted for x
j
throughout the model so that the redefined de-
cision variable x j
cannot be negative. This same technique can be used when L
j
is posi-
tive to convert a functional constraint x
j
L
j
to a nonnegativity constraint x j
0.
To illustrate suppose that the current production rate for product 1 in the Wyndor
Glass Co. problem is 10. With the definition of x
1
just given the complete model at this
point is the same as that given in Sec. 3.1 except that the nonnegativity constraint x
1
0
is replaced by
x
1
10.
To obtain the equivalent model needed for the simplex method this decision variable
would be redefined as the total production rate of product 1
x j
x
1
10
which yields the changes in the objective function and constraints as shown:
Z 30 3x 1
5x
2
2x 1
2x
2
14
3x 1
2x
2
12
3x 1
2x
2
48
x 1
0 x
2
0
Z 3x 1
10 5x
2
3x 1
10 2x
2
4
3x 1
10 2x
2
12
3x 1
10 2x
2
18
x 1
10 10 x
2
0
Z 3x
1
5x
2
3x
1
2x
2
4
3x
1
2x
2
12
3x
1
2x
2
18
x
1
10 x
2
0
150 4 SOLVING LINEAR PROGRAMMING PROBLEMS: THE SIMPLEX METHOD

slide 176:

Variables with No Bound on the Negative Values Allowed. In the case where
x
j
does not have a lower-bound constraint in the model formulated another approach is
required: x
j
is replaced throughout the model by the difference of two new nonnegative
variables
x
j
x
j
x
j
where x
j
0 x
j
0.
Since x
j
and x
j
can have any nonnegative values this difference x
j
x
j
can have any
value positive or negative so it is a legitimate substitute for x
j
in the model. But after
such substitutions the simplex method can proceed with just nonnegative variables.
The new variables x
j
and x
j
have a simple interpretation. As explained in the next
paragraph each BF solution for the new form of the model necessarily has the property
that either x
j
0 or x
j
0 or both. Therefore at the optimal solution obtained by the
simplex method a BF solution
x
j
x
j
so that x
j
represents the positive part of the decision variable x
j
and x
j
its negative part
as suggested by the superscripts.
For example if x
j
10 the above expressions give x
j
10 and x
j
0. This same
value of x
j
x
j
x
j
10 also would occur with larger values of x
j
and x
j
such that
x
j
x
j
10. Plotting these values of x
j
and x
j
on a two-dimensional graph gives a line
with an endpoint at x
j
10 x
j
0 to avoid violating the nonnegativity constraints. This
endpoint is the only corner-point solution on the line. Therefore only this endpoint can
be part of an overall CPF solution or BF solution involving all the variables of the model.
This illustrates why each BF solution necessarily has either x
j
0 or x
j
0 or both.
To illustrate the use of the x
j
and x
j
let us return to the example on the preceding
page where x
1
is redefined as the increase over the current production rate of 10 for prod-
uct 1 in the Wyndor Glass Co. problem.
However now suppose that the x
1
10 constraint was not included in the original
model because it clearly would not change the optimal solution. In some problems cer-
tain variables do not need explicit lower-bound constraints because the functional con-
straints already prevent lower values. Therefore before the simplex method is applied
x
1
would be replaced by the difference
x
1
x
1
x
1
where x
1
0 x
1
0
as shown:
Maximize Z 3x
1
3x
1
5x
2
subject to Z 3x
1
3x
1
5x
2
4
2x
2
12
3x
1
3x
1
2x
2
18
x
1
0 x
1
0 x
2
0
Maximize Z 3x
1
5x
2
subject to Z 3x
1
5x
2
4
2x
2
12
3x
1
2x
2
18
x
2
0 only
if x
j
0
otherwise
x
j
0
if x
j
0
otherwise
x
j
0
4.6 ADAPTING TO OTHER MODEL FORMS 151

slide 177:

From a computational viewpoint this approach has the disadvantage that the new
equivalent model to be used has more variables than the original model. In fact if all the
original variables lack lower-bound constraints the new model will have twice as many
variables. Fortunately the approach can be modified slightly so that the number of vari-
ables is increased by only one regardless of how many original variables need to be re-
placed. This modification is done by replacing each such variable x
j
by
x
j
x j
x where x j
0 x 0
instead where x is the same variable for all relevant j. The interpretation of x in this
case is that x is the current value of the largest in absolute terms negative original
variable so that x j
is the amount by which x
j
exceeds this value. Thus the simplex method
now can make some of the x j
variables larger than zero even when x 0.
152 4 SOLVING LINEAR PROGRAMMING PROBLEMS: THE SIMPLEX METHOD
We stressed in Secs. 2.3 2.4 and 2.5 that postoptimality analysis—the analysis done af-
ter an optimal solution is obtained for the initial version of the model—constitutes a very
major and very important part of most operations research studies. The fact that postop-
timality analysis is very important is particularly true for typical linear programming ap-
plications. In this section we focus on the role of the simplex method in performing this
analysis.
Table 4.17 summarizes the typical steps in postoptimality analysis for linear pro-
gramming studies. The rightmost column identifies some algorithmic techniques that in-
volve the simplex method. These techniques are introduced briefly here with the techni-
cal details deferred to later chapters.
Reoptimization
As discussed in Sec. 3.7 linear programming models that arise in practice commonly are
very large with hundreds or thousands of functional constraints and decision variables.
In such cases many variations of the basic model may be of interest for considering dif-
ferent scenarios. Therefore after having found an optimal solution for one version of a
linear programming model we frequently must solve again often many times for the so-
4.7 POSTOPTIMALITY ANALYSIS
TABLE 4.17 Postoptimality analysis for linear programming
Task Purpose Technique
Model debugging Find errors and weaknesses in model Reoptimization
Model validation Demonstrate validity of final model See Sec. 2.4
Final managerial Make appropriate division of organizational Shadow prices
decisions on resource resources between activities under study
allocations the b
i
values and other important activities
Evaluate estimates of Determine crucial estimates that may affect Sensitivity analysis
model parameters optimal solution for further study
Evaluate trade-offs Determine best trade-off Parametric linear
between model programming
parameters

slide 178:

lution of a slightly different version of the model. We nearly always have to solve again
several times during the model debugging stage described in Secs. 2.3 and 2.4 and we
usually have to do so a large number of times during the later stages of postoptimality
analysis as well.
One approach is simply to reapply the simplex method from scratch for each new
version of the model even though each run may require hundreds or even thousands of
iterations for large problems. However a much more efficient approach is to reoptimize.
Reoptimization involves deducing how changes in the model get carried along to the fi-
nal simplex tableau as described in Secs. 5.3 and 6.6. This revised tableau and the op-
timal solution for the prior model are then used as the initial tableau and the initial ba-
sic solution for solving the new model. If this solution is feasible for the new model then
the simplex method is applied in the usual way starting from this initial BF solution. If
the solution is not feasible a related algorithm called the dual simplex method described
in Sec. 7.1 probably can be applied to find the new optimal solution
1
starting from this
initial basic solution.
The big advantage of this reoptimization technique over re-solving from scratch is
that an optimal solution for the revised model probably is going to be much closer to the
prior optimal solution than to an initial BF solution constructed in the usual way for the
simplex method. Therefore assuming that the model revisions were modest only a few
iterations should be required to reoptimize instead of the hundreds or thousands that may
be required when you start from scratch. In fact the optimal solutions for the prior and
revised models are frequently the same in which case the reoptimization technique re-
quires only one application of the optimality test and no iterations.
Shadow Prices
Recall that linear programming problems often can be interpreted as allocating resources
to activities. In particular when the functional constraints are in form we interpreted
the b
i
the right-hand sides as the amounts of the respective resources being made avail-
able for the activities under consideration. In many cases there may be some latitude in
the amounts that will be made available. If so the b
i
values used in the initial validated
model actually may represent management’s tentative initial decision on how much of the
organization’s resources will be provided to the activities considered in the model instead
of to other important activities under the purview of management. From this broader per-
spective some of the b
i
values can be increased in a revised model but only if a suffi-
ciently strong case can be made to management that this revision would be beneficial.
Consequently information on the economic contribution of the resources to the mea-
sure of performance Z for the current study often would be extremely useful. The sim-
plex method provides this information in the form of shadow prices for the respective
resources.
The shadow price for resource i denoted by y
i
measures the marginal value of this re-
source i.e. the rate at which Z could be increased by slightly increasing the amount of
4.7 POSTOPTIMALITY ANALYSIS 153
1
The one requirement for using the dual simplex method here is that the optimality test is still passed when ap-
plied to row 0 of the revised final tableau. If not then still another algorithm called the primal-dual method can
be used instead.

slide 179:

this resource b
i
being made available.
12
The simplex method identifies this shadow price
by y
i
coefficient of the ith slack variable in row 0 of the final simplex tableau.
To illustrate for the Wyndor Glass Co. problem
Resource i production capacity of Plant i i 1 2 3 being made available to the
two new products under consideration
b
i
hours of production time per week being made available in Plant i for
these new products.
Providing a substantial amount of production time for the new products would require ad-
justing production times for the current products so choosing the b
i
value is a difficult
managerial decision. The tentative initial decision has been
b
1
4 b
2
12 b
3
18
as reflected in the basic model considered in Sec. 3.1 and in this chapter. However man-
agement now wishes to evaluate the effect of changing any of the b
i
values.
The shadow prices for these three resources provide just the information that man-
agement needs. The final tableau in Table 4.8 see p. 128 yields
y
1
0 shadow price for resource 1
y
2
shadow price for resource 2
y
3
1 shadow price for resource 3.
With just two decision variables these numbers can be verified by checking graphically
that individually increasing any b
i
by 1 indeed would increase the optimal value of Z by
y
i
. For example Fig. 4.8 demonstrates this increase for resource 2 by reapplying the graph-
ical method presented in Sec. 3.1. The optimal solution 2 6 with Z 36 changes to
5
3
1
2
3
with Z 37
1
2
when b
2
is increased by 1 from 12 to 13 so that
y
2
Z 37 1
2
36 3
2
.
Since Z is expressed in thousands of dollars of profit per week y
2
3
2
indicates that
adding 1 more hour of production time per week in Plant 2 for these two new products
would increase their total profit by 1500 per week. Should this actually be done It de-
pends on the marginal profitability of other products currently using this production time.
If there is a current product that contributes less than 1500 of weekly profit per hour of
weekly production time in Plant 2 then some shift of production time to the new prod-
ucts would be worthwhile.
We shall continue this story in Sec. 6.7 where the Wyndor OR team uses shadow
prices as part of its sensitivity analysis of the model.
3
2
154 4 SOLVING LINEAR PROGRAMMING PROBLEMS: THE SIMPLEX METHOD
1
The increase in b
i
must be sufficiently small that the current set of basic variables remains optimal since this
rate marginal value changes if the set of basic variables changes.
2
In the case of a functional constraint in or form its shadow price is again defined as the rate at which Z
could be increased by slightly increasing the value of b
i
although the interpretation of b
i
now would normally
be something other than the amount of a resource being made available.

slide 180:

Figure 4.8 demonstrates that y
2
3
2
is the rate at which Z could be increased by in-
creasing b
2
slightly. However it also demonstrates the common phenomenon that this in-
terpretation holds only for a small increase in b
2
. Once b
2
is increased beyond 18 the op-
timal solution stays at 0 9 with no further increase in Z. At that point the set of basic
variables in the optimal solution has changed so a new final simplex tableau will be ob-
tained with new shadow prices including y
2
0.
Now note in Fig. 4.8 why y
1
0. Because the constraint on resource 1 x
1
4 is
not binding on the optimal solution 2 6 there is a surplus of this resource. Therefore
increasing b
1
beyond 4 cannot yield a new optimal solution with a larger value of Z.
By contrast the constraints on resources 2 and 3 2x
2
12 and 3x
1
2x
2
18 are
binding constraints constraints that hold with equality at the optimal solution. Because
the limited supply of these resources b
2
12 b
3
18 binds Z from being increased fur-
ther they have positive shadow prices. Economists refer to such resources as scarce goods
whereas resources available in surplus such as resource 1 are free goods resources with
a zero shadow price.
The kind of information provided by shadow prices clearly is valuable to manage-
ment when it considers reallocations of resources within the organization. It also is very
helpful when an increase in b
i
can be achieved only by going outside the organization to
purchase more of the resource in the marketplace. For example suppose that Z represents
profit and that the unit profits of the activities the c
j
values include the costs at regular
prices of all the resources consumed. Then a positive shadow price of y
i
for resource i
means that the total profit Z can be increased by y
i
by purchasing 1 more unit of this re-
source at its regular price. Alternatively if a premium price must be paid for the resource
4.7 POSTOPTIMALITY ANALYSIS 155
0
2
4
6
8
2 4 6
x
2
3x
1
2x
2
18
Z 3x
1
5x
2
5
3
Z y
2
13
2
2 6
x
1
4
x
1
2x
2
13
2x
2
12
Z 3 5 37
Z 3 5 36 26
13
2
3
2
1
2
5
3
FIGURE 4.8
This graph shows that the
shadow price is y
2
3
2
for
resource 2 for the Wyndor
Glass Co. problem. The two
dots are the optimal
solutions for b
2
12 or
b
2
13 and plugging these
solutions into the objective
function reveals that
increasing b
2
by 1 increases
Z by y
2
3
2
.

slide 181:

in the marketplace then y
i
represents the maximum premium excess over the regular
price that would be worth paying.
1
The theoretical foundation for shadow prices is provided by the duality theory de-
scribed in Chap. 6.
Sensitivity Analysis
When discussing the certainty assumption for linear programming at the end of Sec. 3.3
we pointed out that the values used for the model parameters the a
ij
b
i
and c
j
identified
in Table 3.3 generally are just estimates of quantities whose true values will not become
known until the linear programming study is implemented at some time in the future. A
main purpose of sensitivity analysis is to identify the sensitive parameters i.e. those
that cannot be changed without changing the optimal solution. The sensitive parameters
are the parameters that need to be estimated with special care to minimize the risk of ob-
taining an erroneous optimal solution. They also will need to be monitored particularly
closely as the study is implemented. If it is discovered that the true value of a sensitive
parameter differs from its estimated value in the model this immediately signals a need
to change the solution.
How are the sensitive parameters identified In the case of the b
i
you have just seen
that this information is given by the shadow prices provided by the simplex method. In
particular if y
i
0 then the optimal solution changes if b
i
is changed so b
i
is a sensi-
tive parameter. However y
i
0 implies that the optimal solution is not sensitive to at
least small changes in b
i
. Consequently if the value used for b
i
is an estimate of the amount
of the resource that will be available rather than a managerial decision then the b
i
val-
ues that need to be monitored more closely are those with positive shadow prices—espe-
cially those with large shadow prices.
When there are just two variables the sensitivity of the various parameters can be
analyzed graphically. For example in Fig. 4.9 c
1
3 can be changed to any other value
from 0 to 7.5 without the optimal solution changing from 2 6. The reason is that any
value of c
1
within this range keeps the slope of Z c
1
x
1
5x
2
between the slopes of the
lines 2x
2
12 and 3x
1
2x
2
18. Similarly if c
2
5 is the only parameter changed
it can have any value greater than 2 without affecting the optimal solution. Hence nei-
ther c
1
nor c
2
is a sensitive parameter.
The easiest way to analyze the sensitivity of each of the a
ij
parameters graphically is
to check whether the corresponding constraint is binding at the optimal solution. Because
x
1
4 is not a binding constraint any sufficiently small change in its coefficients
a
11
1 a
12
0 is not going to change the optimal solution so these are not sensitive
parameters. On the other hand both 2x
2
12 and 3x
1
2x
2
18 are binding constraints
so changing any one of their coefficients a
21
0 a
22
2 a
31
3 a
32
2 is going to
change the optimal solution and therefore these are sensitive parameters.
Typically greater attention is given to performing sensitivity analysis on the b
i
and
c
j
parameters than on the a
ij
parameters. On real problems with hundreds or thousands of
constraints and variables the effect of changing one a
ij
value is usually negligible but
156 4 SOLVING LINEAR PROGRAMMING PROBLEMS: THE SIMPLEX METHOD
1
If the unit profits do not include the costs of the resources consumed then y
i
represents the maximum total
unit price that would be worth paying to increase b
i
.

slide 182:

changing one b
i
or c
j
value can have real impact. Furthermore in many cases the a
ij
val-
ues are determined by the technology being used the a
ij
values are sometimes called tech-
nological coefficients so there may be relatively little or no uncertainty about their fi-
nal values. This is fortunate because there are far more a
ij
parameters than b
i
and c
j
parameters for large problems.
For problems with more than two or possibly three decision variables you cannot
analyze the sensitivity of the parameters graphically as was just done for the Wyndor Glass
Co. problem. However you can extract the same kind of information from the simplex
method. Getting this information requires using the fundamental insight described in Sec.
5.3 to deduce the changes that get carried along to the final simplex tableau as a result of
changing the value of a parameter in the original model. The rest of the procedure is de-
scribed and illustrated in Secs. 6.6 and 6.7.
Using Excel to Generate Sensitivity Analysis Information
Sensitivity analysis normally is incorporated into software packages based on the simplex
method. For example the Excel Solver will generate sensitivity analysis information upon
request. As was shown in Fig. 3.19 see page 72 when the Solver gives the message that
it has found a solution it also gives on the right a list of three reports that can be pro-
vided. By selecting the second one labeled “Sensitivity” after solving the Wyndor Glass
Co. problem you will obtain the sensitivity report shown in Fig. 4.10. The upper table in
this report provides sensitivity analysis information about the decision variables and their
coefficients in the objective function. The lower table does the same for the functional
constraints and their right-hand sides.
4.7 POSTOPTIMALITY ANALYSIS 157
0
2
4
8
2 4 6
x
2
Z 36 3x
1
5x
2
or Z 18 3x
1
2x
2
Z 45 7.5x
1
5x
2
Z 30 0x
1
5x
2
2 6 optimal
Feasible
region
10
x
1
FIGURE 4.9
This graph demonstrates the
sensitivity analysis of c
1
and
c
2
for the Wyndor Glass Co.
problem. Starting with the
original objective function
line where c
1
3 c
2
5
and the optimal solution is
2 6 the other two lines
show the extremes of how
much the slope of the
objective function line can
change and still retain 2 6
as an optimal solution. Thus
with c
2
5 the allowable
range for c
1
is 0 c
1
7.5.
With c
1
3 the allowable
range for c
2
is c
2
2.

slide 183:

Look first at the upper table in this figure. The “Final Value” column indicates the
optimal solution. The next column gives the reduced costs. We will not discuss these re-
duced costs now because the information they provide can also be gleaned from the rest
of the upper table. The next three columns provide the information needed to identify the
allowable range to stay optimal for each coefficient c
j
in the objective function.
For any c
j
its allowable range to stay optimal is the range of values for this coefficient
over which the current optimal solution remains optimal assuming no change in the other
coefficients.
The “Objective Coefficient” column gives the current value of each coefficient and then
the next two columns give the allowable increase and the allowable decrease from this
value to remain within the allowable range. Therefore
3 3 c
1
3 4.5 so 0 c
1
7.5
is the allowable range for c
1
over which the current optimal solution will stay optimal as-
suming c
2
5 just as was found graphically in Fig. 4.9. Similarly since Excel uses
1E 30 10
30
to represent infinity
5 3 c
2
5 so2 c
2
is the allowable range to stay optimal for c
2
.
The fact that both the allowable increase and the allowable decrease are greater than
zero for the coefficient of both decision variables provides another useful piece of infor-
mation as described below.
When the upper table in the sensitivity report generated by the Excel Solver indi-
cates that both the allowable increase and the allowable decrease are greater than zero for
every objective coefficient this is a signpost that the optimal solution in the “Final V alue”
column is the only optimal solution. Conversely having any allowable increase or allow-
able decrease equal to zero is a signpost that there are multiple optimal solutions. Chang-
ing the corresponding coefficient a tiny amount beyond the zero allowed and re-solving
provides another optimal CPF solution for the original model.
158 4 SOLVING LINEAR PROGRAMMING PROBLEMS: THE SIMPLEX METHOD
FIGURE 4.10
The sensitivity report
provided by the Excel Solver
for the Wyndor Glass Co.
problem.

slide 184:

Now consider the lower table in Fig. 4.10 that focuses on sensitivity analysis for the
three functional constraints. The “Final V alue” column gives the value of each constraint’s
left-hand side for the optimal solution. The next two columns give the shadow price and
the current value of the right-hand side b
i
for each constraint. When just one b
i
value is
then changed the last two columns give the allowable increase or allowable decrease in
order to remain within its allowable range to stay feasible.
For any b
i
its allowable range to stay feasible is the range of values for this right-hand
side over which the current optimal BF solution with adjusted values
1
for the basic vari-
ables remains feasible assuming no change in the other right-hand sides.
Thus using the lower table in Fig. 4.10 combining the last two columns with the current
values of the right-hand sides gives the following allowable ranges to stay feasible:
2 b
1
6 b
2
18
12 b
3
24.
This sensitivity report generated by the Excel Solver is typical of the sensitivity analy-
sis information provided by linear programming software packages. You will see in Ap-
pendix 4.1 that LINDO provides essentially the same report. MPL/CPLEX does also when
it is requested with the Solution File dialogue box. Once again this information obtained
algebraically also can be derived from graphical analysis for this two-variable problem.
See Prob. 4.7-1. For example when b
2
is increased from 12 in Fig. 4.8 the originally
optimal CPF solution at the intersection of two constraint boundaries 2x
2
b
2
and
3x
1
2x
2
18 will remain feasible including x
1
0 only for b
2
18.
The latter part of Chap. 6 will delve into this type of analysis more deeply.
Parametric Linear Programming
Sensitivity analysis involves changing one parameter at a time in the original model to check
its effect on the optimal solution. By contrast parametric linear programming or para-
metric programming for short involves the systematic study of how the optimal solution
changes as many of the parameters change simultaneously over some range. This study can
provide a very useful extension of sensitivity analysis e.g. to check the effect of “corre-
lated” parameters that change together due to exogenous factors such as the state of the
economy. However a more important application is the investigation of trade-offs in param-
eter values. For example if the c
j
values represent the unit profits of the respective activi-
ties it may be possible to increase some of the c
j
values at the expense of decreasing oth-
ers by an appropriate shifting of personnel and equipment among activities. Similarly if the
b
i
values represent the amounts of the respective resources being made available it may be
possible to increase some of the b
i
values by agreeing to accept decreases in some of the
others. The analysis of such possibilities is discussed and illustrated at the end of Sec. 6.7.
4.7 POSTOPTIMALITY ANALYSIS 159
1
Since the values of the basic variables are obtained as the simultaneous solution of a system of equations the
functional constraints in augmented form at least some of these values change if one of the right-hand sides
changes. However the adjusted values of the current set of basic variables still will satisfy the nonnegativity
constraints and so still will be feasible as long as the new value of this right-hand side remains within its al-
lowable range to stay feasible. If the adjusted basic solution is still feasible it also will still be optimal. We shall
elaborate further in Sec. 6.7.

slide 185:

In some applications the main purpose of the study is to determine the most appro-
priate trade-off between two basic factors such as costs and benefits. The usual approach
is to express one of these factors in the objective function e.g. minimize total cost and
incorporate the other into the constraints e.g. benefits minimum acceptable level as
was done for the Nori Leets Co. air pollution problem in Sec. 3.4. Parametric linear
programming then enables systematic investigation of what happens when the initial ten-
tative decision on the trade-off e.g. the minimum acceptable level for the benefits is
changed by improving one factor at the expense of the other.
The algorithmic technique for parametric linear programming is a natural extension
of that for sensitivity analysis so it too is based on the simplex method. The procedure
is described in Sec. 7.2.
160 4 SOLVING LINEAR PROGRAMMING PROBLEMS: THE SIMPLEX METHOD
If the electronic computer had never been invented undoubtedly you would have never
heard of linear programming and the simplex method. Even though it is possible to ap-
ply the simplex method by hand to solve tiny linear programming problems the calcula-
tions involved are just too tedious to do this on a routine basis. However the simplex
method is ideally suited for execution on a computer. It is the computer revolution that
has made possible the widespread application of linear programming in recent decades.
Implementation of the Simplex Method
Computer codes for the simplex method now are widely available for essentially all mod-
ern computer systems. These codes commonly are part of a sophisticated software pack-
age for mathematical programming that includes many of the procedures described in sub-
sequent chapters including those used for postoptimality analysis.
These production computer codes do not closely follow either the algebraic form or
the tabular form of the simplex method presented in Secs. 4.3 and 4.4. These forms can
be streamlined considerably for computer implementation. Therefore the codes use in-
stead a matrix form usually called the revised simplex method that is especially well
suited for the computer. This form accomplishes exactly the same things as the algebraic
or tabular form but it does this while computing and storing only the numbers that are
actually needed for the current iteration and then it carries along the essential data in a
more compact form. The revised simplex method is described in Sec. 5.2.
The simplex method is used routinely to solve surprisingly large linear programming
problems. For example powerful desktop computers especially workstations commonly
are used to solve problems with many thousand functional constraints and a larger num-
ber of decision variables. We now are beginning to hear reports of successfully solved
problems ranging into the hundreds of thousands of functional constraints and millions of
decision variables.
1
For certain special types of linear programming problems such as the
4.8 COMPUTER IMPLEMENTATION
1
Do not try this at home. Attacking such a massive problem requires an especially sophisticated linear pro-
gramming system that uses the latest techniques for exploiting sparcity in the coefficient matrix as well as other
special techniques e.g. crashing techniques for quickly finding an advanced initial BF solution. When prob-
lems are re-solved periodically after minor updating of the data much time often is saved by using or modi-
fying the last optimal solution to provide the initial BF solution for the new run.

slide 186:

transportation assignment and minimum cost flow problems to be described later in the
book even larger problems now can be solved by specialized versions of the simplex
method.
Several factors affect how long it will take to solve a linear programming problem
by the general simplex method. The most important one is the number of ordinary func-
tional constraints. In fact computation time tends to be roughly proportional to the cube
of this number so that doubling this number may multiply the computation time by a fac-
tor of approximately 8. By contrast the number of variables is a relatively minor factor.
1
Thus doubling the number of variables probably will not even double the computation
time. A third factor of some importance is the density of the table of constraint coeffi-
cients i.e. the proportion of the coefficients that are not zero because this affects the
computation time per iteration. For large problems encountered in practice it is com-
mon for the density to be under 5 percent or even under 1 percent and this much “sparcity”
tends to greatly accelerate the simplex method. One common rule of thumb for the num-
ber of iterations is that it tends to be roughly twice the number of functional constraints.
With large linear programming problems it is inevitable that some mistakes and faulty
decisions will be made initially in formulating the model and inputting it into the com-
puter. Therefore as discussed in Sec. 2.4 a thorough process of testing and refining the
model model validation is needed. The usual end product is not a single static model
that is solved once by the simplex method. Instead the OR team and management typi-
cally consider a long series of variations on a basic model sometimes even thousands of
variations to examine different scenarios as part of postoptimality analysis. This entire
process is greatly accelerated when it can be carried out interactively on a desktop com-
puter. And with the help of both mathematical programming modeling languages and im-
proving computer technology this now is becoming common practice.
Until the mid-1980s linear programming problems were solved almost exclusively
on mainframe computers. Since then there has been an explosion in the capability of do-
ing linear programming on desktop computers including personal computers as well as
workstations. Workstations including some with parallel processing capabilities now are
commonly used instead of mainframe computers to solve massive linear programming
models. The fastest personal computers are not lagging far behind although solving huge
models usually requires additional memory.
Linear Programming Software Featured in This Book
A considerable number of excellent software packages for linear programming and its ex-
tensions now are available to fill a variety of needs. One that is widely regarded to be a
particularly powerful package for solving massive problems is CPLEX a product of ILOG
Inc. located in Silicon Valley. For more than a decade CPLEX has helped to lead the
way in solving larger and larger linear programming problems. An extensive research and
development effort has enabled a series of upgrades with dramatic increases in efficiency.
CPLEX 6.5 released in March 1999 provided another order-of-magnitude improvement.
This software package has successfully solved real linear programming problems arising
in industry with as many as 2 million functional constraints and a comparable number of
4.8 COMPUTER IMPLEMENTATION 161
1
This statement assumes that the revised simplex method described in Sec. 5.2 is being used.

slide 187:

decision variables CPLEX 6.5 often uses the simplex method and its variants such as
the dual simplex method presented in Sec. 7.1 to solve these massive problems. In addi-
tion to the simplex method CPLEX 6.5 also features some other powerful weapons for
attacking linear programming problems. One is a lightning-fast algorithm that uses the in-
terior-point approach introduced in the next section. This algorithm can solve some huge
general linear programming problems that the simplex method cannot and vice versa.
Another feature is the network simplex method described in Sec. 9.7 that can solve even
larger special types of linear programming problems. CPLEX 6.5 also extends beyond lin-
ear programming by including state-of-the-art algorithms for integer programming
Chap. 12 and quadratic programming Sec. 13.7.
Because it often is used to solve really large problems CPLEX normally is used in
conjunction with a mathematical programming modeling language. As described in Sec.
3.7 modeling languages are designed for efficiently formulating large linear programming
models and related models in a compact way after which a solver is called upon to solve
the model. Several of the prominent modeling languages support CPLEX as a solver. ILOG
also has recently introduced its own modeling language called OPL Studio that can be
used with CPLEX. A trial version of OPL Studio is available at ILOG’s website
www.ilog.com.
As we mentioned in Sec. 3.7 the student version of CPLEX is included in your
OR Courseware as the solver for the MPL modeling language. This version features the
simplex method for solving linear programming problems.
LINDO short for Linear INteractive and Discrete Optimizer is another prominent
software package for linear programming and its extensions. A product of LINDO Sys-
tems based in Chicago LINDO has an even longer history than CPLEX. Although not as
powerful as CPLEX the largest version of LINDO has solved problems with tens of thou-
sands of functional constraints and hundreds of thousands of decision variables. Its long-
time popularity is partially due to its ease of use. For relatively small textbook-sized
problems the model can be entered and solved in an intuitive straightforward manner so
LINDO provides a convenient tool for students to use. However LINDO lacks some of
the capabilities of modeling languages for dealing with large linear programming prob-
lems. For such problems it may be more efficient to use the LINGO modeling language
to formulate the model and then to call the solver it shares with LINDO to solve the model.
You can download the student version of LINDO from the website www.lindo.com.
Appendix 4.1 provides an introduction to how to use LINDO. The CD-ROM also includes
a LINDO tutorial as well as LINDO formulations for all the examples in this book to
which it can be applied.
Spreadsheet-based solvers are becoming increasingly popular for linear programming
and its extensions. Leading the way are the solvers produced by Frontline Systems for
Microsoft Excel Lotus 1-2-3 and Corel Quattro Pro. In addition to the basic solver shipped
with these packages two more powerful upgrades—Premium Solver and Premium Solver
Plus—also are available. Because of the widespread use of spreadsheet packages such as
Microsoft Excel today these solvers are introducing large numbers of people to the po-
tential of linear programming for the first time. For textbook-sized linear programming
problems and considerably larger problems as well spreadsheets provide a convenient
way to formulate and solve the model as described in Sec. 3.6. The more powerful spread-
sheet solvers can solve fairly large models with many thousand decision variables. How-
162 4 SOLVING LINEAR PROGRAMMING PROBLEMS: THE SIMPLEX METHOD

slide 188:

ever when the spreadsheet grows to an unwieldy size a good modeling language and its
solver may provide a more efficient approach to formulating and solving the model.
Spreadsheets provide an excellent communication tool especially when dealing with
typical managers who are very comfortable with this format but not with the algebraic
formulations of OR models. Therefore optimization software packages and modeling lan-
guages now can commonly import and export data and results in a spreadsheet format.
For example the MPL modeling language now includes an enhancement called the Op-
tiMax 2000 Component Library that enables the modeler to create the feel of a spread-
sheet model for the user of the model while still using MPL to formulate the model very
efficiently. The student version of OptiMax 2000 is included in your OR Courseware.
Premium Solver is one of the Excel add-ins included on the CD-ROM. You can in-
stall this add-in to obtain a much better performance than with the standard Excel Solver.
Consequently all the software tutorials and examples packed on the CD-ROM are
providing you with several attractive software options for linear programming.
Available Software Options for Linear Programming.
1. Demonstration examples in OR Tutor and interactive routines for efficiently learning
the simplex method.
2. Excel and its Premium Solver for formulating and solving linear programming mod-
els in a spreadsheet format.
3. MPL/CPLEX for efficiently formulating and solving large linear programming models.
4. LINGO and its solver shared with LINDO for an alternative way of efficiently for-
mulating and solving large linear programming models.
5. LINDO for formulating and solving linear programming models in a straightforward way.
Your instructor may specify which software to use. Whatever the choice you will be gain-
ing experience with the kind of state-of-the-art software that is used by OR professionals.
4.9 THE INTERIOR-POINT APPROACH TO SOLVING LINEAR PROGRAMMING PROBLEMS 163
The most dramatic new development in operations research during the 1980s was the dis-
covery of the interior-point approach to solving linear programming problems. This dis-
covery was made in 1984 by a young mathematician at ATT Bell Laboratories Naren-
dra Karmarkar when he successfully developed a new algorithm for linear programming
with this kind of approach. Although this particular algorithm experienced only mixed
success in competing with the simplex method the key solution concept described below
appeared to have great potential for solving huge linear programming problems beyond
the reach of the simplex method. Many top researchers subsequently worked on modify-
ing Karmarkar’s algorithm to fully tap this potential. Much progress has been made and
continues to be made and a number of powerful algorithms using the interior-point ap-
proach have been developed. Today the more powerful software packages that are de-
signed for solving really large linear programming problems such as CPLEX include at
least one algorithm using the interior-point approach along with the simplex method. As
research continues on these algorithms their computer implementations continue to im-
prove. This has spurred renewed research on the simplex method and its computer im-
plementations continue to improve as well recall the dramatic advance by CPLEX 6.5
4.9 THE INTERIOR-POINT APPROACH TO
SOLVING LINEAR PROGRAMMING PROBLEMS

slide 189:

cited in the preceding section. The competition between the two approaches for supremacy
in solving huge problems is continuing.
Now let us look at the key idea behind Karmarkar’s algorithm and its subsequent vari-
ants that use the interior-point approach.
The Key Solution Concept
Although radically different from the simplex method Karmarkar’s algorithm does share
a few of the same characteristics. It is an iterative algorithm. It gets started by identify-
ing a feasible trial solution. At each iteration it moves from the current trial solution to
a better trial solution in the feasible region. It then continues this process until it reaches
a trial solution that is essentially optimal.
The big difference lies in the nature of these trial solutions. For the simplex method
the trial solutions are CPF solutions or BF solutions after augmenting so all movement
is along edges on the boundary of the feasible region. For Karmarkar’s algorithm the trial
solutions are interior points i.e. points inside the boundary of the feasible region. For this
reason Karmarkar’s algorithm and its variants are referred to as interior-point algorithms.
To illustrate Fig. 4.11 shows the path followed by the interior-point algorithm in your
OR Courseware when it is applied to the Wyndor Glass Co. problem starting from the
164 4 SOLVING LINEAR PROGRAMMING PROBLEMS: THE SIMPLEX METHOD
2
4
6
x
2
24
x
1
0
2 6 optimal
1.56 5.5
1.38 5
1.27 4
1 2
FIGURE 4.11
The curve from 1 2 to
2 6 shows a typical path
followed by an interior-point
algorithm right through the
interior of the feasible region
for the Wyndor Glass Co.
problem.

slide 190:

initial trial solution 1 2. Note how all the trial solutions dots shown on this path are
inside the boundary of the feasible region as the path approaches the optimal solution
2 6. All the subsequent trial solutions not shown also are inside the boundary of the
feasible region. Contrast this path with the path followed by the simplex method around
the boundary of the feasible region from 0 0 to 0 6 to 2 6.
Table 4.18 shows the actual output from your OR Courseware for this problem.
1
Try
it yourself. Note how the successive trial solutions keep getting closer and closer to the
optimal solution but never literally get there. However the deviation becomes so infini-
tesimally small that the final trial solution can be taken to be the optimal solution for all
practical purposes.
Section 7.4 presents the details of the specific interior-point algorithm that is imple-
mented in your OR Courseware.
Comparison with the Simplex Method
One meaningful way of comparing interior-point algorithms with the simplex method is
to examine their theoretical properties regarding computational complexity. Karmarkar
has proved that the original version of his algorithm is a polynomial time algorithm i.e.
the time required to solve any linear programming problem can be bounded above by a
polynomial function of the size of the problem. Pathological counterexamples have been
constructed to demonstrate that the simplex method does not possess this property so it
is an exponential time algorithm i.e. the required time can be bounded above only by
an exponential function of the problem size. This difference in worst-case performance
4.9 THE INTERIOR-POINT APPROACH TO SOLVING LINEAR PROGRAMMING PROBLEMS 165
1
The routine is called Solve Automatically by the Interior-Point Algorithm. The option menu provides two choices
for a certain parameter of the algorithm defined in Sec. 7.4. The choice used here is the default value of
0.5.
TABLE 4.18 Output of interior-point algorithm in OR Courseware
for Wyndor Glass Co. problem
Iteration x
1
x
2
Z
0 1213
1 1.27298 4 23.8189
2 1.37744 5 29.1323
3 1.56291 5.5 32.1887
4 1.80268 5.71816 33.9989
5 1.92134 5.82908 34.9094
6 1.96639 5.90595 35.429
7 1.98385 5.95199 35.7115
8 1.99197 5.97594 35.8556
9 1.99599 5.98796 35.9278
10 1.99799 5.99398 35.9639
11 1.999 5.99699 35.9819
12 1.9995 5.9985 35.991
13 1.99975 5.99925 35.9955
14 1.99987 5.99962 35.9977
15 1.99994 5.99981 35.9989

slide 191:

is noteworthy. However it tells us nothing about their comparison in average performance
on real problems which is the more crucial issue.
The two basic factors that determine the performance of an algorithm on a real prob-
lem are the average computer time per iteration and the number of iterations. Our next
comparisons concern these factors.
Interior-point algorithms are far more complicated than the simplex method. Con-
siderably more extensive computations are required for each iteration to find the next trial
solution. Therefore the computer time per iteration for an interior-point algorithm is many
times longer than that for the simplex method.
For fairly small problems the numbers of iterations needed by an interior-point al-
gorithm and by the simplex method tend to be somewhat comparable. For example on a
problem with 10 functional constraints roughly 20 iterations would be typical for either
kind of algorithm. Consequently on problems of similar size the total computer time for
an interior-point algorithm will tend to be many times longer than that for the simplex
method.
On the other hand a key advantage of interior-point algorithms is that large problems
do not require many more iterations than small problems. For example a problem with
10000 functional constraints probably will require well under 100 iterations. Even con-
sidering the very substantial computer time per iteration needed for a problem of this size
such a small number of iterations makes the problem quite tractable. By contrast the sim-
plex method might need 20000 iterations and so might not finish within a reasonable
amount of computer time. Therefore interior-point algorithms often are faster than the
simplex method for such huge problems.
The reason for this very large difference in the number of iterations on huge prob-
lems is the difference in the paths followed. At each iteration the simplex method moves
from the current CPF solution to an adjacent CPF solution along an edge on the bound-
ary of the feasible region. Huge problems have an astronomical number of CPF solutions.
The path from the initial CPF solution to an optimal solution may be a very circuitous
one around the boundary taking only a small step each time to the next adjacent CPF so-
lution so a huge number of steps may be required to reach an optimal solution. By con-
trast an interior-point algorithm bypasses all this by shooting through the interior of the
feasible region toward an optimal solution. Adding more functional constraints adds more
constraint boundaries to the feasible region but has little effect on the number of trial so-
lutions needed on this path through the interior. This makes it possible for interior-point
algorithms to solve problems with a huge number of functional constraints.
A final key comparison concerns the ability to perform the various kinds of postop-
timality analysis described in Sec. 4.7. The simplex method and its extensions are very
well suited to and are widely used for this kind of analysis. Unfortunately the interior-
point approach currently has limited capability in this area.
1
Given the great importance
of postoptimality analysis this is a crucial drawback of interior-point algorithms. How-
ever we point out next how the simplex method can be combined with the interior-point
approach to overcome this drawback.
166 4 SOLVING LINEAR PROGRAMMING PROBLEMS: THE SIMPLEX METHOD
1
However research aimed at increasing this capability continues to make progress. For example see H. J. Green-
berg “Matrix Sensitivity Analysis from an Interior Solution of a Linear Program” INFORMS Journal on Com-
puting 11: 316–327 1999 and its references.

slide 192:

The Complementary Roles of the Simplex Method
and the Interior-Point Approach
Ongoing research is continuing to provide substantial improvements in computer imple-
mentations of both the simplex method including its variants and interior-point algo-
rithms. Therefore any predictions about their future roles are risky. However we do sum-
marize below our current assessment of their complementary roles.
The simplex method and its variants continues to be the standard algorithm for the
routine use of linear programming. It continues to be the most efficient algorithm for prob-
lems with less than a few hundred functional constraints. It also is the most efficient for
some but not all problems with up to several thousand functional constraints and nearly
an unlimited number of decision variables so most users are continuing to use the sim-
plex method for such problems. However as the number of functional constraints increases
even further it becomes increasingly likely that an interior-point approach will be the most
efficient so it often is now used instead. As the size grows into the tens of thousands of
functional constraints the interior-point approach may be the only one capable of solv-
ing the problem. However this certainly is not always the case. As mentioned in the pre-
ceding section the latest state-of-the-art software CPLEX 6.5 is successfully using the
simplex method and its variants to solve some truly massive problems with hundreds of
thousands or even millions of functional constraints and decision variables.
These generalizations about how the interior-point approach and the simplex method
should compare for various problem sizes will not hold across the board. The specific
software packages and computer equipment being used have a major impact. The com-
parison also is affected considerably by the specific type of linear programming problem
being solved. As time goes on we should learn much more about how to identify specific
types which are better suited for one kind of algorithm.
One of the by-products of the emergence of the interior-point approach has been a
major renewal of efforts to improve the efficiency of computer implementations of the
simplex method. As we indicated impressive progress has been made in recent years and
more lies ahead. At the same time ongoing research and development of the interior-point
approach will further increase its power and perhaps at a faster rate than for the simplex
method.
Improving computer technology such as massive parallel processing a huge number
of computer units operating in parallel on different parts of the same problem also will
substantially increase the size of problem that either kind of algorithm can solve. How-
ever it now appears that the interior-point approach has much greater potential to take ad-
vantage of parallel processing than the simplex method does.
As discussed earlier a key disadvantage of the interior-point approach is its limited
capability for performing postoptimality analysis. To overcome this drawback researchers
have been developing procedures for switching over to the simplex method after an inte-
rior-point algorithm has finished. Recall that the trial solutions obtained by an interior-point
algorithm keep getting closer and closer to an optimal solution the best CPF solution but
never quite get there. Therefore a switching procedure requires identifying a CPF solution
or BF solution after augmenting that is very close to the final trial solution.
For example by looking at Fig. 4.11 it is easy to see that the final trial solution in
Table 4.18 is very near the CPF solution 2 6. Unfortunately on problems with thou-
4.9 THE INTERIOR POINT APPROACH TO SOLVING LINEAR PROGRAMMING PROBLEMS 167

slide 193:

sands of decision variables so no graph is available identifying a nearby CPF or BF
solution is a very challenging and time-consuming task. However good progress has been
made in developing procedures to do this.
Once this nearby BF solution has been found the optimality test for the simplex
method is applied to check whether this actually is the optimal BF solution. If it is not
optimal some iterations of the simplex method are conducted to move from this BF so-
lution to an optimal solution. Generally only a very few iterations perhaps one are needed
because the interior-point algorithm has brought us so close to an optimal solution. There-
fore these iterations should be done quite quickly even on problems that are too huge to
be solved from scratch. After an optimal solution is actually reached the simplex method
and its variants are applied to help perform postoptimality analysis.
Because of the difficulties involved in applying a switching procedure including the
extra computer time some practitioners prefer to just use the simplex method from the
outset. This makes good sense when you only occasionally encounter problems that are
large enough for an interior-point algorithm to be modestly faster before switching than
the simplex method. This modest speed-up would not justify both the extra computer time
for a switching procedure and the high cost of acquiring and learning to use a software
package based on the interior-point approach. However for organizations which frequently
must deal with extremely large linear programming problems acquiring a state-of-the-art
software package of this kind including a switching procedure probably is worthwhile.
For sufficiently huge problems the only available way of solving them may be with such
a package.
Applications of huge linear programming models sometimes lead to savings of mil-
lions of dollars. Just one such application can pay many times over for a state-of-the-art
software package based on the interior-point approach plus switching over to the simplex
method at the end.
168 4 SOLVING LINEAR PROGRAMMING PROBLEMS: THE SIMPLEX METHOD
The simplex method is an efficient and reliable algorithm for solving linear programming
problems. It also provides the basis for performing the various parts of postoptimality
analysis very efficiently.
Although it has a useful geometric interpretation the simplex method is an algebraic
procedure. At each iteration it moves from the current BF solution to a better adjacent
BF solution by choosing both an entering basic variable and a leaving basic variable and
then using Gaussian elimination to solve a system of linear equations. When the current
solution has no adjacent BF solution that is better the current solution is optimal and the
algorithm stops.
We presented the full algebraic form of the simplex method to convey its logic and
then we streamlined the method to a more convenient tabular form. To set up for starting
the simplex method it is sometimes necessary to use artificial variables to obtain an ini-
tial BF solution for an artificial problem. If so either the Big M method or the two-phase
method is used to ensure that the simplex method obtains an optimal solution for the real
problem.
Computer implementations of the simplex method and its variants have become so
powerful that they now are frequently used to solve linear programming problems with
4.10 CONCLUSIONS

slide 194:

many thousand functional constraints and decision variables and occasionally vastly larger
problems. Interior-point algorithms also provide a powerful tool for solving very large
problems.
APPENDIX 4.1 AN INTRODUCTION TO USING LINDO 169
The LINDO software is designed to be easy to learn and to use especially for small problems of
the size you will encounter in this book. In addition to linear programming it also can be used to
solve both integer programming problems Chap. 12 and quadratic programming problems Sec.
13.7. Our focus in this appendix is on its use for linear programming.
LINDO allows you to enter a model in a straightforward algebraic way. For example here is
a nice way of entering the LINDO model for the Wyndor Glass Co. example introduced in Sec. 3.1.
Wyndor Glass Co. Problem. LINDO model
X1 batches of product 1 per week
X2 batches of product 2 per week
Profit in 1000 of dollars
MAX Profit 3 X1 5 X2
Subject to
Production time
Plant1 X1 4
Plant2 2 X2 12
Plant3 3 X1 2 X2 18
END
In addition to the basic model this formulation includes several clarifying comments where
each comment is indicated by starting with an exclamation point. Thus the first three lines give the
title and the definitions of the decision variables. The decision variables can be either lowercase or
uppercase but uppercase usually is used so the variables won’t be dwarfed by the following “sub-
scripts.” Another option is to use a suggestive word or abbreviation of a word such as the name
of the product being produced to represent the decision variable throughout the model provided
the word does not exceed eight letters.
The fifth line of the LINDO formulation indicates that the objective of the model is to maxi-
mize the objective function 3x
1
5x
2
. The word Profit followed by a parenthesis clarifies that this
quantity being maximized is profit. The comment on the fourth line further clarifies that the objec-
tive function is expressed in units of thousands of dollars. The number 1000 in this comment does
not have the usual comma in front of the last three digits because LINDO does not accept commas.
It also does not accept parentheses in algebraic expressions.
The comment on the seventh line points out that the following constraints are on the produc-
tion times being used. The next three lines start by giving a name followed by a parenthesis for
each of the functional constraints. These constraints are written in the usual way except for the in-
equality signs. Because many keyboards do not include and signs LINDO interprets either
or as and either or as . On systems that include and signs LINDO will
not recognize them.
The end of the constraints is signified by the word END. No nonnegativity constraints are stated
because LINDO automatically assumes that all the variables have these constraints. If say x
1
had
not had a nonnegativity constraint this would have to be indicated by typing FREE X1 on the next
line below END.
APPENDIX 4.1 AN INTRODUCTION TO USING LINDO

slide 195:

To solve this model in the Windows version of LINDO either select the Solve command from
the Solve menu or press the Solve button on the toolbar. On a platform other than Windows sim-
ply type GO followed by a return at the colon prompt. Figure A4.1 shows the resulting solution re-
port delivered by LINDO.
Both the top line and bottom line in this figure indicate that an optimal solution was found at
iteration 2 of the simplex method. Next comes the value of the objective function for this solution.
Below this we have the values of x
1
and x
2
for the optimal solution.
The column to the right of these values gives the reduced costs. We have not discussed re-
duced costs in this chapter because the information they provide can also be gleaned from the al-
lowable range to stay optimal for the coefficients in the objective function and these allowable
ranges also are readily available as you will see in the next figure. When the variable is a basic
variable in the optimal solution as for both variables in the Wyndor problem its reduced cost au-
tomatically is 0. When the variable is a nonbasic variable its reduced cost provides some interest-
ing information. This variable is 0 because its coefficient in the objective function is too small when
maximizing the objective function or too large when minimizing to justify undertaking the ac-
tivity represented by the variable. The reduced cost indicates how much this coefficient can be in-
creased when maximizing or decreased when minimizing before the optimal solution would
change and this variable would become a basic variable. However recall that this same informa-
tion already is available from the allowable range to stay optimal for the coefficient of this variable
in the objective function. The reduced cost for a nonbasic variable is just the allowable increase
when maximizing from the current value of this coefficient to remain within its allowable range
to stay optimal or the allowable decrease when minimizing.
Below the variable values and reduced costs in Fig. A4.1 we next have information about the
three functional constraints. The Slack or Surplus column gives the difference between the two sides
of each constraint. The Dual Prices column gives by another name the shadow prices discussed
in Sec. 4.7 for these constraints.
1
This alternate name comes from the fact found in Sec. 6.1 that
these shadow prices are just the optimal values of the dual variables introduced in Chap. 6.
When LINDO provides you with this solution report it also asks you whether you want to
do range sensitivity analysis. Answering yes by pressing the Y key provides you with the ad-
ditional range report shown in Fig. A4.2. This report is identical to the last three columns of the
170 4 SOLVING LINEAR PROGRAMMING PROBLEMS: THE SIMPLEX METHOD
LP OPTIMUM FOUND AT STEP 2
OBJECTIVE FUNCTION VALUE
Profit 36.00000
VARIABLE VALUE REDUCED COST
X1 2.000000 .000000
X2 6.000000 .000000
ROW SLACK OR SURPLUS DUAL PRICES
Plant1 2.000000 .000000
Plant2 .000000 1.500000
Plant3 .000000 1.000000
NO. ITERATIONS 2
FIGURE A4.1
The solution report provided
by LINDO for the Wyndor
Glass Co. problem.
1
However beware that LINDO uses a different sign convention from the common one adopted here see the
second footnote for the definition of shadow price in Sec. 4.7 so that for minimization problems its shadow
prices dual prices are the negative of ours.

slide 196:

tables in the sensitivity report generated by the Excel Solver as shown earlier in Fig. 4.10. Thus
as already discussed in Sec. 4.7 the first two rows of this range report indicate that the allowable
range to stay optimal for each coefficient in the objective function assuming no other change in
the model is
0 c
1
7.5
2 c
2
Similarly the last three rows indicate that the allowable range to stay feasible for each right-hand
side assuming no other change in the model is
2 b
1
6 b
2
18
12 b
3
24
To print your results with the Windows version of LINDO you simply need to use the Print
command to send the contents of the active window to the printer. If you are running LINDO on a
platform other than Windows you can use the DIVERT command followed by the file name to
send screen output to a file which can then print from either the operating system or a word pro-
cessing package.
These are the basics for getting started with LINDO. The LINDO tutorial on the CD-ROM
also provides some additional details. The LINGO/LINDO files on the CD-ROM for various chap-
ters show the LINDO formulations for numerous examples. In addition LINDO includes a Help
menu to provide guidance. These resources should enable you to apply LINDO to any linear pro-
gramming problem you will encounter in this book. We will discuss applications to other problem
types in Chaps. 12 and 13. For more advanced applications the LINDO User’s Manual Selected
Reference 4 for this chapter might be needed.
SELECTED REFERENCES 171
FIGURE A4.2
The range report provided
by LINDO for the Wyndor
Glass Co. problem.
RANGES IN WHICH THE BASIS IS UNCHANGED:
OBJ COEFFICIENT RANGES
VARIABLE CURRENT ALLOWABLE ALLOWABLE
COEF INCREASE DECREASE
X1 3.000000 4.500000 3.000000
X2 5.000000 INFINITY 3.000000
RIGHTHAND SIDE RANGES
ROW CURRENT ALLOWABLE ALLOWABLE
RHS INCREASE DECREASE
Plant1 4.000000 INFINITY 2.000000
Plant2 12.000000 6.000000 6.000000
Plant3 18.000000 6.000000 6.000000
1. Bazaraa M. S. J. J. Jarvis and H. D. Sherali: Linear Programming and Network Flows 2d ed.
Wiley New York 1990.
2. Calvert J. E. and W. L. Voxman: Linear Programming Harcourt Brace Jovanovich Orlando
FL 1989.
SELECTED REFERENCES

slide 197:

3. Dantzig G.B. and M.N. Thapa: Linear Programming 1: Introduction Springer New Y ork 1997.
4. LINDO User’s Manual LINDO Systems Inc. Chicago IL e-mail: infolindo.com 1999.
5. Vanderbei R. J.: Linear Programming: Foundations and Extensions Kluwer Academic Pub-
lishers Boston MA 1996.
172 4 SOLVING LINEAR PROGRAMMING PROBLEMS: THE SIMPLEX METHOD
Demonstration Examples in OR Tutor:
Interpretation of the Slack Variables
Simplex Method—Algebraic Form
Simplex Method—Tabular Form
Interactive Routines:
Enter or Revise a General Linear Programming Model
Set Up for the Simplex Method—Interactive Only
Solve Interactively by the Simplex Method
An Automatic Routine:
Solve Automatically by the Interior-Point Algorithm
An Excel Add-In:
Premium Solver
Files Chapter 3 for Solving the Wyndor and
Radiation Therapy Examples:
Excel File
LINGO/LINDO File
MPL/CPLEX File
See Appendix 1 for documentation of the software.
LEARNING AIDS FOR THIS CHAPTER IN YOUR OR COURSEWARE
The symbols to the left of some of the problems or their parts
have the following meaning:
D: The corresponding demonstration example listed above may be
helpful.
I: We suggest that you use the corresponding interactive routine
listed above the printout records your work.
C: Use the computer with any of the software options available to
you or as instructed by your instructor to solve the problem
automatically. See Sec. 4.8 for a listing of the options featured
in this book and on the CD-ROM.
An asterisk on the problem number indicates that at least a partial
answer is given in the back of the book.
4.1-1. Consider the following problem.
Maximize Z x
1
2x
2
subject to
x
1
2
x
2
2
x
1
x
2
3
and
x
1
0 x
2
0.
a Plot the feasible region and circle all the CPF solutions.
PROBLEMS

slide 198:

The objective is to maximize the total profit from the two activi-
ties. The unit profit for activity 1 is 1000 and the unit profit for
activity 2 is 2000.
a Calculate the total profit for each CPF solution. Use this in-
formation to find an optimal solution.
b Use the solution concepts of the simplex method given in Sec.
4.1 to identify the sequence of CPF solutions that would be
examined by the simplex method to reach an optimal solution.
4.1-4. Consider the linear programming model given in the back
of the book that was formulated for Prob. 3.2-3.
a Use graphical analysis to identify all the corner-point solutions
for this model. Label each as either feasible or infeasible.
b Calculate the value of the objective function for each of the
CPF solutions. Use this information to identify an optimal so-
lution.
c Use the solution concepts of the simplex method given in Sec.
4.1 to identify which sequence of CPF solutions might be ex-
amined by the simplex method to reach an optimal solution.
Hint: There are two alternative sequences to be identified for
this particular model.
4.1-5. Repeat Prob. 4.1-4 for the following problem.
Maximize Z x
1
2x
2
subject to
x
1
3x
2
8
x
1
x
2
4
and
x
1
0 x
2
0.
4.1-6. Repeat Prob. 4.1-4 for the following problem.
Maximize Z 3x
1
2x
2
subject to
x
1
3x
2
4
x
1
3x
2
15
2x
1
x
2
10
and
x
1
0 x
2
0.
4.1-7. Describe graphically what the simplex method does step by
step to solve the following problem.
Maximize Z 2x
1
3x
2
subject to
3x
1
x
2
1
4x
1
2x
2
20
b For each CPF solution identify the pair of constraint bound-
ary equations that it satisfies.
c For each CPF solution use this pair of constraint boundary
equations to solve algebraically for the values of x
1
and x
2
at
the corner point.
d For each CPF solution identify its adjacent CPF solutions.
e For each pair of adjacent CPF solutions identify the constraint
boundary they share by giving its equation.
4.1-2. Consider the following problem.
Maximize Z 3x
1
2x
2
subject to
2x
1
x
2
6
x
1
2x
2
6
and
x
1
0 x
2
0.
a Use the graphical method to solve this problem. Circle all the
corner points on the graph.
b For each CPF solution identify the pair of constraint bound-
ary equations it satisfies.
c For each CPF solution identify its adjacent CPF solutions.
d Calculate Z for each CPF solution. Use this information to
identify an optimal solution.
e Describe graphically what the simplex method does step by
step to solve the problem.
4.1-3. A certain linear programming model involving two activi-
ties has the feasible region shown below.
CHAPTER 4 PROBLEMS 173
Feasible
region
8
8
6
6
4
4
2
2 0
0 6
2
3
5 5
6 4
8 0
Level of Activity 1
Level of Activity 2

slide 199:

b For each CPF solution identify the corresponding BF solution
by calculating the values of the slack variables. For each BF
solution use the values of the variables to identify the nonba-
sic variables and the basic variables.
c For each BF solution demonstrate by plugging in the solu-
tion that after the nonbasic variables are set equal to zero
this BF solution also is the simultaneous solution of the sys-
tem of equations obtained in part a.
4.2-2. Reconsider the model in Prob. 4.1-5. Follow the instructions
of Prob. 4.2-1 for parts a b and c.
d Repeat part b for the corner-point infeasible solutions and the
corresponding basic infeasible solutions.
e Repeat part c for the basic infeasible solutions.
4.2-3. Follow the instructions of Prob. 4.2-1 for the model in Prob.
4.1-6.
DI 4.3-1. Work through the simplex method in algebraic form
step by step to solve the model in Prob. 4.1-4.
4.3-2. Reconsider the model in Prob. 4.1-5.
a Work through the simplex method in algebraic form by hand
to solve this model.
DI b Repeat part a with the corresponding interactive routine
in your OR Tutor.
C c Verify the optimal solution you obtained by using a software
package based on the simplex method.
4.3-3. Follow the instructions of Prob. 4.3-2 for the model in Prob.
4.1-6.
DI 4.3-4. Work through the simplex method in algebraic form
step by step to solve the following problem.
Maximize Z 4x
1
3x
2
6x
3
subject to
3x
1
x
2
3x
3
30
2x
1
2x
2
3x
3
40
and
x
1
0 x
2
0 x
3
0.
DI 4.3-5. Work through the simplex method in algebraic form
step by step to solve the following problem.
Maximize Z x
1
2x
2
4x
3
subject to
3x
1
x
2
5x
3
10
x
1
4x
2
x
3
8
2x
1
4x
2
2x
3
7
4x
1
x
2
10
x
1
2x
2
5
and
x
1
0 x
2
0.
4.1-8. Describe graphically what the simplex method does step by
step to solve the following problem.
Minimize Z 5x
1
7x
2
subject to
2x
1
3x
2
42
3x
1
4x
2
60
x
1
x
2
18
and
x
1
0 x
2
0.
4.1-9. Label each of the following statements about linear pro-
gramming problems as true or false and then justify your answer.
a For minimization problems if the objective function evaluated
at a CPF solution is no larger than its value at every adjacent
CPF solution then that solution is optimal.
b Only CPF solutions can be optimal so the number of optimal
solutions cannot exceed the number of CPF solutions.
c If multiple optimal solutions exist then an optimal CPF solu-
tion may have an adjacent CPF solution that also is optimal
the same value of Z.
4.1-10. The following statements give inaccurate paraphrases of
the six solution concepts presented in Sec. 4.1. In each case ex-
plain what is wrong with the statement.
a The best CPF solution always is an optimal solution.
b An iteration of the simplex method checks whether the current
CPF solution is optimal and if not moves to a new CPF
solution.
c Although any CPF solution can be chosen to be the initial CPF
solution the simplex method always chooses the origin.
d When the simplex method is ready to choose a new CPF so-
lution to move to from the current CPF solution it only con-
siders adjacent CPF solutions because one of them is likely to
be an optimal solution.
e To choose the new CPF solution to move to from the current
CPF solution the simplex method identifies all the adjacent
CPF solutions and determines which one gives the largest rate
of improvement in the value of the objective function.
4.2-1. Reconsider the model in Prob. 4.1-4.
a Introduce slack variables in order to write the functional con-
straints in augmented form.
174 4 SOLVING LINEAR PROGRAMMING PROBLEMS: THE SIMPLEX METHOD

slide 200:

b Use the procedure developed in part a to solve this problem
by hand. Do not use your OR Courseware.
4.3-9. Label each of the following statements as true or false and
then justify your answer by referring to specific statements with
page citations in the chapter.
a The simplex method’s rule for choosing the entering basic vari-
able is used because it always leads to the best adjacent BF
solution largest Z.
b The simplex method’s minimum ratio rule for choosing the
leaving basic variable is used because making another choice
with a larger ratio would yield a basic solution that is not fea-
sible.
c When the simplex method solves for the next BF solution el-
ementary algebraic operations are used to eliminate each non-
basic variable from all but one equation its equation and to
give it a coefficient of 1 in that one equation.
DI 4.4-1. Repeat Prob. 4.3-1 using the tabular form of the sim-
plex method.
DIC 4.4-2. Repeat Prob. 4.3-2 using the tabular form of the sim-
plex method.
DIC 4.4-3. Repeat Prob. 4.3-3 using the tabular form of the sim-
plex method.
4.4-4. Consider the following problem.
Maximize Z 2x
1
x
2
subject to
x
1
x
2
40
4x
1
x
2
100
and
x
1
0 x
2
0.
a Solve this problem graphically in a freehand manner. Also
identify all the CPF solutions.
b Now repeat part a when using a ruler to draw the graph
carefully.
D c Use hand calculations to solve this problem by the simplex
method in algebraic form.
DI d Now use your OR Courseware to solve this problem in-
teractively by the simplex method in algebraic form.
D e Use hand calculations to solve this problem by the simplex
method in tabular form.
DI f Now use your OR Courseware to solve this problem inter-
actively by the simplex method in tabular form.
C g Use a software package based on the simplex method to
solve the problem.
and
x
1
0 x
2
0 x
3
0.
DI 4.3-6. Work through the simplex method in algebraic form
step by step to solve the following problem.
Maximize Z x
1
2x
2
2x
3
subject to
5x
1
2x
2
3x
3
15
x
1
4x
2
2x
3
12
2x
1
4x
2
x
3
8
and
x
1
0 x
2
0 x
3
0.
4.3-7. Consider the following problem.
Maximize Z 5x
1
3x
2
4x
3
subject to
2x
1
x
2
x
3
20
3x
1
x
2
2x
3
30
and
x
1
0 x
2
0 x
3
0.
You are given the information that the nonzero variables in the op-
timal solution are x
2
and x
3
.
a Describe how you can use this information to adapt the sim-
plex method to solve this problem in the minimum possible
number of iterations when you start from the usual initial BF
solution. Do not actually perform any iterations.
b Use the procedure developed in part a to solve this problem
by hand. Do not use your OR Courseware.
4.3-8. Consider the following problem.
Maximize Z 2x
1
4x
2
3x
3
subject to
x
1
3x
2
2x
3
30
x
1
x
2
x
3
24
3x
1
5x
2
3x
3
60
and
x
1
0 x
2
0 x
3
0.
You are given the information that x
1
0 x
2
0 and x
3
0 in
the optimal solution.
a Describe how you can use this information to adapt the sim-
plex method to solve this problem in the minimum possible
number of iterations when you start from the usual initial BF
solution. Do not actually perform any iterations.
CHAPTER 4 PROBLEMS 175

slide 201:

and
x
1
0 x
2
0 x
3
0.
DI a Work through the simplex method step by step in algebraic
form to solve this problem.
DI b Work through the simplex method step by step in tabular
form to solve the problem.
C c Use a computer package based on the simplex method to
solve the problem.
DI 4.4-9. Work through the simplex method step by step in tab-
ular form to solve the following problem.
Maximize Z 2x
1
x
2
x
3
subject to
3x
1
x
2
x
3
6
x
1
x
2
2x
3
1
x
1
x
2
x
3
2
and
x
1
0 x
2
0 x
3
0.
DI 4.4-10. Work through the simplex method step by step to solve
the following problem.
Maximize Z x
1
x
2
2x
3
subject to
x
1
2x
2
x
3
20
2x
1
4x
2
2x
3
60
2x
1
3x
2
x
3
50
and
x
1
0 x
2
0 x
3
0.
4.5-1. Consider the following statements about linear program-
ming and the simplex method. Label each statement as true or false
and then justify your answer.
a In a particular iteration of the simplex method if there is a tie
for which variable should be the leaving basic variable then
the next BF solution must have at least one basic variable equal
to zero.
b If there is no leaving basic variable at some iteration then the
problem has no feasible solutions.
c If at least one of the basic variables has a coefficient of zero
in row 0 of the final tableau then the problem has multiple op-
timal solutions.
d If the problem has multiple optimal solutions then the prob-
lem must have a bounded feasible region.
4.4-5. Repeat Prob. 4.4-4 for the following problem.
Maximize Z 2x
1
3x
2
subject to
x
1
2x
2
30
x
1
x
2
20
and
x
1
0 x
2
0.
4.4-6. Consider the following problem.
Maximize Z 2x
1
4x
2
3x
3
subject to
3x
1
4x
2
2x
3
60
2x
1
x
2
2x
3
40
x
1
3x
2
2x
3
80
and
x
1
0 x
2
0 x
3
0.
DI a Work through the simplex method step by step in algebraic
form.
DI b Work through the simplex method step by step in tabular
form.
C c Use a software package based on the simplex method to
solve the problem.
4.4-7. Consider the following problem.
Maximize Z 3x
1
5x
2
6x
3
subject to
2x
1
x
2
x
3
4
x
1
2x
2
x
3
4
x
1
x
2
2x
3
4
x
1
x
2
x
3
3
and
x
1
0 x
2
0 x
3
0.
DI a Work through the simplex method step by step in algebraic
form.
DI b Work through the simplex method in tabular form.
C c Use a computer package based on the simplex method to
solve the problem.
4.4-8. Consider the following problem.
Maximize Z 2x
1
x
2
x
3
subject to
x
1
x
2
3x
3
4
2x
1
x
2
3x
3
10
x
1
x
2
x
3
7
176 4 SOLVING LINEAR PROGRAMMING PROBLEMS: THE SIMPLEX METHOD

slide 202:

a Show that any convex combination of any set of feasible so-
lutions must be a feasible solution so that any convex combi-
nation of CPF solutions must be feasible.
b Use the result quoted in part a to show that any convex com-
bination of BF solutions must be a feasible solution.
4.5-6. Using the facts given in Prob. 4.5-5 show that the follow-
ing statements must be true for any linear programming problem
that has a bounded feasible region and multiple optimal solutions:
a Every convex combination of the optimal BF solutions must
be optimal.
b No other feasible solution can be optimal.
4.5-7. Consider a two-variable linear programming problem whose
CPF solutions are 0 0 6 0 6 3 3 3 and 0 2. See Prob.
3.2-2 for a graph of the feasible region.
a Use the graph of the feasible region to identify all the con-
straints for the model.
b For each pair of adjacent CPF solutions give an example of
an objective function such that all the points on the line seg-
ment between these two corner points are multiple optimal so-
lutions.
c Now suppose that the objective function is Z x
1
2x
2
. Use
the graphical method to find all the optimal solutions.
DI d For the objective function in part c work through the sim-
plex method step by step to find all the optimal BF solu-
tions. Then write an algebraic expression that identifies all
the optimal solutions.
DI 4.5-8. Consider the following problem.
Maximize Z x
1
x
2
x
3
x
4
subject to
x
1
x
2
3
x
3
x
4
2
and
x
j
0 for j 1 2 3 4.
Work through the simplex method step by step to find all the op-
timal BF solutions.
4.6-1. Consider the following problem.
Maximize Z 2x
1
3x
2
subject to
x
1
2x
2
4
x
1
x
2
3
and
x
1
0 x
2
0.
4.5-2. Suppose that the following constraints have been provided
for a linear programming model with decision variables x
1
and x
2
.
x
1
3x
2
30
3x
1
x
2
30
and
x
1
0 x
2
0.
a Demonstrate graphically that the feasible region is unbounded.
b If the objective is to maximize Z x
1
x
2
does the model
have an optimal solution If so find it. If not explain why not.
c Repeat part b when the objective is to maximize Z x
1
x
2
.
d For objective functions where this model has no optimal solu-
tion does this mean that there are no good solutions accord-
ing to the model Explain. What probably went wrong when
formulating the model
DI e Select an objective function for which this model has no
optimal solution. Then work through the simplex method
step by step to demonstrate that Z is unbounded.
C f For the objective function selected in part e use a software
package based on the simplex method to determine that Z is
unbounded.
4.5-3. Follow the instructions of Prob. 4.5-2 when the constraints
are the following:
2x
1
x
2
20
x
1
2x
2
20
and
x
1
0 x
2
0.
DI 4.5-4. Consider the following problem.
Maximize Z 5x
1
x
2
3x
3
4x
4
subject to
x
1
2x
2
4x
3
3x
4
20
4x
1
6x
2
5x
3
4x
4
40
2x
1
3x
2
3x
3
8x
4
50
and
x
1
0 x
2
0 x
3
0 x
4
0.
Work through the simplex method step by step to demonstrate that
Z is unbounded.
4.5-5. A basic property of any linear programming problem with
a bounded feasible region is that every feasible solution can be ex-
pressed as a convex combination of the CPF solutions perhaps in
more than one way. Similarly for the augmented form of the prob-
lem every feasible solution can be expressed as a convex combi-
nation of the BF solutions.
CHAPTER 4 PROBLEMS 177

slide 203:

initial artificial BF solution. Also identify the initial entering
basic variable and the leaving basic variable.
I c Work through the simplex method step by step to solve the
problem.
4.6-4. Consider the following problem.
Minimize Z 2x
1
3x
2
x
3
subject to
x
1
4x
2
2x
3
8
3x
1
2x
2
2x
3
6
and
x
1
0 x
2
0 x
3
0.
a Reformulate this problem to fit our standard form for a linear
programming model presented in Sec. 3.2.
I b Using the Big M method work through the simplex method
step by step to solve the problem.
I c Using the two-phase method work through the simplex
method step by step to solve the problem.
d Compare the sequence of BF solutions obtained in parts b
and c. Which of these solutions are feasible only for the ar-
tificial problem obtained by introducing artificial variables and
which are actually feasible for the real problem
C e Use a software package based on the simplex method to
solve the problem.
4.6-5. For the Big M method explain why the simplex method
never would choose an artificial variable to be an entering basic
variable once all the artificial variables are nonbasic.
4.6-6. Consider the following problem.
Maximize Z 90x
1
70x
2
subject to
2x
1
x
2
2
x
1
x
2
2
and
x
1
0 x
2
0.
a Demonstrate graphically that this problem has no feasible so-
lutions.
C b Use a computer package based on the simplex method to
determine that the problem has no feasible solutions.
I c Using the Big M method work through the simplex method
step by step to demonstrate that the problem has no feasible
solutions.
I d Repeat part c when using phase 1 of the two-phase method.
a Solve this problem graphically.
b Using the Big M method construct the complete first simplex
tableau for the simplex method and identify the corresponding
initial artificial BF solution. Also identify the initial entering
basic variable and the leaving basic variable.
I c Continue from part b to work through the simplex method
step by step to solve the problem.
4.6-2. Consider the following problem.
Maximize Z 4x
1
2x
2
3x
3
5x
4
subject to
2x
1
3x
2
4x
3
2x
4
300
8x
1
x
2
x
3
5x
4
300
and
x
j
0 for j 1 2 3 4.
a Using the Big M method construct the complete first simplex
tableau for the simplex method and identify the corresponding
initial artificial BF solution. Also identify the initial entering
basic variable and the leaving basic variable.
I b Work through the simplex method step by step to solve the
problem.
c Using the two-phase method construct the complete first sim-
plex tableau for phase 1 and identify the corresponding initial
artificial BF solution. Also identify the initial entering basic
variable and the leaving basic variable.
I d Work through phase 1 step by step.
e Construct the complete first simplex tableau for phase 2.
I f Work through phase 2 step by step to solve the problem.
g Compare the sequence of BF solutions obtained in part b with
that in parts d and f . Which of these solutions are feasible
only for the artificial problem obtained by introducing artificial
variables and which are actually feasible for the real problem
C h Use a software package based on the simplex method to
solve the problem.
4.6-3. Consider the following problem.
Minimize Z 3x
1
2x
2
subject to
2x
1
x
2
10
3x
1
2x
2
6
x
1
x
2
6
and
x
1
0 x
2
0.
a Solve this problem graphically.
b Using the Big M method construct the complete first simplex
tableau for the simplex method and identify the corresponding
178 4 SOLVING LINEAR PROGRAMMING PROBLEMS: THE SIMPLEX METHOD

slide 204:

I a Using the two-phase method work through phase 1 step by
step.
C b Use a software package based on the simplex method to for-
mulate and solve the phase 1 problem.
I c Work through phase 2 step by step to solve the original
problem.
C d Use a computer code based on the simplex method to solve
the original problem.
4.6-10. Consider the following problem.
Minimize Z 3x
1
2x
2
4x
3
subject to
2x
1
x
2
3x
3
60
3x
1
3x
2
5x
3
120
and
x
1
0 x
2
0 x
3
0.
I a Using the Big M method work through the simplex method
step by step to solve the problem.
I b Using the two-phase method work through the simplex
method step by step to solve the problem.
c Compare the sequence of BF solutions obtained in parts a
and b. Which of these solutions are feasible only for the ar-
tificial problem obtained by introducing artificial variables and
which are actually feasible for the real problem
C d Use a software package based on the simplex method to
solve the problem.
4.6-11. Follow the instructions of Prob. 4.6-10 for the following
problem.
Minimize Z 3x
1
2x
2
7x
3
subject to
x
1
x
2
x
3
10
2x
1
x
2
x
3
10
and
x
1
0 x
2
0 x
3
0.
4.6-12. Follow the instructions of Prob. 4.6-10 for the following
problem.
Minimize Z 3x
1
2x
2
x
3
subject to
x
1
x
2
x
3
7
3x
1
x
2
x
3
10
and
x
1
0 x
2
0 x
3
0.
4.6-7. Follow the instructions of Prob. 4.6-6 for the following
problem.
Minimize Z 5000x
1
7000x
2
subject to
2x
1
x
2
1
x
1
2x
2
1
and
x
1
0 x
2
0.
4.6-8. Consider the following problem.
Maximize Z 2x
1
5x
2
3x
3
subject to
x
1
2x
2
x
3
20
2x
1
4x
2
x
3
50
and
x
1
0 x
2
0 x
3
0.
a Using the Big M method construct the complete first simplex
tableau for the simplex method and identify the corresponding
initial artificial BF solution. Also identify the initial entering
basic variable and the leaving basic variable.
I b Work through the simplex method step by step to solve the
problem.
I c Using the two-phase method construct the complete first
simplex tableau for phase 1 and identify the corresponding
initial artificial BF solution. Also identify the initial enter-
ing basic variable and the leaving basic variable.
I d Work through phase 1 step by step.
e Construct the complete first simplex tableau for phase 2.
I f Work through phase 2 step by step to solve the problem.
g Compare the sequence of BF solutions obtained in part b with
that in parts d and f . Which of these solutions are feasible
only for the artificial problem obtained by introducing artificial
variables and which are actually feasible for the real problem
C h Use a software package based on the simplex method to
solve the problem.
4.6-9. Consider the following problem.
Minimize Z 2x
1
x
2
3x
3
subject to
5x
1
2x
2
7x
3
420
3x
1
2x
2
5x
3
280
and
x
1
0 x
2
0 x
3
0.
CHAPTER 4 PROBLEMS 179

slide 205:

a Reformulate this problem so that all variables have nonnega-
tivity constraints.
DI b Work through the simplex method step by step to solve the
problem.
C c Use a computer package based on the simplex method to
solve the problem.
4.6-17. This chapter has described the simplex method as applied
to linear programming problems where the objective function is to
be maximized. Section 4.6 then described how to convert a mini-
mization problem to an equivalent maximization problem for ap-
plying the simplex method. Another option with minimization
problems is to make a few modifications in the instructions for the
simplex method given in the chapter in order to apply the algo-
rithm directly.
a Describe what these modifications would need to be.
b Using the Big M method apply the modified algorithm devel-
oped in part a to solve the following problem directly by
hand. Do not use your OR Courseware.
Minimize Z 3x
1
8x
2
5x
3
subject to
3x
1
3x
2
4x
3
70
3x
1
5x
2
2x
3
70
and
x
1
0 x
2
0 x
3
0.
4.6-18. Consider the following problem.
Maximize Z 2x
1
x
2
4x
3
3x
4
subject to
x
1
x
2
3x
3
2x
4
4
x
1
x
2
x
3
x
4
1
2x
1
x
2
x
3
x
4
2
x
1
2x
2
x
3
2x
4
2
and
x
2
0 x
3
0 x
4
0
no nonnegativity constraint for x
1
.
a Reformulate this problem to fit our standard form for a linear
programming model presented in Sec. 3.2.
b Using the Big M method construct the complete first simplex
tableau for the simplex method and identify the corresponding
initial artificial BF solution. Also identify the initial entering
basic variable and the leaving basic variable.
c Using the two-phase method construct row 0 of the first sim-
plex tableau for phase 1.
C d Use a computer package based on the simplex method to
solve the problem.
4.6-13. Label each of the following statements as true or false and
then justify your answer.
a When a linear programming model has an equality constraint
an artificial variable is introduced into this constraint in order
to start the simplex method with an obvious initial basic solu-
tion that is feasible for the original model.
b When an artificial problem is created by introducing artificial
variables and using the Big M method if all artificial variables
in an optimal solution for the artificial problem are equal to
zero then the real problem has no feasible solutions.
c The two-phase method is commonly used in practice because
it usually requires fewer iterations to reach an optimal solution
than the Big M method does.
4.6-14. Consider the following problem.
Maximize Z x
1
4x
2
2x
3
subject to
4x
1
x
2
x
3
5
x
1
x
2
2x
3
10
and
x
2
0 x
3
0
no nonnegativity constraint for x
1
.
a Reformulate this problem so all variables have nonnegativity
constraints.
DI b Work through the simplex method step by step to solve the
problem.
C c Use a software package based on the simplex method to
solve the problem.
4.6-15. Consider the following problem.
Maximize Z x
1
4x
2
subject to
3x
1
x
2
6
x
1
2x
2
4
x
1
2x
2
3
no lower bound constraint for x
1
.
a Solve this problem graphically.
b Reformulate this problem so that it has only two functional
constraints and all variables have nonnegativity constraints.
DI c Work through the simplex method step by step to solve the
problem.
4.6-16. Consider the following problem.
Maximize Z x
1
2x
2
x
3
subject to
3x
2
x
3
120
x
1
x
2
4x
3
80
3x
1
x
2
2x
3
100
no nonnegativity constraints.
180 4 SOLVING LINEAR PROGRAMMING PROBLEMS: THE SIMPLEX METHOD

slide 206:

and
x
1
0 x
2
0.
a Solve this problem graphically.
b Use graphical analysis to find the shadow prices for the re-
sources.
c Determine how many additional units of resource 1 would be
needed to increase the optimal value of Z by 15.
4.7-5. Consider the following problem.
Maximize Z x
1
7x
2
3x
3
subject to
2x
1
x
2
x
3
4 resource 1
4x
1
3x
2
x
3
2 resource 2
3x
1
2x
2
x
3
3 resource 3
and
x
1
0 x
2
0 x
3
0.
DI a Work through the simplex method step by step to solve the
problem.
b Identify the shadow prices for the three resources and describe
their significance.
C c Use a software package based on the simplex method to
solve the problem and then to generate sensitivity informa-
tion. Use this information to identify the shadow price for
each resource the allowable range to stay optimal for each
objective function coefficient and the allowable range to
stay feasible for each right-hand side.
4.7-6. Consider the following problem.
Maximize Z 2x
1
2x
2
3x
3
subject to
x
1
x
2
x
3
4 resource 1
2x
1
x
2
x
3
2 resource 2
x
1
x
2
3x
3
12 resource 3
and
x
1
0 x
2
0 x
3
0.
DI a Work through the simplex method step by step to solve the
problem.
b Identify the shadow prices for the three resources and describe
their significance.
C c Use a software package based on the simplex method to
solve the problem and then to generate sensitivity informa-
tion. Use this information to identify the shadow price for
each resource the allowable range to stay optimal for each
objective function coefficient and the allowable range to stay
feasible for each right-hand side.
I 4.6-19. Consider the following problem.
Maximize Z 4x
1
5x
2
3x
3
subject to
x
1
x
2
2x
3
20
15x
1
6x
2
5x
3
50
x
1
3x
2
5x
3
30
and
x
1
0 x
2
0 x
3
0.
Work through the simplex method step by step to demonstrate that
this problem does not possess any feasible solutions.
4.7-1. Refer to Fig. 4.10 and the resulting allowable range to stay
feasible for the respective right-hand sides of the Wyndor Glass
Co. problem given in Sec. 3.1. Use graphical analysis to demon-
strate that each given allowable range is correct.
4.7-2. Reconsider the model in Prob. 4.1-5. Interpret the right-hand
side of the respective functional constraints as the amount avail-
able of the respective resources.
a Use graphical analysis as in Fig. 4.8 to determine the shadow
prices for the respective resources.
b Use graphical analysis to perform sensitivity analysis on this
model. In particular check each parameter of the model to
determine whether it is a sensitive parameter a parameter
whose value cannot be changed without changing the opti-
mal solution by examining the graph that identifies the op-
timal solution.
c Use graphical analysis as in Fig. 4.9 to determine the allow-
able range for each c
j
value coefficient of x
j
in the objective
function over which the current optimal solution will remain
optimal.
d Changing just one b
i
value the right-hand side of functional
constraint i will shift the corresponding constraint boundary.
If the current optimal CPF solution lies on this constraint
boundary this CPF solution also will shift. Use graphical
analysis to determine the allowable range for each b
i
value over
which this CPF solution will remain feasible.
C e Verify your answers in parts a c and d by using a com-
puter package based on the simplex method to solve the prob-
lem and then to generate sensitivity analysis information.
4.7-3. Repeat Prob. 4.7-2 for the model in Prob. 4.1-6.
4.7-4. You are given the following linear programming problem.
Maximize Z 4x
1
2x
2
subject to
2x
1
3x
2
16 resource 1
x
1
3x
2
17 resource 2
x
1
3x
2
5 resource 3
CHAPTER 4 PROBLEMS 181

slide 207:

and
x
1
0 x
2
0 x
3
0 x
4
0.
DI a Work through the simplex method step by step to solve the
problem.
b Identify the shadow prices for the two resources and describe
their significance.
C c Use a software package based on the simplex method to
solve the problem and then to generate sensitivity informa-
tion. Use this information to identify the shadow price for
each resource the allowable range to stay optimal for each
objective function coefficient and the allowable range to
stay feasible for each right-hand side.
4.9.1. Use the interior-point algorithm in your OR Courseware to
solve the model in Prob. 4.1-4. Choose 0.5 from the Option
menu use x
1
x
2
0.1 0.4 as the initial trial solution and run
15 iterations. Draw a graph of the feasible region and then plot
the trajectory of the trial solutions through this feasible region.
4.9-2. Repeat Prob. 4.9-1 for the model in Prob. 4.1-5.
4.9-3. Repeat Prob. 4.9-1 for the model in Prob. 4.1-6.
4.7-7. Consider the following problem.
Maximize Z 2x
1
4x
2
x
3
subject to
2x
1
3x
2
x
3
30 resource 1
2x
1
x
2
x
3
10 resource 2
4x
1
2x
2
2x
3
40 resource 3
and
x
1
0 x
2
0 x
3
0.
DI a Work through the simplex method step by step to solve the
problem.
b Identify the shadow prices for the three resources and describe
their significance.
C c Use a software package based on the simplex method to
solve the problem and then to generate sensitivity informa-
tion. Use this information to identify the shadow price for
each resource the allowable range to stay optimal for each
objective function coefficient and the allowable range to
stay feasible for each right-hand side.
4.7-8. Consider the following problem.
Maximize Z 5x
1
4x
2
x
3
3x
4
subject to
3x
1
2x
2
3x
3
x
4
24 resource 1
3x
1
3x
2
x
3
3x
4
36 resource 2
182 4 SOLVING LINEAR PROGRAMMING PROBLEMS: THE SIMPLEX METHOD
From the tenth floor of her office building Katherine Rally watches the swarms of
New Yorkers fight their way through the streets infested with yellow cabs and the side-
walks littered with hot dog stands. On this sweltering July day she pays particular at-
tention to the fashions worn by the various women and wonders what they will choose
to wear in the fall. Her thoughts are not simply random musings they are critical to
her work since she owns and manages TrendLines an elite women’s clothing company.
Today is an especially important day because she must meet with Ted Lawson the
production manager to decide upon next month’s production plan for the fall line.
Specifically she must determine the quantity of each clothing item she should produce
given the plant’s production capacity limited resources and demand forecasts. Accu-
rate planning for next month’s production is critical to fall sales since the items pro-
duced next month will appear in stores during September and women generally buy
the majority of the fall fashions when they first appear in September.
She turns back to her sprawling glass desk and looks at the numerous papers cov-
ering it. Her eyes roam across the clothing patterns designed almost six months ago
CASE 4.1 FABRICS AND FALL FASHIONS

slide 208:

the lists of materials requirements for each pattern and the lists of demand forecasts
for each pattern determined by customer surveys at fashion shows. She remembers the
hectic and sometimes nightmarish days of designing the fall line and presenting it at
fashion shows in New York Milan and Paris. Ultimately she paid her team of six de-
signers a total of 860000 for their work on her fall line. With the cost of hiring run-
way models hair stylists and makeup artists sewing and fitting clothes building the
set choreographing and rehearsing the show and renting the conference hall each of
the three fashion shows cost her an additional 2700000.
She studies the clothing patterns and material requirements. Her fall line consists
of both professional and casual fashions. She determined the prices for each clothing
item by taking into account the quality and cost of material the cost of labor and ma-
chining the demand for the item and the prestige of the TrendLines brand name.
The fall professional fashions include:
CASE 4.1 FABRICS AND FALL FASHIONS 183
The fall casual fashions include:
Labor and
Clothing Item Materials Requirements Price Machine Cost
Tailored wool slacks 3 yards of wool 300 160
2 yards of acetate for lining
Cashmere sweater 1.5 yards of cashmere 450 150
Silk blouse 1.5 yards of silk 180 100
Silk camisole 0.5 yard of silk 120 60
Tailored skirt 2 yards of rayon 270 120
1.5 yards of acetate for lining
Wool blazer 2.5 yards of wool 320 140
1.5 yards of acetate for lining
Labor and
Clothing Item Materials Requirements Price Machine Cost
Velvet pants 3 yards of velvet 350 175
2 yards of acetate for lining
Cotton sweater 1.5 yards of cotton 130 60
Cotton miniskirt 0.5 yard of cotton 75 40
Velvet shirt 1.5 yards of velvet 200 160
Button-down blouse 1.5 yards of rayon 120 90
She knows that for the next month she has ordered 45000 yards of wool 28000
yards of acetate 9000 yards of cashmere 18000 yards of silk 30000 yards of rayon
20000 yards of velvet and 30000 yards of cotton for production. The prices of the
materials are listed on the next page.

slide 209:

Any material that is not used in production can be sent back to the textile wholesaler
for a full refund although scrap material cannot be sent back to the wholesaler.
She knows that the production of both the silk blouse and cotton sweater leaves
leftover scraps of material. Specifically for the production of one silk blouse or one
cotton sweater 2 yards of silk and cotton respectively are needed. From these 2 yards
1.5 yards are used for the silk blouse or the cotton sweater and 0.5 yard is left as scrap
material. She does not want to waste the material so she plans to use the rectangular
scrap of silk or cotton to produce a silk camisole or cotton miniskirt respectively.
Therefore whenever a silk blouse is produced a silk camisole is also produced. Like-
wise whenever a cotton sweater is produced a cotton miniskirt is also produced. Note
that it is possible to produce a silk camisole without producing a silk blouse and a cot-
ton miniskirt without producing a cotton sweater.
The demand forecasts indicate that some items have limited demand. Specifically
because the velvet pants and velvet shirts are fashion fads TrendLines has forecasted
that it can sell only 5500 pairs of velvet pants and 6000 velvet shirts. TrendLines
does not want to produce more than the forecasted demand because once the pants
and shirts go out of style the company cannot sell them. TrendLines can produce less
than the forecasted demand however since the company is not required to meet the
demand. The cashmere sweater also has limited demand because it is quite expensive
and TrendLines knows it can sell at most 4000 cashmere sweaters. The silk blouses
and camisoles have limited demand because many women think silk is too hard to
care for and TrendLines projects that it can sell at most 12000 silk blouses and 15000
silk camisoles.
The demand forecasts also indicate that the wool slacks tailored skirts and wool
blazers have a great demand because they are basic items needed in every professional
wardrobe. Specifically the demand for wool slacks is 7000 pairs of slacks and the
demand for wool blazers is 5000 blazers. Katherine wants to meet at least 60 percent
of the demand for these two items in order to maintain her loyal customer base and
not lose business in the future. Although the demand for tailored skirts could not be
estimated Katherine feels she should make at least 2800 of them.
a Ted is trying to convince Katherine not to produce any velvet shirts since the demand for
this fashion fad is quite low. He argues that this fashion fad alone accounts for 500000
of the fixed design and other costs. The net contribution price of clothing item mate-
rials cost labor cost from selling the fashion fad should cover these fixed costs. Each
velvet shirt generates a net contribution of 22. He argues that given the net contribution
184 4 SOLVING LINEAR PROGRAMMING PROBLEMS: THE SIMPLEX METHOD
Material Price per yard
Wool 9.00
Acetate 1.50
Cashmere 60.00
Silk 13.00
Rayon 2.25
Velvet 12.00
Cotton 2.50

slide 210:

even satisfying the maximum demand will not yield a profit. What do you think of Ted’s
argument
b Formulate and solve a linear programming problem to maximize profit given the produc-
tion resource and demand constraints.
Before she makes her final decision Katherine plans to explore the following ques-
tions independently except where otherwise indicated.
c The textile wholesaler informs Katherine that the velvet cannot be sent back because the de-
mand forecasts show that the demand for velvet will decrease in the future. Katherine can
therefore get no refund for the velvet. How does this fact change the production plan
d What is an intuitive economic explanation for the difference between the solutions found in
parts b and c
e The sewing staff encounters difficulties sewing the arms and lining into the wool blazers
since the blazer pattern has an awkward shape and the heavy wool material is difficult to cut
and sew. The increased labor time to sew a wool blazer increases the labor and machine cost
for each blazer by 80. Given this new cost how many of each clothing item should Trend-
Lines produce to maximize profit
f The textile wholesaler informs Katherine that since another textile customer canceled his or-
der she can obtain an extra 10000 yards of acetate. How many of each clothing item should
TrendLines now produce to maximize profit
g TrendLines assumes that it can sell every item that was not sold during September and Oc-
tober in a big sale in November at 60 percent of the original price. Therefore it can sell all
items in unlimited quantity during the November sale. The previously mentioned upper lim-
its on demand concern only the sales during September and October. What should the new
production plan be to maximize profit
CASE 4.2 NEW FRONTIERS 185
Rob Richman president of AmeriBank takes off his glasses rubs his eyes in exhaus-
tion and squints at the clock in his study. It reads 3 A.M. For the last several hours
Rob has been poring over AmeriBank’s financial statements from the last three quar-
ters of operation. AmeriBank a medium-sized bank with branches throughout the
United States is headed for dire economic straits. The bank which provides transac-
tion savings and investment and loan services has been experiencing a steady decline
in its net income over the past year and trends show that the decline will continue.
The bank is simply losing customers to nonbank and foreign bank competitors.
AmeriBank is not alone in its struggle to stay out of the red. From his daily in-
dustry readings Rob knows that many American banks have been suffering significant
losses because of increasing competition from nonbank and foreign bank competitors
offering services typically in the domain of American banks. Because the nonbank and
foreign bank competitors specialize in particular services they are able to better cap-
ture the market for those services by offering less expensive more efficient more con-
venient services. For example large corporations now turn to foreign banks and com-
mercial paper offerings for loans and affluent Americans now turn to money-market
funds for investment. Banks face the daunting challenge of distinguishing themselves
from nonbank and foreign bank competitors.
CASE 4.2 NEW FRONTIERS

slide 211:

Rob has concluded that one strategy for distinguishing AmeriBank from its com-
petitors is to improve services that nonbank and foreign bank competitors do not read-
ily provide: transaction services. He has decided that a more convenient transaction
method must logically succeed the automatic teller machine and he believes that elec-
tronic banking over the Internet allows this convenient transaction method. Over the
Internet customers are able to perform transactions on their desktop computers either
at home or at work. The explosion of the Internet means that many potential customers
understand and use the World Wide Web. He therefore feels that if AmeriBank offers
Web banking as the practice of Internet banking is commonly called the bank will
attract many new customers.
Before Rob undertakes the project to make Web banking possible however he
needs to understand the market for Web banking and the services AmeriBank should
provide over the Internet. For example should the bank only allow customers to ac-
cess account balances and historical transaction information over the Internet or should
the bank develop a strategy to allow customers to make deposits and withdrawals over
the Internet Should the bank try to recapture a portion of the investment market by
continuously running stock prices and allowing customers to make stock transactions
over the Internet for a minimal fee
Because AmeriBank is not in the business of performing surveys Rob has decided
to outsource the survey project to a professional survey company. He has opened the
project up for bidding by several survey companies and will award the project to the
company which is willing to perform the survey for the least cost.
Sophisticated Surveys is one of three survey companies competing for the project.
Rob provided each survey company with a list of survey requirements to ensure that
AmeriBank receives the needed information for planning the Web banking project.
Because different age groups require different services AmeriBank is interested
in surveying four different age groups. The first group encompasses customers who are
18 to 25 years old. The bank assumes that this age group has limited yearly income
and performs minimal transactions. The second group encompasses customers who are
26 to 40 years old. This age group has significant sources of income performs many
transactions requires numerous loans for new houses and cars and invests in various
securities. The third group encompasses customers who are 41 to 50 years old. These
customers typically have the same level of income and perform the same number of
transactions as the second age group but the bank assumes that these customers are
less likely to use Web banking since they have not become as comfortable with the ex-
plosion of computers or the Internet. Finally the fourth group encompasses customers
who are 51 years of age and over. These customers commonly crave security and re-
quire continuous information on retirement funds. The banks believes that it is highly
unlikely that customers in this age group will use Web banking but the bank desires
to learn the needs of this age group for the future. AmeriBank wants to interview 2000
customers with at least 20 percent from the first age group at least 27.5 percent from
the second age group at least 15 percent from the third age group and at least 15 per-
cent from the fourth age group.
Rob understands that the Internet is a recent phenomenon and that some customers
may not have heard of the World Wide Web. He therefore wants to ensure that the sur-
186 4 SOLVING LINEAR PROGRAMMING PROBLEMS: THE SIMPLEX METHOD

slide 212:

vey includes a mix of customers who know the Internet well and those that have less
exposure to the Internet. To ensure that AmeriBank obtains the correct mix he wants
to interview at least 15 percent of customers from the Silicon Valley where Internet use
is high at least 35 percent of customers from big cities where Internet use is medium
and at least 20 percent of customers from small towns where Internet use is low.
Sophisticated Surveys has performed an initial analysis of these survey require-
ments to determine the cost of surveying different populations. The costs per person
surveyed are listed in the following table:
CASE 4.2 NEW FRONTIERS 187
Sophisticated Surveys explores the following options cumulatively.
a Formulate a linear programming model to minimize costs while meeting all survey con-
straints imposed by AmeriBank.
b If the profit margin for Sophisticated Surveys is 15 percent of cost what bid will they
submit
c After submitting its bid Sophisticated Surveys is informed that it has the lowest cost but
that AmeriBank does not like the solution. Specifically Rob feels that the selected survey
population is not representative enough of the banking customer population. Rob wants at
least 50 people of each age group surveyed in each region. What is the new bid made by
Sophisticated Surveys
d Rob feels that Sophisticated Survey oversampled the 18- to 25-year-old population and the
Silicon Valley population. He imposes a new constraint that no more than 600 individuals
can be surveyed from the 18- to 25-year-old population and no more than 650 individuals
can be surveyed from the Silicon Valley population. What is the new bid
e When Sophisticated Surveys calculated the cost of reaching and surveying particular indi-
viduals the company thought that reaching individuals in young populations would be eas-
iest. In a recently completed survey however Sophisticated Surveys learned that this as-
sumption was wrong. The new costs for surveying the 18- to 25-year-old population are listed
below.
Age Group
Region 18 to 25 26 to 40 41 to 50 51 and over
Silicon Valley 4.75 6.50 6.50 5.00
Big cities 5.25 5.75 6.25 6.25
Small towns 6.50 7.50 7.50 7.25
Region survey cost per person
Silicon Valley 6.50
Big cities 6.75
Small towns 7.00
Given the new costs what is the new bid

slide 213:

f To ensure the desired sampling of individuals Rob imposes even stricter requirements. He
fixes the exact percentage of people that should be surveyed from each population. The re-
quirements are listed below:
188 4 SOLVING LINEAR PROGRAMMING PROBLEMS: THE SIMPLEX METHOD
Population percentage of
people surveyed
18 to 25 25
26 to 40 35
41 to 50 20
51 and over 20
Silicon Valley 20
Big cities 50
Small towns 30
By how much would these new requirements increase the cost of surveying for Sophisticated
Surveys Given the 15 percent profit margin what would Sophisticated Surveys bid
The Springfield school board has made the decision to close one of its middle schools
sixth seventh and eighth grades at the end of this school year and reassign all of
next year’s middle school students to the three remaining middle schools. The school
district provides bussing for all middle school students who must travel more than ap-
proximately a mile so the school board wants a plan for reassigning the students that
will minimize the total bussing cost. The annual cost per student of bussing from each
of the six residential areas of the city to each of the schools is shown in the following
table along with other basic data for next year where 0 indicates that bussing is not
needed and a dash indicates an infeasible assignment.
CASE 4.3 ASSIGNING STUDENTS TO SCHOOLS
Percentage Percentage Percentage
No. of in 6th in 7th in 8th
Bussing Cost per Student
Area Students Grade Grade Grade School 1 School 2 School 3
1 450 32 38 30 300 0 700
2 600 37 28 35 — 400 500
3 550 30 32 38 600 300 200
4 350 28 40 32 200 500 —
5 500 39 34 27 0 — 400
6 450 34 28 38 500 300 0
School capacity: 900 1100 1000
The school board also has imposed the restriction that each grade must constitute
between 30 and 36 percent of each school’s population. The above table shows the per-
centage of each area’s middle school population for next year that falls into each of

slide 214:

the three grades. The school attendance zone boundaries can be drawn so as to split
any given area among more than one school but assume that the percentages shown
in the table will continue to hold for any partial assignment of an area to a school.
You have been hired as an operations research consultant to assist the school board
in determining how many students in each area should be assigned to each school.
a Formulate a linear programming model for this problem.
b Solve the model.
c What is your resulting recommendation to the school board
After seeing your recommendation the school board expresses concern about all
the splitting of residential areas among multiple schools. They indicate that they “would
like to keep each neighborhood together.”
d Adjust your recommendation as well as you can to enable each area to be assigned to just
one school. Adding this restriction may force you to fudge on some other constraints. How
much does this increase the total bussing cost This line of analysis will be pursued more
rigorously in Case 12.4.
The school board is considering eliminating some bussing to reduce costs. Option
1 is to eliminate bussing only for students traveling 1 to 1.5 miles where the cost per
student is given in the table as 200. Option 2 is to also eliminate bussing for students
traveling 1.5 to 2 miles where the estimated cost per student is 300.
e Revise the model from part a to fit Option 1 and solve. Compare these results with those
from part c including the reduction in total bussing cost.
f Repeat part e for Option 2.
The school board now needs to choose among the three alternative bussing plans
the current one or Option 1 or Option 2. One important factor is bussing costs. How-
ever the school board also wants to place equal weight on a second factor: the incon-
venience and safety problems caused by forcing students to travel by foot or bicycle a
substantial distance more than a mile and especially more than 1.5 miles. Therefore
they want to choose a plan that provides the best trade-off between these two factors.
g Use your results from parts c e and f to summarize the key information related to
these two factors that the school board needs to make this decision.
h Which decision do you think should be made Why
Note: This case will be continued in later chapters Cases 6.3 and 12.4 so we
suggest that you save your analysis including your basic model.
CASE 4.3 ASSIGNING STUDENTS TO SCHOOLS 189

slide 215:

190
5
The Theory of the
Simplex Method
Chapter 4 introduced the basic mechanics of the simplex method. Now we shall delve a
little more deeply into this algorithm by examining some of its underlying theory. The
first section further develops the general geometric and algebraic properties that form the
foundation of the simplex method. We then describe the matrix form of the simplex method
called the revised simplex method which streamlines the procedure considerably for
computer implementation. Next we present a fundamental insight about a property of the
simplex method that enables us to deduce how changes that are made in the original model
get carried along to the final simplex tableau. This insight will provide the key to the im-
portant topics of Chap. 6 duality theory and sensitivity analysis.
Section 4.1 introduced corner-point feasible CPF solutions and the key role they play
in the simplex method. These geometric concepts were related to the algebra of the sim-
plex method in Secs. 4.2 and 4.3. However all this was done in the context of the Wyn-
dor Glass Co. problem which has only two decision variables and so has a straightfor-
ward geometric interpretation. How do these concepts generalize to higher dimensions
when we deal with larger problems We address this question in this section.
We begin by introducing some basic terminology for any linear programming prob-
lem with n decision variables. While we are doing this you may find it helpful to refer to
Fig. 5.1 which repeats Fig. 4.1 to interpret these definitions in two dimensions n 2.
Terminology
It may seem intuitively clear that optimal solutions for any linear programming problem
must lie on the boundary of the feasible region and in fact this is a general property. Be-
cause boundary is a geometric concept our initial definitions clarify how the boundary of
the feasible region is identified algebraically.
The constraint boundary equation for any constraint is obtained by replacing its
or sign by an sign.
Consequently the form of a constraint boundary equation is a
i1
x
1
a
i2
x
2
a
in
x
n
b
i
for functional constraints and x
j
0 for nonnegativity constraints. Each such
5.1 FOUNDATIONS OF THE SIMPLEX METHOD

slide 216:

equation defines a “flat” geometric shape called a hyperplane in n-dimensional space
analogous to the line in two-dimensional space and the plane in three-dimensional space.
This hyperplane forms the constraint boundary for the corresponding constraint. When
the constraint has either a or a sign this constraint boundary separates the points
that satisfy the constraint all the points on one side up to and including the constraint
boundary from the points that violate the constraint all those on the other side of the
constraint boundary. When the constraint has an sign only the points on the constraint
boundary satisfy the constraint.
For example the Wyndor Glass Co. problem has five constraints three functional
constraints and two nonnegativity constraints so it has the five constraint boundary equa-
tions shown in Fig. 5.1. Because n 2 the hyperplanes defined by these constraint bound-
ary equations are simply lines. Therefore the constraint boundaries for the five constraints
are the five lines shown in Fig. 5.1.
The boundary of the feasible region contains just those feasible solutions that satisfy one
or more of the constraint boundary equations.
Geometrically any point on the boundary of the feasible region lies on one or more
of the hyperplanes defined by the respective constraint boundary equations. Thus in Fig.
5.1 the boundary consists of the five darker line segments.
Next we give a general definition of CPF solution in n-dimensional space.
A corner-point feasible CPF solution is a feasible solution that does not lie on any
line segment
1
connecting two other feasible solutions.
5.1 FOUNDATIONS OF THE SIMPLEX METHOD 191
6 0 4 0
0 6
0 9
2 6
4 3
0 0
Feasible
region
x
1
0
3x
1
2x
2
18
x
2
0
x
1
4
2x
2
12
Maximize Z 3x
1
5x
2
subject to
x
1
4
12
18
2x
2
3x
2
2x
1
x
1
0 0 x
2
and
4 6
FIGURE 5.1
Constraint boundaries
constraint boundary
equations and corner-point
solutions for the Wyndor
Glass Co. problem.
1
An algebraic expression for a line segment is given in Appendix 2.

slide 217:

As this definition implies a feasible solution that does lie on a line segment connecting
two other feasible solutions is not a CPF solution. To illustrate when n 2 consider Fig.
5.1. The point 2 3 is not a CPF solution because it lies on various such line segments
e.g. the line segment connecting 0 3 and 4 3. Similarly 0 3 is not a CPF solution
because it lies on the line segment connecting 0 0 and 0 6. However 0 0 is a CPF
solution because it is impossible to find two other feasible solutions that lie on com-
pletely opposite sides of 0 0. Try it.
When the number of decision variables n is greater than 2 or 3 this definition for
CPF solution is not a very convenient one for identifying such solutions. Therefore it will
prove most helpful to interpret these solutions algebraically. For the Wyndor Glass Co.
example each CPF solution in Fig. 5.1 lies at the intersection of two n 2 constraint
lines i.e. it is the simultaneous solution of a system of two constraint boundary equa-
tions. This situation is summarized in Table 5.1 where defining equations refer to the
constraint boundary equations that yield define the indicated CPF solution.
For any linear programming problem with n decision variables each CPF solution lies at
the intersection of n constraint boundaries i.e. it is the simultaneous solution of a sys-
tem of n constraint boundary equations.
However this is not to say that every set of n constraint boundary equations chosen
from the n m constraints n nonnegativity and m functional constraints yields a CPF
solution. In particular the simultaneous solution of such a system of equations might vi-
olate one or more of the other m constraints not chosen in which case it is a corner-point
infeasible solution. The example has three such solutions as summarized in Table 5.2.
Check to see why they are infeasible.
Furthermore a system of n constraint boundary equations might have no solution at
all. This occurs twice in the example with the pairs of equations 1 x
1
0 and x
1
4
and 2 x
2
0 and 2x
2
12. Such systems are of no interest to us.
The final possibility which never occurs in the example is that a system of n constraint
boundary equations has multiple solutions because of redundant equations. You need not be
concerned with this case either because the simplex method circumvents its difficulties.
192 5 THE THEORY OF THE SIMPLEX METHOD
TABLE 5.1 Defining equations for each
CPF solution for the
Wyndor Glass Co. problem
CPF Solution Defining Equations
0 0 x
1
0
x
2
0
0 6 x
1
0
2x
2
12
2 6 2x
2
12
3x
1
2x
2
18
4 3 3x
1
2x
2
18
x
1
4
4 0 x
1
4
x
2
0

slide 218:

To summarize for the example with five constraints and two variables there are 10
pairs of constraint boundary equations. Five of these pairs became defining equations for
CPF solutions Table 5.1 three became defining equations for corner-point infeasible so-
lutions Table 5.2 and each of the final two pairs had no solution.
Adjacent CPF Solutions
Section 4.1 introduced adjacent CPF solutions and their role in solving linear program-
ming problems. We now elaborate.
Recall from Chap. 4 that when we ignore slack surplus and artificial variables each
iteration of the simplex method moves from the current CPF solution to an adjacent one.
What is the path followed in this process What really is meant by adjacent CPF solu-
tion First we address these questions from a geometric viewpoint and then we turn to
algebraic interpretations.
These questions are easy to answer when n 2. In this case the boundary of the fea-
sible region consists of several connected line segments forming a polygon as shown in
Fig. 5.1 by the five darker line segments. These line segments are the edges of the feasi-
ble region. Emanating from each CPF solution are two such edges leading to an adjacent
CPF solution at the other end. Note in Fig. 5.1 how each CPF solution has two adjacent
ones. The path followed in an iteration is to move along one of these edges from one end
to the other. In Fig. 5.1 the first iteration involves moving along the edge from 0 0 to
0 6 and then the next iteration moves along the edge from 0 6 to 2 6. As Table 5.1
illustrates each of these moves to an adjacent CPF solution involves just one change in
the set of defining equations constraint boundaries on which the solution lies.
When n 3 the answers are slightly more complicated. To help you visualize what is
going on Fig. 5.2 shows a three-dimensional drawing of a typical feasible region when n 3 where the dots are the CPF solutions. This feasible region is a polyhedron rather than the
polygon we had with n 2 Fig. 5.1 because the constraint boundaries now are planes rather
than lines. The faces of the polyhedron form the boundary of the feasible region where each
face is the portion of a constraint boundary that satisfies the other constraints as well. Note
that each CPF solution lies at the intersection of three constraint boundaries sometimes in-
cluding some of the x
1
0 x
2
0 and x
3
0 constraint boundaries for the nonnegativity
5.1 FOUNDATIONS OF THE SIMPLEX METHOD 193
TABLE 5.2 Defining equations for each
corner-point infeasible
solution for the Wyndor
Glass Co. problem
Corner-Point Defining
Infeasible Solution Equations
0 9 x
1
0
3x
1
2x
2
18
4 6 2x
2
12
x
1
4
6 0 3x
1
2x
2
18
x
2
0

slide 219:

constraints and the solution also satisfies the other constraints. Such intersections that do not
satisfy one or more of the other constraints yield corner-point infeasible solutions instead.
The darker line segment in Fig. 5.2 depicts the path of the simplex method on a typ-
ical iteration. The point 2 4 3 is the current CPF solution to begin the iteration and
the point 4 2 4 will be the new CPF solution at the end of the iteration. The point
2 4 3 lies at the intersection of the x
2
4 x
1
x
2
6 and x
1
2x
3
4 constraint
boundaries so these three equations are the defining equations for this CPF solution. If
the x
2
4 defining equation were removed the intersection of the other two constraint
boundaries planes would form a line. One segment of this line shown as the dark line
segment from 2 4 3 to 4 2 4 in Fig. 5.2 lies on the boundary of the feasible region
whereas the rest of the line is infeasible. This line segment is an edge of the feasible re-
gion and its endpoints 2 4 3 and 4 2 4 are adjacent CPF solutions.
For n 3 all the edges of the feasible region are formed in this way as the feasible
segment of the line lying at the intersection of two constraint boundaries and the two end-
points of an edge are adjacent CPF solutions. In Fig. 5.2 there are 15 edges of the feasi-
ble region and so there are 15 pairs of adjacent CPF solutions. For the current CPF so-
lution 2 4 3 there are three ways to remove one of its three defining equations to obtain
an intersection of the other two constraint boundaries so there are three edges emanating
from 2 4 3. These edges lead to 4 2 4 0 4 2 and 2 4 0 so these are the CPF
solutions that are adjacent to 2 4 3.
For the next iteration the simplex method chooses one of these three edges say the
darker line segment in Fig. 5.2 and then moves along this edge away from 2 4 3 un-
til it reaches the first new constraint boundary x
1
4 at its other endpoint. We cannot
continue farther along this line to the next constraint boundary x
2
0 because this leads
194 5 THE THEORY OF THE SIMPLEX METHOD
4 0 4
4 2 4
4 0 0
4 2 0
2 4 0
0 4 0
x
2
x
1
x
3
0 4 2
0 0 2
0 0 0
Constraints
x
1
4
x
2
4
x
1
x
2
6
x
1
2x
3
4
x
1
0 x
2
0 x
3
0
2 4 3
FIGURE 5.2
Feasible region and CPF
solutions for a three-variable
linear programming
problem.

slide 220:

to a corner-point infeasible solution—6 0 5. The intersection of this first new con-
straint boundary with the two constraint boundaries forming the edge yields the new CPF
solution 4 2 4.
When n 3 these same concepts generalize to higher dimensions except the con-
straint boundaries now are hyperplanes instead of planes. Let us summarize.
Consider any linear programming problem with n decision variables and a bounded fea-
sible region. A CPF solution lies at the intersection of n constraint boundaries and satis-
fies the other constraints as well. An edge of the feasible region is a feasible line seg-
ment that lies at the intersection of n 1 constraint boundaries where each endpoint lies
on one additional constraint boundary so that these endpoints are CPF solutions. Two
CPF solutions are adjacent if the line segment connecting them is an edge of the feasi-
ble region. Emanating from each CPF solution are n such edges each one leading to one
of the n adjacent CPF solutions. Each iteration of the simplex method moves from the
current CPF solution to an adjacent one by moving along one of these n edges.
When you shift from a geometric viewpoint to an algebraic one intersection of con-
straint boundaries changes to simultaneous solution of constraint boundary equations.
The n constraint boundary equations yielding defining a CPF solution are its defining
equations where deleting one of these equations yields a line whose feasible segment is
an edge of the feasible region.
We next analyze some key properties of CPF solutions and then describe the implica-
tions of all these concepts for interpreting the simplex method. However while the above
summary is fresh in your mind let us give you a preview of its implications. When the sim-
plex method chooses an entering basic variable the geometric interpretation is that it is
choosing one of the edges emanating from the current CPF solution to move along. In-
creasing this variable from zero and simultaneously changing the values of the other basic
variables accordingly corresponds to moving along this edge. Having one of the basic vari-
ables the leaving basic variable decrease so far that it reaches zero corresponds to reach-
ing the first new constraint boundary at the other end of this edge of the feasible region.
Properties of CPF Solutions
We now focus on three key properties of CPF solutions that hold for any linear pro-
gramming problem that has feasible solutions and a bounded feasible region.
Property 1: a If there is exactly one optimal solution then it must be a CPF
solution. b If there are multiple optimal solutions and a bounded feasible re-
gion then at least two must be adjacent CPF solutions.
Property 1 is a rather intuitive one from a geometric viewpoint. First consider Case
a which is illustrated by the Wyndor Glass Co. problem see Fig. 5.1 where the one
optimal solution 2 6 is indeed a CPF solution. Note that there is nothing special about
this example that led to this result. For any problem having just one optimal solution it
always is possible to keep raising the objective function line hyperplane until it just
touches one point the optimal solution at a corner of the feasible region.
We now give an algebraic proof for this case.
Proof of Case a of Property 1: We set up a proof by contradiction by assum-
ing that there is exactly one optimal solution and that it is not a CPF solution.
5.1 FOUNDATIONS OF THE SIMPLEX METHOD 195

slide 221:

We then show below that this assumption leads to a contradiction and so cannot
be true. The solution assumed to be optimal will be denoted by x and its ob-
jective function value by Z.
Recall the definition of CPF solution a feasible solution that does not lie
on any line segment connecting two other feasible solutions. Since we have as-
sumed that the optimal solution x is not a CPF solution this implies that there
must be two other feasible solutions such that the line segment connecting them
contains the optimal solution. Let the vectors x and x denote these two other
feasible solutions and let Z
1
and Z
2
denote their respective objective function
values. Like each other point on the line segment connecting x and x
x x 1 x for some value of such that 0 1. Thus
Z Z
2
1 Z
1
.
Since the weights and 1 add to 1 the only possibilities for how Z Z
1
and Z
2
compare are 1 Z Z
1
Z
2
2 Z
1
Z Z
2
and 3 Z
1
Z Z
2
.
The first possibility implies that x and x also are optimal which contradicts
the assumption that there is exactly one optimal solution. Both the latter possi-
bilities contradict the assumption that x not a CPF solution is optimal. The re-
sulting conclusion is that it is impossible to have a single optimal solution that
is not a CPF solution.
Now consider Case b which was demonstrated in Sec. 3.2 under the definition of
optimal solution by changing the objective function in the example to Z 3x
1
2x
2
see
Fig. 3.5 on page 35. What then happens when you are solving graphically is that the ob-
jective function line keeps getting raised until it contains the line segment connecting the
two CPF solutions 2 6 and 4 3. The same thing would happen in higher dimensions
except that an objective function hyperplane would keep getting raised until it contained
the line segments connecting two or more adjacent CPF solutions. As a consequence
all optimal solutions can be obtained as weighted averages of optimal CPF solutions. This
situation is described further in Probs. 4.5-5 and 4.5-6.
The real significance of Property 1 is that it greatly simplifies the search for an op-
timal solution because now only CPF solutions need to be considered. The magnitude of
this simplification is emphasized in Property 2.
Property 2: There are only a finite number of CPF solutions.
This property certainly holds in Figs. 5.1 and 5.2 where there are just 5 and 10 CPF
solutions respectively. To see why the number is finite in general recall that each CPF so-
lution is the simultaneous solution of a system of n out of the m n constraint boundary
equations. The number of different combinations of m n equations taken n at a time is
which is a finite number. This number in turn in an upper bound on the number of CPF
solutions. In Fig. 5.1 m 3 and n 2 so there are 10 different systems of two equa-
m n
mn
m n
n
196 5 THE THEORY OF THE SIMPLEX METHOD

slide 222:

tions but only half of them yield CPF solutions. In Fig. 5.2 m 4 and n 3 which
gives 35 different systems of three equations but only 10 yield CPF solutions.
Property 2 suggests that in principle an optimal solution can be obtained by exhaus-
tive enumeration i.e. find and compare all the finite number of CPF solutions. Unfortu-
nately there are finite numbers and then there are finite numbers that for all practical pur-
poses might as well be infinite. For example a rather small linear programming problem
with only m 50 and n 50 would have 100/50
2
10
29
systems of equations to be
solved By contrast the simplex method would need to examine only approximately 100
CPF solutions for a problem of this size. This tremendous savings can be obtained because
of the optimality test given in Sec. 4.1 and restated here as Property 3.
Property 3: If a CPF solution has no adjacent CPF solutions that are better as
measured by Z then there are no better CPF solutions anywhere. Therefore
such a CPF solution is guaranteed to be an optimal solution by Property 1 as-
suming only that the problem possesses at least one optimal solution guaranteed
if the problem possesses feasible solutions and a bounded feasible region.
To illustrate Property 3 consider Fig. 5.1 for the Wyndor Glass Co. example. For the
CPF solution 2 6 its adjacent CPF solutions are 0 6 and 4 3 and neither has a bet-
ter value of Z than 2 6 does. This outcome implies that none of the other CPF solu-
tions—0 0 and 4 0—can be better than 2 6 so 2 6 must be optimal.
By contrast Fig. 5.3 shows a feasible region that can never occur for a linear pro-
gramming problem but that does violate Property 3. The problem shown is identical to
the Wyndor Glass Co. example including the same objective function except for the en-
5.1 FOUNDATIONS OF THE SIMPLEX METHOD 197
x
1 24
2
4
6
x
2
0 0
0 6 2 6
4 5
4 0
8
3
5
Z 36 3x
1
5x
2
FIGURE 5.3
Modification of the Wyndor
Glass Co. problem that
violates both linear
programming and Property 3
for CPF solutions in linear
programming.

slide 223:

largement of the feasible region to the right of
8
3
5. Consequently the adjacent CPF so-
lutions for 2 6 now are 0 6 and
8
3
5 and again neither is better than 2 6. How-
ever another CPF solution 4 5 now is better than 2 6 thereby violating Property 3.
The reason is that the boundary of the feasible region goes down from 2 6 to
8
3
5 and
then “bends outward” to 4 5 beyond the objective function line passing through 2 6.
The key point is that the kind of situation illustrated in Fig. 5.3 can never occur in
linear programming. The feasible region in Fig. 5.3 implies that the 2x
2
12 and 3x
1
2x
2
18 constraints apply for 0 x
1
8
3
. However under the condition that
8
3
x
1
4
the 3x
1
2x
2
18 constraint is dropped and replaced by x
2
5. Such “conditional con-
straints” just are not allowed in linear programming.
The basic reason that Property 3 holds for any linear programming problem is that
the feasible region always has the property of being a convex set as defined in Appendix
2 and illustrated in several figures there. For two-variable linear programming problems
this convex property means that the angle inside the feasible region at every CPF solu-
tion is less than 180°. This property is illustrated in Fig. 5.1 where the angles at 0 0
0 6 and 4 0 are 90° and those at 2 6 and 4 3 are between 90° and 180°. By con-
trast the feasible region in Fig. 5.3 is not a convex set because the angle at
8
3
5 is more
than 180°. This is the kind of “bending outward” at an angle greater than 180° that can
never occur in linear programming. In higher dimensions the same intuitive notion of
“never bending outward” continues to apply.
To clarify the significance of a convex feasible region consider the objective func-
tion hyperplane that passes through a CPF solution that has no adjacent CPF solutions
that are better. In the original Wyndor Glass Co. example this hyperplane is the objec-
tive function line passing through 2 6. All these adjacent solutions 0 6 and 4 3 in
the example must lie either on the hyperplane or on the unfavorable side as measured
by Z of the hyperplane. The feasible region being convex means that its boundary can-
not “bend outward” beyond an adjacent CPF solution to give another CPF solution that
lies on the favorable side of the hyperplane. So Property 3 holds.
Extensions to the Augmented Form of the Problem
For any linear programming problem in our standard form including functional constraints
in form the appearance of the functional constraints after slack variables are intro-
duced is as follows:
1 a
11
x
1
a
12
x
2
a
1n
x
n
x
n 1
b
1
2 a
21
x
1
a
22
x
2
a
2n
x
n
x
n 2
b
2
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
m a
m1
x
1
a
m2
x
2
a
mn
x
n
x
n m
b
m
where x
n 1
x
n 2
. . . x
n m
are the slack variables. For other linear programming prob-
lems Sec. 4.6 described how essentially this same appearance proper form from Gauss-
ian elimination can be obtained by introducing artificial variables etc. Thus the origi-
nal solutions x
1
x
2
. . . x
n
now are augmented by the corresponding values of the
slack or artificial variables x
n 1
x
n 2
. . . x
n m
and perhaps some surplus variables
as well. This augmentation led in Sec. 4.2 to defining basic solutions as augmented cor-
ner-point solutions and basic feasible solutions BF solutions as augmented CPF so-
198 5 THE THEORY OF THE SIMPLEX METHOD

slide 224:

lutions. Consequently the preceding three properties of CPF solutions also hold for BF
solutions.
Now let us clarify the algebraic relationships between basic solutions and corner-point
solutions. Recall that each corner-point solution is the simultaneous solution of a system
of n constraint boundary equations which we called its defining equations. The key ques-
tion is: How do we tell whether a particular constraint boundary equation is one of the
defining equations when the problem is in augmented form The answer fortunately is
a simple one. Each constraint has an indicating variable that completely indicates by
whether its value is zero whether that constraint’s boundary equation is satisfied by the
current solution. A summary appears in Table 5.3. For the type of constraint in each row
of the table note that the corresponding constraint boundary equation fourth column is
satisfied if and only if this constraint’s indicating variable fifth column equals zero. In
the last row functional constraint in form the indicating variable x
n i
x
s
i
actually
is the difference between the artificial variable x
n i
and the surplus variable x
s
i
.
Thus whenever a constraint boundary equation is one of the defining equations for
a corner-point solution its indicating variable has a value of zero in the augmented form
of the problem. Each such indicating variable is called a nonbasic variable for the corre-
sponding basic solution. The resulting conclusions and terminology already introduced
in Sec. 4.2 are summarized next.
Each basic solution has m basic variables and the rest of the variables are nonbasic vari-
ables set equal to zero. The number of nonbasic variables equals n plus the number of
surplus variables. The values of the basic variables are given by the simultaneous solu-
tion of the system of m equations for the problem in augmented form after the nonbasic
variables are set to zero. This basic solution is the augmented corner-point solution whose
n defining equations are those indicated by the nonbasic variables. In particular whenever
an indicating variable in the fifth column of Table 5.3 is a nonbasic variable the constraint
boundary equation in the fourth column is a defining equation for the corner-point solu-
tion. For functional constraints in form at least one of the two supplementary variables
x
n i
and x
s i
always is a nonbasic variable but the constraint boundary equation becomes a
defining equation only if both of these variables are nonbasic variables.
5.1 FOUNDATIONS OF THE SIMPLEX METHOD 199
TABLE 5.3 Indicating variables for constraint boundary equations
Constraint
Type of Form of Constraint in Boundary Indicating
Constraint Constraint Augmented Form Equation Variable
Nonnegativity x
j
0 x
j
0 x
j
0 x
j
Functional
n
j 1
a
ij
x
j
b
i n
j 1
a
ij
x
j
x
n i
b
i n
j 1
a
ij
x
j
b
i
x
n i
Functional
n
j 1
a
ij
x
j
b
i n
j 1
a
ij
x
j
x
n i
b
i n
j 1
a
ij
x
j
b
i
x
n i
Functional
n
j 1
a
ij
x
j
b
i n
j 1
a
ij
x
j
x
n i
x
s i
b
i n
j 1
a
ij
x
j
b
i
x
n i
x
s i
Indicating variable 0 ⇒ constraint boundary equation satisfied
indicating variable 0 ⇒ constraint boundary equation violated.

slide 225:

Now consider the basic feasible solutions. Note that the only requirements for a so-
lution to be feasible in the augmented form of the problem are that it satisfy the system
of equations and that all the variables be nonnegative.
A BF solution is a basic solution where all m basic variables are nonnegative 0. A
BF solution is said to be degenerate if any of these m variables equals zero.
Thus it is possible for a variable to be zero and still not be a nonbasic variable for the
current BF solution. This case corresponds to a CPF solution that satisfies another con-
straint boundary equation in addition to its n defining equations. Therefore it is neces-
sary to keep track of which is the current set of nonbasic variables or the current set of
basic variables rather than to rely upon their zero values.
We noted earlier that not every system of n constraint boundary equations yields a
corner-point solution because either the system has no solution or it has multiple solu-
tions. For analogous reasons not every set of n nonbasic variables yields a basic solution.
However these cases are avoided by the simplex method.
To illustrate these definitions consider the Wyndor Glass Co. example once more. Its
constraint boundary equations and indicating variables are shown in Table 5.4.
Augmenting each of the CPF solutions see Table 5.1 yields the BF solutions listed
in Table 5.5. This table places adjacent BF solutions next to each other except for the pair
consisting of the first and last solutions listed. Notice that in each case the nonbasic vari-
ables necessarily are the indicating variables for the defining equations. Thus adjacent
BF solutions differ by having just one different nonbasic variable. Also notice that each
BF solution is the simultaneous solution of the system of equations for the problem in
augmented form see Table 5.4 when the nonbasic variables are set equal to zero.
Similarly the three corner-point infeasible solutions see Table 5.2 yield the three
basic infeasible solutions shown in Table 5.6.
The other two sets of nonbasic variables 1 x
1
and x
3
and 2 x
2
and x
4
do not yield
a basic solution because setting either pair of variables equal to zero leads to having no
solution for the system of Eqs. 1 to 3 given in Table 5.4. This conclusion parallels the
observation we made early in this section that the corresponding sets of constraint bound-
ary equations do not yield a solution.
200 5 THE THEORY OF THE SIMPLEX METHOD
TABLE 5.4 Indicating variables for the constraint boundary equations of the
Wyndor Glass Co. problem
Constraint in Constraint Boundary Indicating
Constraint Augmented Form Equation Variable
x
1
0 x
1
0 x
1
0 x
1
x
2
0 x
2
0 x
2
0 x
2
x
1
4 1 2x
1
2x
2
x
3
x
3
x
3
24 x
1
4 x
3
2x
2
12 2 3x
1
2x
2
x
3
x
4
x
3
12 2x
2
12 x
4
3x
1
x
2
18 3 3x
1
2x
2
x
3
x
3
x
5
18 3x
1
2x
2
18 x
5
Indicating variable 0 ⇒ constraint boundary equation satisfied
indicating variable 0 ⇒ constraint boundary equation violated.

slide 226:

The simplex method starts at a BF solution and then iteratively moves to a better ad-
jacent BF solution until an optimal solution is reached. At each iteration how is the ad-
jacent BF solution reached
For the original form of the problem recall that an adjacent CPF solution is reached
from the current one by 1 deleting one constraint boundary defining equation from the
set of n constraint boundaries defining the current solution 2 moving away from the
current solution in the feasible direction along the intersection of the remaining n 1
constraint boundaries an edge of the feasible region and 3 stopping when the first new
constraint boundary defining equation is reached.
Equivalently in our new terminology the simplex method reaches an adjacent BF so-
lution from the current one by 1 deleting one variable the entering basic variable from
the set of n nonbasic variables defining the current solution 2 moving away from the
current solution by increasing this one variable from zero and adjusting the other basic
variables to still satisfy the system of equations while keeping the remaining n 1 non-
basic variables at zero and 3 stopping when the first of the basic variables the leaving
basic variable reaches a value of zero its constraint boundary. With either interpreta-
tion the choice among the n alternatives in step 1 is made by selecting the one that would
give the best rate of improvement in Z per unit increase in the entering basic variable
during step 2.
5.1 FOUNDATIONS OF THE SIMPLEX METHOD 201
TABLE 5.5 BF solutions for the Wyndor Glass Co. problem
Defining Nonbasic
CPF Solution Equations BF Solution Variables
0 0 x
1
0 0 0 4 12 18 x
1
x
2
0 x
2
0 6 x
1
0 0 6 4 0 6 x
1
2x
2
12 x
4
2 6 2x
2
12 2 6 2 0 0 x
4
3x
1
2x
2
18 x
5
4 3 3x
1
2x
2
18 4 3 0 6 0 x
5
x
1
4 x
3
4 0 x
1
4 4 0 0 12 6 x
3
x
2
0 x
2
TABLE 5.6 Basic infeasible solutions for the Wyndor Glass Co. problem
Corner-Point Defining Basic Infeasible Nonbasic
Infeasible Solution Equations Solution Variables
0 9 x
1
0 0 9 4 6 0 x
1
3x
1
2x
2
18 x
5
4 6 2x
2
12 4 6 0 0 6 x
4
x
1
4 x
3
6 0 3x
1
2x
2
18 6 0 2 12 0 x
5
x
2
0 x
2

slide 227:

Table 5.7 illustrates the close correspondence between these geometric and algebraic
interpretations of the simplex method. Using the results already presented in Secs. 4.3 and
4.4 the fourth column summarizes the sequence of BF solutions found for the Wyndor
Glass Co. problem and the second column shows the corresponding CPF solutions. In the
third column note how each iteration results in deleting one constraint boundary defining
equation and substituting a new one to obtain the new CPF solution. Similarly note in the
fifth column how each iteration results in deleting one nonbasic variable and substituting
a new one to obtain the new BF solution. Furthermore the nonbasic variables being deleted
and added are the indicating variables for the defining equations being deleted and added
in the third column. The last column displays the initial system of equations excluding
Eq. 0 for the augmented form of the problem with the current basic variables shown in
bold type. In each case note how setting the nonbasic variables equal to zero and then
solving this system of equations for the basic variables must yield the same solution for
x
1
x
2
as the corresponding pair of defining equations in the third column.
202 5 THE THEORY OF THE SIMPLEX METHOD
TABLE 5.7 Sequence of solutions obtained by the simplex method for the
Wyndor Glass Co. problem
CPF Defining Nonbasic Functional Constraints
Iteration Solution Equations BF Solution Variables in Augmented Form
0 0 0 x
1
0 0 0 4 12 18 x
1
0 x
1
2x
2
x
3
4
x
2
0 x
2
02x
2
x
4
12
3x
1
2x
2
x
5
18
1 0 6 x
1
0 0 6 4 0 6 x
1
0 x
1
2x
2
x
3
4
2x
2
12 x
4
02x
2
x
4
12
3x
1
2x
2
x
5
18
2 2 6 2x
2
12 2 6 2 0 0 x
4
0 x
1
2x
2
x
3
4
3x
1
2x
2
18 x
5
02x
2
x
4
12
3x
1
2x
2
x
5
18
The simplex method as described in Chap. 4 hereafter called the original simplex method
is a straightforward algebraic procedure. However this way of executing the algorithm
in either algebraic or tabular form is not the most efficient computational procedure for
computers because it computes and stores many numbers that are not needed at the cur-
rent iteration and that may not even become relevant for decision making at subsequent
iterations. The only pieces of information relevant at each iteration are the coefficients of
the nonbasic variables in Eq. 0 the coefficients of the entering basic variable in the other
equations and the right-hand sides of the equations. It would be very useful to have a
procedure that could obtain this information efficiently without computing and storing all
the other coefficients.
As mentioned in Sec. 4.8 these considerations motivated the development of the re-
vised simplex method. This method was designed to accomplish exactly the same things
as the original simplex method but in a way that is more efficient for execution on a com-
puter. Thus it is a streamlined version of the original procedure. It computes and stores
5.2 THE REVISED SIMPLEX METHOD

slide 228:

………………………
only the information that is currently needed and it carries along the essential data in a
more compact form.
The revised simplex method explicitly uses matrix manipulations so it is necessary
to describe the problem in matrix notation. See Appendix 4 for a review of matrices. To
help you distinguish between matrices vectors and scalars we consistently use BOLD-
FACE CAPITAL letters to represent matrices boldface lowercase letters to represent
vectors and italicized letters in ordinary print to represent scalars. We also use a boldface
zero 0 to denote a null vector a vector whose elements all are zero in either column
or row form which one should be clear from the context whereas a zero in ordinary
print 0 continues to represent the number zero.
Using matrices our standard form for the general linear programming model given
in Sec. 3.2 becomes
where c is the row vector
c c
1
c
2
. . . c
n
x b and 0 are the column vectors such that
x b 0
and A is the matrix
A .
To obtain the augmented form of the problem introduce the column vector of slack
variables
x
s
so that the constraints become
A I
b and
0
x
x
s
x
x
s
x
n 1
x
n 2
x
n m
a
1n
a
2n
a
mn
…
…
…
a
12
a
22
a
m2
a
11
a
21
a
m1
0
0
0
b
1
b
2
b
m
x
1
x
2
x
n
Maximize Z cx
subject to
Ax b and x 0
5.2 THE REVISED SIMPLEX METHOD 203

slide 229:

…………………………
where I is the m m identity matrix and the null vector 0 now has n m elements. We
comment at the end of the section about how to deal with problems that are not in our
standard form.
Solving for a Basic Feasible Solution
Recall that the general approach of the simplex method is to obtain a sequence of im-
proving BF solutions until an optimal solution is reached. One of the key features of the
revised simplex method involves the way in which it solves for each new BF solution af-
ter identifying its basic and nonbasic variables. Given these variables the resulting basic
solution is the solution of the m equations
A I
b
in which the n nonbasic variables from the n m elements of
are set equal to zero. Eliminating these n variables by equating them to zero leaves a
set of m equations in m unknowns the basic variables. This set of equations can be de-
noted by
Bx
B
b
where the vector of basic variables
x
B
is obtained by eliminating the nonbasic variables from
and the basis matrix
B is obtained by eliminating the columns corresponding to coefficients of nonbasic variables
from A I. In addition the elements of x
B
and therefore the columns of B may be
placed in a different order when the simplex method is executed.
The simplex method introduces only basic variables such that B is nonsingular so
that B
1
always will exist. Therefore to solve Bx
B
b both sides are premultiplied
by B
1
:
B
1
Bx
B
B
1
b.
B
1m
B
2m
B
mm
…
…
…
B
12
B
22
B
m2
B
11
B
21
B
m1
x
x
s
x
B1
x
B2
x
Bm
x
x
s
x
x
s
204 5 THE THEORY OF THE SIMPLEX METHOD

slide 230:

Since B
1
B I the desired solution for the basic variables is
Let c
B
be the vector whose elements are the objective function coefficients including ze-
ros for slack variables for the corresponding elements of x
B
. The value of the objective
function for this basic solution is then
Example. To illustrate this method of solving for a BF solution consider again the
Wyndor Glass Co. problem presented in Sec. 3.1 and solved by the original simplex method
in Table 4.8. In this case
c 3 5 A I b x
x
s
.
Referring to Table 4.8 we see that the sequence of BF solutions obtained by the simplex
method original or revised is the following:
Iteration 0
x
B
B B
1
so
c
B
0 0 0 so Z 0 0 0 0.
Iteration 1
x
B
B B
1
so
c
B
0 5 0 so Z 0 5 0 30.
4
6
6
4
6
6
4
12
18
0
0
1
0
1
2
1
1
0
0
x
3
x
2
x
5
0
0
1
0
1
2
1
1
0
0
0
0
1
0
2
2
1
0
0
x
3
x
2
x
5
4
12
18
4
12
18
4
12
18
0
0
1
0
1
0
1
0
0
x
3
x
4
x
5
0
0
1
0
1
0
1
0
0
x
3
x
4
x
5
x
3
x
4
x
5
x
1
x
2
4
12
18
0
0
1
0
1
0
1
0
0
0
2
2
1
0
3
Z c
B
x
B
c
B
B
1
b.
x
B
B
1
b.
5.2 THE REVISED SIMPLEX METHOD 205

slide 231:

Iteration 2
x
B
B B
1
so
c
B
0 5 3 so Z 0 5 3 36.
Matrix Form of the Current Set of Equations
The last preliminary before we summarize the revised simplex method is to show the ma-
trix form of the set of equations appearing in the simplex tableau for any iteration of the
original simplex method.
For the original set of equations the matrix form is
.
This set of equations also is exhibited in the first simplex tableau of Table 5.8.
The algebraic operations performed by the simplex method multiply an equation by
a constant and add a multiple of one equation to another equation are expressed in ma-
0
b
Z
x
x
s
0
I
c
A
1
0
2
6
2
2
6
2
4
12
18
1
3
0
1
3
1
3
1
2
1
3
1
0
0
x
3
x
2
x
1
1
3
0
1
3
1
3
1
2
1
3
1
0
0
1
0
3
0
2
2
1
0
0
x
3
x
2
x
1
206 5 THE THEORY OF THE SIMPLEX METHOD
TABLE 5.8 Initial and later simplex tableaux in matrix form
Coefficient of:
Basic Right
Iteration Variable Eq. Z Original Variables Slack Variables Side
0 Z 0 1 c0 0
x
B
1 2 . . . m0A I b
Any Z 0 1 c
B
B
1
A cc
B
B
1
c
B
B
1
b
x
B
1 2 . . . m0B
1
AB
1
B
1
b

slide 232:

trix form by premultiplying both sides of the original set of equations by the appropriate
matrix. This matrix would have the same elements as the identity matrix except that each
multiple for an algebraic operation would go into the spot needed to have the matrix mul-
tiplication perform this operation. Even after a series of algebraic operations over several
iterations we still can deduce what this matrix must be symbolically for the entire se-
ries by using what we already know about the right-hand sides of the new set of equa-
tions. In particular after any iteration x
B
B
1
b and Z c
B
B
1
b so the right-hand sides
of the new set of equations have become
.
Because we perform the same series of algebraic operations on both sides of the orig-
inal set of operations we use this same matrix that premultiplies the original right-hand
side to premultiply the original left-hand side. Consequently since
the desired matrix form of the set of equations after any iteration is
.
The second simplex tableau of Table 5.8 also exhibits this same set of equations.
Example. To illustrate this matrix form for the current set of equations we will show
how it yields the final set of equations resulting from iteration 2 for the Wyndor Glass
Co. problem. Using the B
1
and c
B
given for iteration 2 at the end of the preceding sub-
section we have
B
1
A
c
B
B
1
0 5 3 0
3
2
1
c
B
B
1
A c 0 5 3 3 5 0 0.
0
1
0
0
0
1
1
3
0
1
3
1
3
1
2
1
3
1
0
0
0
1
0
0
0
1
0
2
2
1
0
3
1
3
0
1
3
1
3
1
2
1
3
1
0
0
c
B
B
1
b
B
1
b
Z
x
x
s
c
B
B
1
B
1
c
B
B
1
A c
B
1
A
1
0
c
B
B
1
B
1
c
B
B
1
A c
B
1
A
1
0
0
I
c
A
1
0
c
B
B
1
B
1
1
0
c
B
B
1
b
B
1
b
0
b
c
B
B
1
B
1
1
0
Z
x
B
5.2 THE REVISED SIMPLEX METHOD 207

slide 233:

Also by using the values of x
B
B
1
b and Z c
B
B
1
b calculated at the end of the pre-
ceding subsection these results give the following set of equations:
as shown in the final simplex tableau in Table 4.8.
The Overall Procedure
There are two key implications from the matrix form of the current set of equations shown
at the bottom of Table 5.8. The first is that only B
1
needs to be derived to be able to cal-
culate all the numbers in the simplex tableau from the original parameters A b c
B
of
the problem. This implication is the essence of the fundamental insight described in the
next section. The second is that any one of these numbers can be obtained individually
usually by performing only a vector multiplication one row times one column instead
of a complete matrix multiplication. Therefore the required numbers to perform an iter-
ation of the simplex method can be obtained as needed without expending the computa-
tional effort to obtain all the numbers. These two key implications are incorporated into
the following summary of the overall procedure.
Summary of the Revised Simplex Method.
1. Initialization: Same as for the original simplex method.
2. Iteration:
Step 1 Determine the entering basic variable: Same as for the original simplex
method.
Step 2 Determine the leaving basic variable: Same as for the original simplex
method except calculate only the numbers required to do this the coefficients of the
entering basic variable in every equation but Eq. 0 and then for each strictly posi-
tive coefficient the right-hand side of that equation.
1
Step 3 Determine the new BF solution: Derive B
1
and set x
B
B
1
b.
3. Optimality test: Same as for the original simplex method except calculate only the
numbers required to do this test i.e. the coefficients of the nonbasic variables in
Eq. 0.
In step 3 of an iteration B
1
could be derived each time by using a standard computer
routine for inverting a matrix. However since B and therefore B
1
changes so little from
one iteration to the next it is much more efficient to derive the new B
1
denote it by B
1
new
from the B
1
at the preceding iteration denote it by B
1
old
. For the initial BF solution
36
2
6
2
Z
x
1
x
2
x
3
x
4
x
5
1
1
3
0
1
3
3
2
1
3
1
2
1
3
0
1
0
0
0
0
1
0
0
0
0
1
1
0
0
0
208 5 THE THEORY OF THE SIMPLEX METHOD
1
Because the value of x
B
is the entire vector of right-hand sides except for Eq. 0 the relevant right-hand sides
need not be calculated here if x
B
was calculated in step 3 of the preceding iteration.

slide 234:

B I B
1
. One method for doing this derivation is based directly upon the interpreta-
tion of the elements of B
1
the coefficients of the slack variables in the current Eqs. 1
2 . . . m presented in the next section as well as upon the procedure used by the orig-
inal simplex method to obtain the new set of equations from the preceding set.
To describe this method formally let
x
k
entering basic variable
a ik
coefficient of x
k
in current Eq. i for i 1 2 . . . m calculated in step 2 of
an iteration
r number of equation containing the leaving basic variable.
Recall that the new set of equations excluding Eq. 0 can be obtained from the pre-
ceding set by subtracting a ik
/a rk
times Eq. r from Eq. i for all i 1 2 . . . m ex-
cept i r and then dividing Eq. r by a rk
. Therefore the element in row i and column
j of B
1
new
is
B
1
old
ij
a
a
r
ik
k
B
1
old
rj
if i r
B
1
new
ij
a
1
rk
B
1
old
rj
if i r.
These formulas are expressed in matrix notation as
B
1
new
EB
1
old
where matrix E is an identity matrix except that its rth column is replaced by the vector
a
a
r
ik
k
if i r
where i
a
1
rk
if i r.
Thus E U
1
U
2
. . . U
r 1
U
r 1
. . . U
m
where the m elements of each of the
U
i
column vectors are 0 except for a 1 in the ith position.
Example. We shall illustrate the revised simplex method by applying it to the Wyndor
Glass Co. problem. The initial basic variables are the slack variables
x
B
.
Iteration 1
Because the initial B
1
I no calculations are needed to obtain the numbers required to
identify the entering basic variable x
2
c
2
5 3 c
1
and the leaving basic vari-
able x
4
a
12
0 b
2
/a
22
1
2
2
1
2
8
b
3
/a
32
so r 2. Thus the new set of basic variables is
x
B
.
x
3
x
2
x
5
x
3
x
4
x
5
1
2
m
5.2 THE REVISED SIMPLEX METHOD 209

slide 235:

To obtain the new B
1
so
B
1
so that
x
B
.
To test whether this solution is optimal we calculate the coefficients of the nonbasic
variables x
1
and x
4
in Eq. 0. Performing only the relevant parts of the matrix multi-
plications we obtain
c
B
B
1
A c 0 5 0 3 — 3 —
c
B
B
1
0 5 0 —
5
2
—
so the coefficients of x
1
and x
4
are 3 and
5
2
respectively. Since x
1
has a negative coeffi-
cient this solution is not optimal.
Iteration 2
Using these coefficients of the nonbasic variables in Eq. 0 since only x
1
has a negative
coefficient we begin the next iteration by identifying x
1
as the entering basic variable. To
determine the leaving basic variable we must calculate the other coefficients of x
1
:
B
1
A .
—
—
—
1
0
3
—
—
—
1
0
3
0
0
1
0
1
2
1
1
0
0
—
—
—
0
1
2
1
—
—
—
—
—
—
1
0
3
0
0
1
0
1
2
1
1
0
0
4
6
6
4
12
18
0
0
1
0
1
2
1
1
0
0
0
0
1
0
1
2
1
1
0
0
0
0
1
0
1
0
1
0
0
0
0
1
0
1
2
1
1
0
0
0
1
2
1
a
a
1
2
2
2
a
1
22
a
a
3
2
2
2
210 5 THE THEORY OF THE SIMPLEX METHOD

slide 236:

By using the right side column for the current BF solution the value of x
B
just given for
iteration 1 the ratios 4/1 6/3 indicate that x
5
is the leaving basic variable so the new
set of basic variables is
x
B
with .
Therefore the new B
1
is
B
1
so that
x
B
.
Applying the optimality test we find that the coefficients of the nonbasic variables
x
4
and x
5
in Eq. 0 are
c
B
B
1
0 5 3 —
3
2
1.
Because both coefficients
3
2
and 1 are nonnegative the current solution x
1
2 x
2
6
x
3
2 x
4
0 x
5
0 is optimal and the procedure terminates.
General Observations
The preceding discussion was limited to the case of linear programming problems fitting
our standard form given in Sec. 3.2. However the modifications for other forms are rel-
atively straightforward. The initialization would be conducted just as it would for the orig-
inal simplex method see Sec. 4.6. When this step involves introducing artificial variables
to obtain an initial BF solution and thereby to obtain an identity matrix as the initial ba-
sis matrix these variables are included among the m elements of x
s
.
Let us summarize the advantages of the revised simplex method over the original sim-
plex method. One advantage is that the number of arithmetic computations may be re-
duced. This is especially true when the A matrix contains a large number of zero elements
which is usually the case for the large problems arising in practice. The amount of in-
formation that must be stored at each iteration is less sometimes considerably so. The re-
vised simplex method also permits the control of the rounding errors inevitably generated
1
3
0
1
3
1
3
1
2
1
3
—
—
—
2
6
2
4
12
18
1
3
0
1
3
1
3
1
2
1
3
1
0
0
1
3
0
1
3
1
3
1
2
1
3
1
0
0
0
0
1
0
1
2
1
1
0
0
1
3
0
1
3
0
1
0
1
0
0
1
3
0
1
3
a
a
1
3
1
1
a
a
2
3
1
1
a
1
31
x
3
x
2
x
1
5.2 THE REVISED SIMPLEX METHOD 211

slide 237:

by computers. This control can be exercised by periodically obtaining the current B
1
by
directly inverting B. Furthermore some of the postoptimality analysis problems discussed
in Sec. 4.7 can be handled more conveniently with the revised simplex method. For all
these reasons the revised simplex method is usually preferable to the original simplex
method for computer execution.
212 5 THE THEORY OF THE SIMPLEX METHOD
We shall now focus on a property of the simplex method in any form that has been re-
vealed by the revised simplex method in the preceding section.
1
This fundamental insight
provides the key to both duality theory and sensitivity analysis Chap. 6 two very im-
portant parts of linear programming.
The insight involves the coefficients of the slack variables and the information they
give. It is a direct result of the initialization where the ith slack variable x
n i
is given a
coefficient of 1 in Eq. i and a coefficient of 0 in every other equation including Eq.
0 for i 1 2 . . . m as shown by the null vector 0 and the identity matrix I in the
slack variables column for iteration 0 in Table 5.8. For most of this section we are as-
suming that the problem is in our standard form with b
i
0 for all i 1 2 . . . mso
that no additional adjustments are needed in the initialization. The other key factor is that
subsequent iterations change the initial equations only by
1. Multiplying or dividing an entire equation by a nonzero constant
2. Adding or subtracting a multiple of one entire equation to another entire equation
As already described in the preceding section a sequence of these kinds of elemen-
tary algebraic operations is equivalent to premultiplying the initial simplex tableau by
some matrix. See Appendix 4 for a review of matrices. The consequence can be sum-
marized as follows.
Verbal description of fundamental insight: After any iteration the coefficients
of the slack variables in each equation immediately reveal how that equation has
been obtained from the initial equations.
As one example of the importance of this insight recall from Table 5.8 that the ma-
trix formula for the optimal solution obtained by the simplex method is
x
B
B
1
b
where x
B
is the vector of basic variables B
1
is the matrix of coefficients of slack vari-
ables for rows 1 to m of the final tableau and b is the vector of original right-hand sides
resource availabilities. We soon will denote this particular B
1
by S. Postoptimality
analysis normally includes an investigation of possible changes in b. By using this for-
mula you can see exactly how the optimal BF solution changes or whether it becomes
infeasible because of negative variables as a function of b. You do not have to reapply
the simplex method over and over for each new b because the coefficients of the slack
5.3 A FUNDAMENTAL INSIGHT
1
However since some instructors do not cover the preceding section we have written this section in a way that
can be understood without first reading Sec. 5.2. It is helpful to take a brief look at the matrix notation intro-
duced at the beginning of Sec. 5.2 including the resulting key equation x
B
B
1
b.

slide 238:

variables tell all In a similar fashion this fundamental insight provides a tremendous
computational saving for the rest of sensitivity analysis as well.
To spell out the how and the why of this insight let us look again at the Wyndor
Glass Co. example. The OR Tutor also includes another demonstration example.
Example. Table 5.9 shows the relevant portion of the simplex tableau for demonstrat-
ing this fundamental insight. Light lines have been drawn around the coefficients of the
slack variables in all the tableaux in this table because these are the crucial coefficients
for applying the insight. To avoid clutter we then identify the pivot row and pivot column
by a single box around the pivot number only.
Iteration 1
To demonstrate the fundamental insight our focus is on the algebraic operations performed
by the simplex method while using Gaussian elimination to obtain the new BF solution.
If we do all the algebraic operations with the old row 2 the pivot row rather than the
new one then the algebraic operations spelled out in Chap. 4 for iteration 1 are
New row 0 old row 0
5
2
old row 2
New row 1 old row 1 0old row 2
New row 2
1
2
old row 2
New row 3 old row 3 1old row 2.
5.3 A FUNDAMENTAL INSIGHT 213
TABLE 5.9 Simplex tableaux without leftmost columns for the
Wyndor Glass Co. problem
Coefficient of:
Iteration x
1
x
2
x
3
x
4
x
5
Right Side
3 50 0 0 0
10 1 0 0 4
0
02 0 1 0 12
32 0 0 1 18
30 0 5
2
030
10 1 0 0 4
1
01 0 1
2
06
30 0 11 6
00 0 3
2
136
00 1 1
3
1
3
2
2
01 0 1
2
06
10 0 1
3
1
3
2

slide 239:

Ignoring row 0 for the moment we see that these algebraic operations amount to pre-
multiplying rows 1 to 3 of the initial tableau by the matrix
.
Rows 1 to 3 of the initial tableau are
Old rows 1–3
where the third fourth and fifth columns the coefficients of the slack variables form an
identity matrix. Therefore
New rows 1–3 .
Note how the first matrix is reproduced exactly in the box below it as the coefficients of
the slack variables in rows 1 to 3 of the new tableau because the coefficients of the slack
variables in rows 1 to 3 of the initial tableau form an identity matrix. Thus just as stated
in the verbal description of the fundamental insight the coefficients of the slack variables
in the new tableau do indeed provide a record of the algebraic operations performed.
This insight is not much to get excited about after just one iteration since you can
readily see from the initial tableau what the algebraic operations had to be but it becomes
invaluable after all the iterations are completed.
For row 0 the algebraic operation performed amounts to the following matrix calcu-
lations where now our focus is on the vector 0
5
2
0 that premultiplies rows 1 to 3 of
the initial tableau.
New row 0 3 5 0 0 0 0 0
5
2
0
3 0 0
5
2
0 30.
Note how this vector is reproduced exactly in the box below it as the coefficients of the
slack variables in row 0 of the new tableau just as was claimed in the statement of the
fundamental insight. Once again the reason is the identity matrix for the coefficients of
the slack variables in rows 1 to 3 of the initial tableau along with the zeros for these co-
efficients in row 0 of the initial tableau.
4
12
18
0
0
1
0
1
0
1
0
0
0
2
2
1
0
3
4
6
6
0
0
1
0
1
2
1
1
0
0
0
1
0
1
0
3
4
12
18
0
0
1
0
1
0
1
0
0
0
2
2
1
0
3
0
0
1
0
1
2
1
1
0
0
4
12
18
0
0
1
0
1
0
1
0
0
0
2
2
1
0
3
0
0
1
0
1
2
1
1
0
0
214 5 THE THEORY OF THE SIMPLEX METHOD

slide 240:

Iteration 2
The algebraic operations performed on the second tableau of Table 5.9 for iteration 2 are
New row 0 old row 0 1old row 3
New row 1 old row 1 1
3
old row 3
New row 2 old row 2 0old row 3
New row 3
1
3
old row 3.
Ignoring row 0 for the moment we see that these operations amount to premultiplying
rows 1 to 3 of this tableau by the matrix
.
Writing this second tableau as the matrix product shown for iteration 1 namely the cor-
responding matrix times rows 1 to 3 of the initial tableau then yields
Final rows 1–3 .
The first two matrices shown on the first line of these calculations summarize the alge-
braic operations of the second and first iterations respectively. Their product shown as
the first matrix on the second line then combines the algebraic operations of the two it-
erations. Note how this matrix is reproduced exactly in the box below it as the coefficients
of the slack variables in rows 1 to 3 of the new final tableau shown on the third line.
What this portion of the tableau reveals is how the entire final tableau except row 0 has
been obtained from the initial tableau namely
Final row 1 1initial row 1
1
3
initial row 2 1
3
initial row 3
Final row 2 0initial row 1
1
2
initial row 2 0initial row 3
Final row 3 0initial row 1 1
3
initial row 2
1
3
initial row 3.
To see why these multipliers of the initial rows are correct you would have to trace
through all the algebraic operations of both iterations. For example why does final row
1 include
1
3
initial row 2 even though a multiple of row 2 has never been added directly
to row 1 The reason is that initial row 2 was subtracted from initial row 3 in iteration 1
and then
1
3
old row 3 was subtracted from old row 1 in iteration 2.
2
6
2
1
3
0
1
3
1
3
1
2
1
3
1
0
0
0
1
0
0
0
1
4
12
18
0
0
1
0
1
0
1
0
0
0
2
2
1
0
3
1
3
0
1
3
1
3
1
2
1
3
1
0
0
4
12
18
0
0
1
0
1
0
1
0
0
0
2
2
1
0
3
0
0
1
0
1
2
1
1
0
0
1
3
0
1
3
0
1
0
1
0
0
1
3
0
1
3
0
1
0
1
0
0
5.3 A FUNDAMENTAL INSIGHT 215

slide 241:

However there is no need for you to trace through. Even when the simplex method
has gone through hundreds or thousands of iterations the coefficients of the slack vari-
ables in the final tableau will reveal how this tableau has been obtained from the initial
tableau. Furthermore the same algebraic operations would give these same coefficients
even if the values of some of the parameters in the original model initial tableau were
changed so these coefficients also reveal how the rest of the final tableau changes with
changes in the initial tableau.
To complete this story for row 0 the fundamental insight reveals that the entire final
row 0 can be calculated from the initial tableau by using just the coefficients of the slack
variables in the final row 0—0
3
2
1. This calculation is shown below where the first
vector is row 0 of the initial tableau and the matrix is rows 1 to 3 of the initial tableau.
Final row 0 3 5 0 0 0 0 0
3
2
1
0 0 0
3
2
1 36.
Note again how the vector premultiplying rows 1 to 3 of the initial tableau is reproduced
exactly as the coefficients of the slack variables in the final row 0. These quantities must
be identical because of the coefficients of the slack variables in the initial tableau an
identity matrix below a null vector. This conclusion is the row 0 part of the fundamen-
tal insight.
Mathematical Summary
Because its primary applications involve the final tableau we shall now give a general
mathematical expression for the fundamental insight just in terms of this tableau using
matrix notation. If you have not read Sec. 5.2 you now need to know that the parame-
ters of the model are given by the matrix A a
ij
and the vectors b b
i
and c c
j
as displayed at the beginning of that section.
The only other notation needed is summarized and illustrated in Table 5.10. Notice
how vector t representing row 0 and matrix T representing the other rows together cor-
respond to the rows of the initial tableau in Table 5.9 whereas vector t and matrix T
together correspond to the rows of the final tableau in Table 5.9. This table also shows
these vectors and matrices partitioned into three parts: the coefficients of the original vari-
ables the coefficients of the slack variables our focus and the right-hand side. Once
again the notation distinguishes between parts of the initial tableau and the final tableau
by using an asterisk only in the latter case.
For the coefficients of the slack variables the middle part in the initial tableau of
Table 5.10 notice the null vector 0 in row 0 and the identity matrix I below which pro-
vide the keys for the fundamental insight. The vector and matrix in the same location of
the final tableau y and S then play a prominent role in the equations for the funda-
mental insight. A and b in the initial tableau turn into A and b in the final tableau. For
row 0 of the final tableau the coefficients of the decision variables are z c so the vec-
tor z is what has been added to the vector of initial coefficients c and the right-hand
side Z denotes the optimal value of Z.
4
12
18
0
0
1
0
1
0
1
0
0
0
2
2
1
0
3
216 5 THE THEORY OF THE SIMPLEX METHOD

slide 242:

It is helpful at this point to look back at Table 5.8 in Sec. 5.2 and compare it with
Table 5.10. If you haven’t previously studied Sec. 5.2 you will need to read the defini-
tion of the basis matrix B and the vectors x
B
and c
B
given early in that section before
looking at Table 5.8. The notation for the components of the initial simplex tableau is
the same in the two tables. The lower part of Table 5.8 shows any later simplex tableau
in matrix form whereas the lower part of Table 5.10 gives the final tableau in matrix form.
Note that the matrix B
1
in Table 5.8 is in the same location as S in Table 5.10. Thus
S B
1
when B is the basis matrix for the optimal solution found by the simplex method.
Referring to Table 5.10 again suppose now that you are given the initial tableau t and
T and just y and S from the final tableau. How can this information alone be used to cal-
culate the rest of the final tableau The answer is provided by Table 5.8. This table includes
some information that is not directly relevant to our current discussion namely how y and
S themselves can be calculated y c
B
B
1
and S B
1
by knowing the set of basic
variables and so the basis matrix B for the optimal solution found by the simplex method.
However the lower part of this table also shows how the rest of the final tableau can be ob-
tained from the coefficients of the slack variables which is summarized as follows.
Fundamental Insight
1 t t yT yA cy yb.
2 T ST SAS Sb.
5.3 A FUNDAMENTAL INSIGHT 217
TABLE 5.10 General notation for initial and final
simplex tableaux in matrix form
illustrated by the Wyndor Glass
Co. problem
Initial Tableau
Row 0: t 3 5 0 0 0 0 c0 0.
Other rows: T A I b.
Combined:
.
Final Tableau
Row 0: t 0 0 0
3
2
1 36 z cy Z.
Other rows: T A S b.
Combined:
.
Z
b
y
S
z c
A
t
T
2
6
2
1
3
0
1
3
1
3
1
2
1
3
1
0
0
0
1
0
0
0
1
0
b
0
I
c
A
t
T
4
12
18
0
0
1
0
1
0
1
0
0
0
2
2
1
0
3

slide 243:

Thus by knowing the parameters of the model in the initial tableau c A and b and only
the coefficients of the slack variables in the final tableau y and S these equations en-
able calculating all the other numbers in the final tableau.
We already used these two equations when dealing with iteration 2 for the Wyndor
Glass Co. problem in the preceding subsection. In particular the right-hand side of the
expression for final row 0 for iteration 2 is just t yT and the second line of the ex-
pression for final rows 1 to 3 is just ST.
Now let us summarize the mathematical logic behind the two equations for the fun-
damental insight. To derive Eq. 2 recall that the entire sequence of algebraic operations
performed by the simplex method excluding those involving row 0 is equivalent to pre-
multiplying T by some matrix call it M. Therefore
T MT
but now we need to identify M. By writing out the component parts of T and T this
equation becomes
A S b M AIb
MA M Mb.
Because the middle or any other component of these equal matrices must be the same
it follows that M S so Eq. 2 is a valid equation.
Equation 1 is derived in a similar fashion by noting that the entire sequence of al-
gebraic operations involving row 0 amounts to adding some linear combination of the
rows in T to t which is equivalent to adding to t some vector times T. Denoting this vec-
tor by v we thereby have
t t vT
but v still needs to be identified. Writing out the component parts of t and t yields
z cy Z c0 0 v AIb
c vAvvb.
Equating the middle component of these equal vectors gives v y which validates
Eq. 1.
Adapting to Other Model Forms
Thus far the fundamental insight has been described under the assumption that the origi-
nal model is in our standard form described in Sec. 3.2. However the above mathemati-
cal logic now reveals just what adjustments are needed for other forms of the original model.
The key is the identity matrix I in the initial tableau which turns into S in the final tableau.
If some artificial variables must be introduced into the initial tableau to serve as initial ba-
sic variables then it is the set of columns appropriately ordered for all the initial basic
variables both slack and artificial that forms I in this tableau. The columns for any sur-
plus variables are extraneous. The same columns in the final tableau provide S for the
T ST equation and y for the t t yT equation. If M’s were introduced into the
218 5 THE THEORY OF THE SIMPLEX METHOD
↑
↑
↑
↑

slide 244:

preliminary row 0 as coefficients for artificial variables then the t for the t t yT
equation is the row 0 for the initial tableau after these nonzero coefficients for basic vari-
ables are algebraically eliminated. Alternatively the preliminary row 0 can be used for t
but then these M’s must be subtracted from the final row 0 to give y. See Prob. 5.3-11.
Applications
The fundamental insight has a variety of important applications in linear programming.
One of these applications involves the revised simplex method. As described in the pre-
ceding section see Table 5.8 this method used B
1
and the initial tableau to calculate
all the relevant numbers in the current tableau for every iteration. It goes even further than
the fundamental insight by using B
1
to calculate y itself as y c
B
B
1
.
Another application involves the interpretation of the shadow prices
y
1
y
2
. . . y
m
described in Sec. 4.7. The fundamental insight reveals that Z the value
of Z for the optimal solution is
Z yb m
i 1
y
i
b
i
so e.g.
Z 0b
1
3
2
b
2
b
3
for the Wyndor Glass Co. problem. This equation immediately yields the interpretation
for the y
i
values given in Sec. 4.7.
Another group of extremely important applications involves various postoptimality
tasks reoptimization technique sensitivity analysis parametric linear programming—
described in Sec. 4.7 that investigate the effect of making one or more changes in the
original model. In particular suppose that the simplex method already has been applied
to obtain an optimal solution as well as y and S for the original model and then these
changes are made. If exactly the same sequence of algebraic operations were to be ap-
plied to the revised initial tableau what would be the resulting changes in the final tableau
Because y and S don’t change the fundamental insight reveals the answer immediately.
For example consider the change from b
2
12 to b
2
13 as illustrated in Fig. 4.8
for the Wyndor Glass Co. problem. It is not necessary to solve for the new optimal solu-
tion x
1
x
2
5
3
1
2
3
because the values of the basic variables in the final tableau b are
immediately revealed by the fundamental insight:
b Sb .
There is an even easier way to make this calculation. Since the only change is in the sec-
ond component of b b
2
1 which gets premultiplied by only the second column of
S the change in b can be calculated as simply
b b
2
1
3
1
2
1
3
1
3
1
2
1
3
7
3
1
2
3
5
3
4
13
18
1
3
0
1
3
1
3
1
2
1
3
1
0
0
x
3
x
2
x
1
5.3 A FUNDAMENTAL INSIGHT 219

slide 245:

so the original values of the basic variables in the final tableau x
3
2 x
2
6 x
1
2
now become
.
If any of these new values were negative and thus infeasible then the reoptimization
technique described in Sec. 4.7 would be applied starting from this revised final tableau.
Applying incremental analysis to the preceding equation for Z also immediately yields
Z 3
2
b
2
3
2
.
The fundamental insight can be applied to investigating other kinds of changes in the
original model in a very similar fashion it is the crux of the sensitivity analysis proce-
dure described in the latter part of Chap. 6.
You also will see in the next chapter that the fundamental insight plays a key role in
the very useful duality theory for linear programming.
1
7
3
1
2
3
5
3
1
3
1
2
1
3
2
6
2
x
3
x
2
x
1
220 5 THE THEORY OF THE SIMPLEX METHOD
Although the simplex method is an algebraic procedure it is based on some fairly sim-
ple geometric concepts. These concepts enable one to use the algorithm to examine only
a relatively small number of BF solutions before reaching and identifying an optimal
solution.
Chapter 4 describes how elementary algebraic operations are used to execute the al-
gebraic form of the simplex method and then how the tableau form of the simplex method
uses the equivalent elementary row operations in the same way. Studying the simplex
method in these forms is a good way of getting started in learning its basic concepts. How-
ever these forms of the simplex method do not provide the most efficient form for exe-
cution on a computer. Matrix operations are a faster way of combining and executing el-
ementary algebraic operations or row operations. Therefore by using the matrix form of
the simplex method the revised simplex method provides an effective way of adapting
the simplex method for computer implementation.
The final simplex tableau includes complete information on how it can be algebraically
reconstructed directly from the initial simplex tableau. This fundamental insight has some
very important applications especially for postoptimality analysis.
5.4 CONCLUSIONS
1. Bazaraa M. S. J. J. Jarvis and H. D. Sherali: Linear Programming and Network Flows 2d ed.
Wiley New York 1990.
2. Dantzig G. B. and M. N. Thapa: Linear Programming 1: Introduction Springer New Y ork 1997.
3. Schriver A: Theory of Linear and Integer Programming Wiley New York 1986.
4. Vanderbei R. J.: Linear Programming: Foundations and Extensions Kluwer Academic Pub-
lishers Boston MA 1996.
SELECTED REFERENCES

slide 246:

CHAPTER 5 PROBLEMS 221
A Demonstration Example in OR Tutor:
Fundamental Insight
Interactive Routines:
Enter or Revise a General Linear Programming Model
Set Up for the Simplex Method—Interactive Only
Solve Interactively by the Simplex Method
Files Chapter 3 for Solving the Wyndor Example:
Excel File
LINGO/LINDO File
MPL/CPLEX File
See Appendix 1 for documentation of the software.
LEARNING AIDS FOR THIS CHAPTER IN YOUR OR COURSEWARE
The symbols to the left of some of the problems or their parts
have the following meaning:
D: The demonstration example listed above may be helpful.
I: You can check some of your work by using the interactive rou-
tines listed above for the original simplex method.
An asterisk on the problem number indicates that at least a partial
answer is given in the back of the book.
5.1-1. Consider the following problem.
Maximize Z 3x
1
2x
2
subject to
2x
1
x
2
6
x
1
2x
2
6
and
x
1
0 x
2
0.
a Solve this problem graphically. Identify the CPF solutions by
circling them on the graph.
b Identify all the sets of two defining equations for this problem.
For each set solve if a solution exists for the corresponding
corner-point solution and classify it as a CPF solution or cor-
ner-point infeasible solution.
c Introduce slack variables in order to write the functional con-
straints in augmented form. Use these slack variables to iden-
tify the basic solution that corresponds to each corner-point so-
lution found in part b.
PROBLEMS
d Do the following for each set of two defining equations from
part b: Identify the indicating variable for each defining equa-
tion. Display the set of equations from part c after deleting
these two indicating nonbasic variables. Then use the latter
set of equations to solve for the two remaining variables the
basic variables. Compare the resulting basic solution to the
corresponding basic solution obtained in part c.
e Without executing the simplex method use its geometric inter-
pretation and the objective function to identify the path se-
quence of CPF solutions it would follow to reach the optimal
solution. For each of these CPF solutions in turn identify the
following decisions being made for the next iteration: i which
defining equation is being deleted and which is being added
ii which indicating variable is being deleted the entering basic
variable and which is being added the leaving basic variable.
5.1-2. Repeat Prob. 5.1-1 for the model in Prob. 3.1-5.
5.1-3. Consider the following problem.
Maximize Z 2x
1
3x
2
subject to
3x
1
x
2
1
4x
1
2x
2
20
4x
1
x
2
10
x
1
2x
2
5
and
x
1
0 x
2
0.

slide 247:

a Identify the 10 sets of defining equations for this problem. For
each one solve if a solution exists for the corresponding cor-
ner-point solution and classify it as a CPF solution or corner-
point infeasible solution.
b For each corner-point solution give the corresponding basic
solution and its set of nonbasic variables. Compare with
Table 6.9.
5.1-7. Consider the following problem.
Minimize Z x
1
2x
2
subject to
x
1
x
2
15
2x
1
x
2
90
2x
1
x
2
30
and
x
1
0 x
2
0.
a Solve this problem graphically.
b Develop a table giving each of the CPF solutions and the corre-
sponding defining equations BF solution and nonbasic variables.
5.1-8. Reconsider the model in Problem 4.6-3.
a Identify the 10 sets of defining equations for this problem. For
each one solve if a solution exists for the corresponding cor-
ner-point solution and classify it as a CPF solution or a cor-
ner-point infeasible solution.
b For each corner-point solution give the corresponding basic
solution and its set of nonbasic variables.
5.1-9. Reconsider the model in Prob. 3.1-4.
a Identify the 15 sets of defining equations for this problem. For
each one solve if a solution exists for the corresponding cor-
ner-point solution and classify it as a CPF solution or a cor-
ner-point infeasible solution.
b For each corner-point solution give the corresponding basic
solution and its set of nonbasic variables.
5.1-10. Each of the following statements is true under most cir-
cumstances but not always. In each case indicate when the state-
ment will not be true and why.
a The best CPF solution is an optimal solution.
b An optimal solution is a CPF solution.
c A CPF solution is the only optimal solution if none of its ad-
jacent CPF solutions are better as measured by the value of
the objective function.
5.1-11. Consider the original form before augmenting of a lin-
ear programming problem with n decision variables each with a
nonnegativity constraint and m functional constraints. Label each
of the following statements as true or false and then justify your
a Solve this problem graphically. Identify the CPF solutions by
circling them on the graph.
b Develop a table giving each of the CPF solutions and the cor-
responding defining equations BF solution and nonbasic vari-
ables. Calculate Z for each of these solutions and use just this
information to identify the optimal solution.
c Develop the corresponding table for the corner-point infeasi-
ble solutions etc. Also identify the sets of defining equations
and nonbasic variables that do not yield a solution.
5.1-4. Consider the following problem.
Maximize Z 2x
1
x
2
x
3
subject to
3x
1
x
2
x
3
60
x
1
x
2
2x
3
10
x
1
x
2
x
3
20
and
x
1
0 x
2
0 x
3
0.
After slack variables are introduced and then one complete itera-
tion of the simplex method is performed the following simplex
tableau is obtained.
222 5 THE THEORY OF THE SIMPLEX METHOD
a Identify the CPF solution obtained at iteration 1.
b Identify the constraint boundary equations that define this CPF
solution.
5.1-5. Consider the three-variable linear programming problem
shown in Fig. 5.2.
a Construct a table like Table 5.1 giving the set of defining equa-
tions for each CPF solution.
b What are the defining equations for the corner-point infeasi-
ble solution 6 0 5
c Identify one of the systems of three constraint boundary equa-
tions that yields neither a CPF solution nor a corner-point in-
feasible solution. Explain why this occurs for this system.
5.1-6. Consider the linear programming problem given in Table
6.1 as the dual problem for the Wyndor Glass Co. example.
Coefficient of:
Basic Right
Iteration Variable Eq. Zx
1
x
2
x
3
x
4
x
5
x
6
Side
Z 0 1 0 1 30 20 20
x
4
1 0 0 4 51 30 30
1
x
1
2 0 1 1 20 10 10
x
6
3 0 0 2 30 11 10

slide 248:

5.1-17. Consider the following problem.
Maximize Z 2x
1
2x
2
3x
3
subject to
2x
1
x
2
2x
3
4
x
1
x
2
x
3
3
and
x
1
0 x
2
0 x
3
0.
Let x
4
and x
5
be the slack variables for the respective functional
constraints. Starting with these two variables as the basic variables
for the initial BF solution you now are given the information that
the simplex method proceeds as follows to obtain the optimal so-
lution in two iterations: 1 In iteration 1 the entering basic vari-
able is x
3
and the leaving basic variable is x
4
2 in iteration 2 the
entering basic variable is x
2
and the leaving basic variable is x
5
.
a Develop a three-dimensional drawing of the feasible region for
this problem and show the path followed by the simplex
method.
b Give a geometric interpretation of why the simplex method fol-
lowed this path.
c For each of the two edges of the feasible region traversed by
the simplex method give the equation of each of the two con-
straint boundaries on which it lies and then give the equation
of the additional constraint boundary at each endpoint.
d Identify the set of defining equations for each of the three CPF
solutions including the initial one obtained by the simplex
method. Use the defining equations to solve for these solu-
tions.
e For each CPF solution obtained in part d give the corre-
sponding BF solution and its set of nonbasic variables. Explain
how these nonbasic variables identify the defining equations
obtained in part d.
5.1-18. Consider the following problem.
Maximize Z 3x
1
4x
2
2x
3
subject to
x
1
x
2
x
3
20
x
1
2x
2
x
3
30
and
x
1
0 x
2
0 x
3
0.
Let x
4
and x
5
be the slack variables for the respective functional
constraints. Starting with these two variables as the basic variables
for the initial BF solution you now are given the information that
the simplex method proceeds as follows to obtain the optimal so-
lution in two iterations: 1 In iteration 1 the entering basic vari-
answer with specific references including page citations to ma-
terial in the chapter.
a If a feasible solution is optimal it must be a CPF solution.
b The number of CPF solutions is at least
m
m
n
n
.
c If a CPF solution has adjacent CPF solutions that are better as
measured by Z then one of these adjacent CPF solutions must
be an optimal solution.
5.1-12. Label each of the following statements about linear pro-
gramming problems as true or false and then justify your answer.
a If a feasible solution is optimal but not a CPF solution then
infinitely many optimal solutions exist.
b If the value of the objective function is equal at two different
feasible points x and x then all points on the line segment
connecting x and x are feasible and Z has the same value
at all those points.
c If the problem has n variables before augmenting then the
simultaneous solution of any set of n constraint boundary equa-
tions is a CPF solution.
5.1-13. Consider the augmented form of linear programming prob-
lems that have feasible solutions and a bounded feasible region.
Label each of the following statements as true or false and then
justify your answer by referring to specific statements with page
citations in the chapter.
a There must be at least one optimal solution.
b An optimal solution must be a BF solution.
c The number of BF solutions is finite.
5.1-14. Reconsider the model in Prob. 4.6-10. Now you are given
the information that the basic variables in the optimal solution are
x
2
and x
3
. Use this information to identify a system of three con-
straint boundary equations whose simultaneous solution must be
this optimal solution. Then solve this system of equations to ob-
tain this solution.
5.1-15. Reconsider Prob. 4.3-7. Now use the given information
and the theory of the simplex method to identify a system of three
constraint boundary equations in x
1
x
2
x
3
whose simultaneous
solution must be the optimal solution without applying the sim-
plex method. Solve this system of equations to find the optimal
solution.
5.1-16. Reconsider Prob. 4.3-8. Using the given information and
the theory of the simplex method analyze the constraints of the
problem in order to identify a system of three constraint boundary
equations whose simultaneous solution must be the optimal solu-
tion not augmented. Then solve this system of equations to ob-
tain this solution.
CHAPTER 5 PROBLEMS 223

slide 249:

method as it goes through one iteration in moving from 2 4 3
to 4 2 4. You are given the information that it is moving along
this line segment.
a What is the entering basic variable
b What is the leaving basic variable
c What is the new BF solution
5.1-24. Consider a two-variable mathematical programming prob-
lem that has the feasible region shown on the graph where the six
dots correspond to CPF solutions. The problem has a linear ob-
jective function and the two dashed lines are objective function
lines passing through the optimal solution 4 5 and the second-
best CPF solution 2 5. Note that the nonoptimal solution 2 5
is better than both of its adjacent CPF solutions which violates
Property 3 in Sec. 5.1 for CPF solutions in linear programming.
Demonstrate that this problem cannot be a linear programming
problem by constructing the feasible region that would result if the
six line segments on the boundary were constraint boundaries for
linear programming constraints.
able is x
2
and the leaving basic variable is x
5
2 in iteration 2 the
entering basic variable is x
1
and the leaving basic variable is x
4
.
Follow the instructions of Prob. 5.1-17 for this situation.
5.1-19. By inspecting Fig. 5.2 explain why Property 1b for CPF
solutions holds for this problem if it has the following objective
function.
a Maximize Z x
3
.
b Maximize Z x
1
2x
3
.
5.1-20. Consider the three-variable linear programming problem
shown in Fig. 5.2.
a Explain in geometric terms why the set of solutions satisfying
any individual constraint is a convex set as defined in Ap-
pendix 2.
b Use the conclusion in part a to explain why the entire feasi-
ble region the set of solutions that simultaneously satisfies
every constraint is a convex set.
5.1-21. Suppose that the three-variable linear programming prob-
lem given in Fig. 5.2 has the objective function
Maximize Z 3x
1
4x
2
3x
3
.
Without using the algebra of the simplex method apply just its
geometric reasoning including choosing the edge giving the max-
imum rate of increase of Z to determine and explain the path it
would follow in Fig. 5.2 from the origin to the optimal solution.
5.1-22. Consider the three-variable linear programming problem
shown in Fig. 5.2.
a Construct a table like Table 5.4 giving the indicating variable
for each constraint boundary equation and original constraint.
b For the CPF solution 2 4 3 and its three adjacent CPF so-
lutions 4 2 4 0 4 2 and 2 4 0 construct a table like
Table 5.5 showing the corresponding defining equations BF
solution and nonbasic variables.
c Use the sets of defining equations from part b to demonstrate
that 4 2 4 0 4 2 and 2 4 0 are indeed adjacent to
2 4 3 but that none of these three CPF solutions are adja-
cent to each other. Then use the sets of nonbasic variables from
part b to demonstrate the same thing.
5.1-23. The formula for the line passing through 2 4 3 and
4 2 4 in Fig. 5.2 can be written as
2 4 3 4 2 4 2 4 3 2 4 3 2 2 1
where 0 1 for just the line segment between these points.
After augmenting with the slack variables x
4
x
5
x
6
x
7
for the re-
spective functional constraints this formula becomes
2 4 3 2 0 0 0 2 2 1 2 2 0 0.
Use this formula directly to answer each of the following ques-
tions and thereby relate the algebra and geometry of the simplex
224 5 THE THEORY OF THE SIMPLEX METHOD
x
1
1
0
123 4
2
3
4
5
2 5 4 5
x
2
5.2-1. Consider the following problem.
Maximize Z 8x
1
4x
2
6x
3
3x
4
9x
5
subject to
x
1
2x
2
3x
3
3x
4
x
5
180 resource 1
4x
1
3x
2
2x
3
x
4
x
5
270 resource 2
x
1
3x
2
2x
3
x
4
3x
5
180 resource 3

slide 250:

and
x
1
0 x
2
0 x
3
0.
Let x
4
x
5
and x
6
denote the slack variables for the respective con-
straints. After you apply the simplex method a portion of the fi-
nal simplex tableau is as follows:
and
x
j
0 j 1 . . . 5.
You are given the facts that the basic variables in the optimal so-
lution are x
3
x
1
and x
5
and that
1
2
1
7
.
a Use the given information to identify the optimal solution.
b Use the given information to identify the shadow prices for the
three resources.
I 5.2-2. Work through the revised simplex method step by step
to solve the following problem.
Maximize Z 5x
1
8x
2
7x
3
4x
4
6x
5
subject to
2x
1
3x
2
3x
3
2x
4
2x
5
20
3x
1
5x
2
4x
3
2x
4
4x
5
30
and
x
j
0 j 1 2 3 4 5.
I 5.2-3. Work through the revised simplex method step by step to
solve the model given in Prob. 4.3-4.
5.2-4. Reconsider Prob. 5.1-1. For the sequence of CPF solutions
identified in part e construct the basis matrix B for each of the
corresponding BF solutions. For each one invert B manually use
this B
1
to calculate the current solution and then perform the next
iteration or demonstrate that the current solution is optimal.
I 5.2-5. Work through the revised simplex method step by step to
solve the model given in Prob. 4.1-5.
I 5.2-6. Work through the revised simplex method step by step to
solve the model given in Prob. 4.7-6.
I 5.2-7. Work through the revised simplex method step by step to
solve each of the following models:
a Model given in Prob. 3.1-5.
b Model given in Prob. 4.7-8.
D 5.3-1. Consider the following problem.
Maximize Z x
1
x
2
2x
3
subject to
2x
1
2x
2
3x
3
5
x
1
x
2
x
3
3
x
1
x
2
x
3
2
1
3
10
3
9
3
11
6
2
0
1
3
1
4
1
3
2
0
CHAPTER 5 PROBLEMS 225
Coefficient of:
Basic Right
Variable Eq. Zx
1
x
2
x
3
x
4
x
5
x
6
Side
Z 0 1 1 1 0
x
2
1 0 1 3 0
x
6
2 0 0 1 1
x
3
3 0 1 2 0
a Use the fundamental insight presented in Sec. 5.3 to identify
the missing numbers in the final simplex tableau. Show your
calculations.
b Identify the defining equations of the CPF solution corre-
sponding to the optimal BF solution in the final simplex
tableau.
D 5.3-2. Consider the following problem.
Maximize Z 4x
1
3x
2
x
3
2x
4
subject to
4x
1
2x
2
x
3
x
4
5
3x
1
x
2
2x
3
x
4
4
and
x
1
0 x
2
0 x
3
0 x
4
0.
Let x
5
and x
6
denote the slack variables for the respective con-
straints. After you apply the simplex method a portion of the fi-
nal simplex tableau is as follows:
Coefficient of:
Basic Right
Variable Eq. Zx
1
x
2
x
3
x
4
x
5
x
6
Side
Z 0 1 1 1
x
2
1 0 1 1
x
4
2 0 1 2
a Use the fundamental insight presented in Sec. 5.3 to identify
the missing numbers in the final simplex tableau. Show your
calculations.
b Identify the defining equations of the CPF solution corre-
sponding to the optimal BF solution in the final simplex
tableau.

slide 251:

a Use the fundamental insight presented in Sec. 5.3 to identify
the missing numbers in the final simplex tableau. Show your
calculations.
b Identify the defining equations of the CPF solution corre-
sponding to the optimal BF solution in the final simplex
tableau.
D 5.3-5. Consider the following problem.
Maximize Z 20x
1
6x
2
8x
3
subject to
8x
1
2x
2
3x
3
200
4x
1
3x
2
3x
3
100
2x
1
3x
2
x
3
50
2x
1
3x
2
x
3
20
and
x
1
0 x
2
0 x
3
0.
Let x
4
x
5
x
6
and x
7
denote the slack variables for the first through
fourth constraints respectively. Suppose that after some number of
iterations of the simplex method a portion of the current simplex
tableau is as follows:
D 5.3-3. Consider the following problem.
Maximize Z 6x
1
x
2
2x
3
subject to
2x
1
2x
2
1
2
x
3
2
4x
1
2x
2
3
2
x
3
3
2x
1
2x
2
1
2
x
3
1
and
x
1
0 x
2
0 x
3
0.
Let x
4
x
5
and x
6
denote the slack variables for the respective con-
straints. After you apply the simplex method a portion of the fi-
nal simplex tableau is as follows:
226 5 THE THEORY OF THE SIMPLEX METHOD
Use the fundamental insight presented in Sec. 5.3 to identify the
missing numbers in the final simplex tableau. Show your calcula-
tions.
D 5.3-4. Consider the following problem.
Maximize Z x
1
x
2
2x
3
subject to
x
1
x
2
3x
3
15
2x
1
x
2
x
3
2
x
1
x
2
x
3
4
and
x
1
0 x
2
0 x
3
0.
Let x
4
x
5
and x
6
denote the slack variables for the respective con-
straints. After the simplex method is applied a portion of the final
simplex tableau is as follows:
Coefficient of:
Basic Right
Variable Eq. Zx
1
x
2
x
3
x
4
x
5
x
6
Side
Z 0 1 20 2
x
5
1 0 11 2
x
3
2 0 20 4
x
1
3 0 10 1
Coefficient of:
Basic Right
Variable Eq. Zx
1
x
2
x
3
x
4
x
5
x
6
Side
Z 0 1 0 3
2
1
2
x
4
1 0 1 1 2
x
3
2 0 0 1
2
1
2
x
2
3 0 0 1
2
1
2
Coefficient of:
Basic Right
Variable Eq. Zx
1
x
2
x
3
x
4
x
5
x
6
x
7
Side
Z 0 1 9
4
1
2
00
x
1
1 0 1
3
6
1
8
00
x
2
2 0 1
4
1
2
00
x
6
3 0 3
8
1
4
10
x
7
4 0 0 00 1

slide 252:

Now suppose that your boss has inserted her best estimate of
the values of c
1
c
2
c
3
and b without informing you and then has
run the simplex method. You are given the resulting final simplex
tableau below where x
4
and x
5
are the slack variables for the re-
spective functional constraints but you are unable to read the value
of Z.
a Use the fundamental insight presented in Sec. 5.3 to identify
the missing numbers in the current simplex tableau. Show your
calculations.
b Indicate which of these missing numbers would be generated
by the revised simplex method in order to perform the next it-
eration.
c Identify the defining equations of the CPF solution corre-
sponding to the BF solution in the current simplex tableau.
D 5.3-6. You are using the simplex method to solve the following
linear programming problem.
Maximize Z 6x
1
5x
2
x
3
4x
4
subject to
3x
1
2x
2
3x
3
x
4
120
3x
1
3x
2
x
3
3x
4
180
and
x
1
0 x
2
0 x
3
0 x
4
0.
You have obtained the following final simplex tableau where x
5
and x
6
are the slack variables for the respective constraints.
CHAPTER 5 PROBLEMS 227
Coefficient of:
Basic Right
Variable Eq. Zx
1
x
2
x
3
x
4
x
5
x
6
Side
Z 0 1 0 1
4
0 1
2
3
4
5
4
Z
x
1
1 0 1 1
1
1
2
0 5
6
1
1
2
1
4
b
1
x
3
2 0 0 1
4
1 1
2
1
4
1
4
b
2
Use the fundamental insight presented in Sec. 5.3 to identify Z
b
1
and b
2
. Show your calculations.
D 5.3-7. Consider the following problem.
Maximize Z c
1
x
1
c
2
x
2
c
3
x
3
subject to
x
1
2x
2
x
3
b
2x
1
x
2
3x
3
2b
and
x
1
0 x
2
0 x
3
0.
Note that values have not been assigned to the coefficients in the
objective function c
1
c
2
c
3
and that the only specification for
the right-hand side of the functional constraints is that the second
one 2b be twice as large as the first b.
a Use the fundamental insight presented in Sec. 5.3 to identify
the value of c
1
c
2
c
3
that was used.
b Use the fundamental insight presented in Sec. 5.3 to identify
the value of b that was used.
c Calculate the value of Z in two ways where one way uses
your results from part a and the other way uses your result
from part b. Show your two methods for finding Z.
5.3-8. For iteration 2 of the example in Sec. 5.3 the following ex-
pression was shown:
Final row 0 3 5 0 0 0 0
0
3
2
1 .
Derive this expression by combining the algebraic operations in
matrix form for iterations 1 and 2 that affect row 0.
5.3-9. Most of the description of the fundamental insight presented
in Sec. 5.3 assumes that the problem is in our standard form. Now
consider each of the following other forms where the additional
adjustments in the initialization step are those presented in Sec.
4.6 including the use of artificial variables and the Big M method
where appropriate. Describe the resulting adjustments in the fun-
damental insight.
a Equality constraints
b Functional constraints in form
c Negative right-hand sides
d Variables allowed to be negative with no lower bound
5.3-10. Reconsider the model in Prob. 4.6-6. Use artificial vari-
ables and the Big M method to construct the complete first sim-
4
12
18
0
0
1
0
1
0
1
0
0
0
2
2
1
0
3
Coefficient of:
Basic Right
Variable Eq. Zx
1
x
2
x
3
x
4
x
5
Side
Z 0 1 1
7
0
00 3
5
4
5
Z
x
2
1 0 1
5
10 3
5
1
5
1
x
3
2 0 3
5
01 1
5
2
5
3

slide 253:

c When you apply the t t vT equation another option is
to use t 2 3 2 0 M0 M 0 which is the preliminary
row 0 before the algebraic elimination of the nonzero coeffi-
cients of the initial basic variables x
5
and x
7
. Repeat part b
for this equation with this new t. After you derive the new v
show that this equation yields the same final row 0 for this
problem as the equation derived in part b.
d Identify the defining equations of the CPF solution corre-
sponding to the optimal BF solution in the final simplex
tableau.
5.3-12. Consider the following problem.
Maximize Z 2x
1
4x
2
3x
3
subject to
x
1
3x
2
2x
3
20
x
1
5x
2
2x
3
10
and
x
1
0 x
2
0 x
3
0.
Let x
4
be the artificial variable for the first constraint. Let x
5
and
x
6
be the surplus variable and artificial variable respectively for
the second constraint.
You are now given the information that a portion of the final
simplex tableau is as follows:
plex tableau for the simplex method and then identify the columns
that will contains S for applying the fundamental insight in the
final tableau. Explain why these are the appropriate columns.
5.3-11. Consider the following problem.
Minimize Z 2x
1
3x
2
2x
3
subject to
x
1
4x
2
2x
3
8
3x
1
2x
2
2x
3
6
and
x
1
0 x
2
0 x
3
0.
Let x
4
and x
6
be the surplus variables for the first and second con-
straints respectively. Let x
5
and x
7
be the corresponding artificial
variables. After you make the adjustments described in Sec. 4.6 for
this model form when using the Big M method the initial simplex
tableau ready to apply the simplex method is as follows:
228 5 THE THEORY OF THE SIMPLEX METHOD
After you apply the simplex method a portion of the final simplex
tableau is as follows:
Coefficient of:
Basic Right
Variable Eq. Zx
1
x
2
x
3
x
4
x
5
x
6
Side
Z 0 1 M 20 M
x
1
1 0 1 0 0
x
5
2 0 1 1 1
a Based on the above tableaux use the fundamental insight pre-
sented in Sec. 5.3 to identify the missing numbers in the final
simplex tableau. Show your calculations.
b Examine the mathematical logic presented in Sec. 5.3 to vali-
date the fundamental insight see the T MT and t t vT equations and the subsequent derivations of M and v.
This logic assumes that the original model fits our standard
form whereas the current problem does not fit this form. Show
how with minor adjustments this same logic applies to the
current problem when t is row 0 and T is rows 1 and 2 in the
initial simplex tableau given above. Derive M and v for this
problem.
a Extend the fundamental insight presented in Sec. 5.3 to iden-
tify the missing numbers in the final simplex tableau. Show
your calculations.
b Identify the defining equations of the CPF solution corre-
sponding to the optimal solution in the final simplex tableau.
5.3-13. Consider the following problem.
Maximize Z 3x
1
7x
2
2x
3
subject to
2x
1
2x
2
x
3
10
3x
1
x
2
x
3
20
and
x
1
0 x
2
0 x
3
0.
Coefficient of:
Basic Right
Variable Eq.Zx
1
x
2
x
3
x
4
x
5
x
6
x
7
Side
Z 0 1 4M 2 6M 3 2M 2 M 0 M 0 14M
x
5
1 01 4 2 11 00 8
x
7
2 03 2 0 00 11 6
Coefficient of:
Basic Right
Variable Eq. Zx
1
x
2
x
3
x
4
x
5
x
6
x
7
Side
Z 0 1 M 0.5 M 0.5
x
2
1 0 0.3 0.1
x
1
2 0 0.2 0.4

slide 254:

d Construct the basis matrix B for the optimal BF solution in-
vert B manually and then use this B
1
to solve for the opti-
mal solution and the shadow prices y. Then apply the opti-
mality test for the revised simplex method to verify that this
solution is optimal.
e Given B
1
and y from part d use the fundamental insight
presented in Sec. 5.3 to construct the complete final simplex
tableau.
You are given the fact that the basic variables in the optimal solu-
tion are x
1
and x
3
.
a Introduce slack variables and then use the given information
to find the optimal solution directly by Gaussian elimination.
b Extend the work in part a to find the shadow prices.
c Use the given information to identify the defining equations of
the optimal CPF solution and then solve these equations to
obtain the optimal solution.
CHAPTER 5 PROBLEMS 229

slide 255:

230
6
Duality Theory and
Sensitivity Analysis
One of the most important discoveries in the early development of linear programming
was the concept of duality and its many important ramifications. This discovery revealed
that every linear programming problem has associated with it another linear programming
problem called the dual. The relationships between the dual problem and the original
problem called the primal prove to be extremely useful in a variety of ways. For ex-
ample you soon will see that the shadow prices described in Sec. 4.7 actually are pro-
vided by the optimal solution for the dual problem. We shall describe many other valu-
able applications of duality theory in this chapter as well.
One of the key uses of duality theory lies in the interpretation and implementation of
sensitivity analysis. As we already mentioned in Secs. 2.3 3.3 and 4.7 sensitivity analy-
sis is a very important part of almost every linear programming study. Because most of
the parameter values used in the original model are just estimates of future conditions
the effect on the optimal solution if other conditions prevail instead needs to be investi-
gated. Furthermore certain parameter values such as resource amounts may represent
managerial decisions in which case the choice of the parameter values may be the main
issue to be studied which can be done through sensitivity analysis.
For greater clarity the first three sections discuss duality theory under the assump-
tion that the primal linear programming problem is in our standard form but with no re-
striction that the b
i
values need to be positive. Other forms are then discussed in Sec. 6.4.
We begin the chapter by introducing the essence of duality theory and its applications.
We then describe the economic interpretation of the dual problem Sec. 6.2 and delve
deeper into the relationships between the primal and dual problems Sec. 6.3. Section 6.5
focuses on the role of duality theory in sensitivity analysis. The basic procedure for sen-
sitivity analysis which is based on the fundamental insight of Sec. 5.3 is summarized in
Sec. 6.6 and illustrated in Sec. 6.7.

slide 256:

Thus the dual problem uses exactly the same parameters as the primal problem but in dif-
ferent locations. To highlight the comparison now look at these same two problems in ma-
trix notation as introduced at the beginning of Sec. 5.2 where c and y y
1
y
2
. . . y
m
are row vectors but b and x are column vectors.
Primal Problem Dual Problem
6.1 THE ESSENCE OF DUALITY THEORY 231
Given our standard form for the primal problem at the left perhaps after conversion from
another form its dual problem has the form shown to the right.
Primal Problem Dual Problem
6.1 THE ESSENCE OF DUALITY THEORY
Maximize Z n
j 1
c
j
x
j
subject to
n
j 1
a
ij
x
j
b
i
for i 1 2 . . . m
and
x
j
0 for j 1 2 . . . n.
Minimize W m
i 1
b
i
y
i
subject to
m
i 1
a
ij
y
i
c
j
for j 1 2 . . . n
and
y
i
0 for i 1 2 . . . m.
Maximize Z cx
subject to
Ax b
and
x 0.
Minimize W yb
subject to
yA c
and
y 0.
To illustrate the primal and dual problems for the Wyndor Glass Co. example of Sec. 3.1
are shown in Table 6.1 in both algebraic and matrix form.
The primal-dual table for linear programming Table 6.2 also helps to highlight the
correspondence between the two problems. It shows all the linear programming parame-
ters the a
ij
b
i
and c
j
and how they are used to construct the two problems. All the head-
ings for the primal problem are horizontal whereas the headings for the dual problem are
read by turning the book sideways. For the primal problem each column except the Right
Side column gives the coefficients of a single variable in the respective constraints and
then in the objective function whereas each row except the bottom one gives the param-
eters for a single contraint. For the dual problem each row except the Right Side row
gives the coefficients of a single variable in the respective constraints and then in the ob-
jective function whereas each column except the rightmost one gives the parameters for
a single constraint. In addition the Right Side column gives the right-hand sides for the
primal problem and the objective function coefficients for the dual problem whereas the
bottom row gives the objective function coefficients for the primal problem and the right-
hand sides for the dual problem.

slide 257:

TABLE 6.1 Primal and dual problems for the Wyndor Glass Co. example
232 6 DUALITY THEORY AND SENSITIVITY ANALYSIS
Maximize Z 3x
1
5x
2
subject to
3x
1
2x
2
4
3x
1
2x
2
12
3x
1
2x
2
18
and x
1
0 x
2
0.
Minimize W 4y
1
12y
2
18y
3
subject to
y
1
2y
2
3y
3
3
2y
2
2y
3
5
and
y
1
0 y
2
0 y
3
0.
Maximize Z 3 5
subject to
and
.
0
0
x
1
x
2
4
12
18
x
1
x
2
0
2
2
1
0
3
x
1
x
2
Minimize W y
1
y
2
y
3
subject to
y
1
y
2
y
3
3 5
and
y
1
y
2
y
3
0 0 0.
0
2
2
1
0
3
4
12
18
Consequently 1 the parameters for a constraint in either problem are the coeffi-
cients of a variable in the other problem and 2 the coefficients for the objective func-
tion of either problem are the right sides for the other problem. Thus there is a direct cor-
respondence between these entities in the two problems as summarized in Table 6.3. These
correspondences are a key to some of the applications of duality theory including sensi-
tivity analysis.
Origin of the Dual Problem
Duality theory is based directly on the fundamental insight particularly with regard to
row 0 presented in Sec. 5.3. To see why we continue to use the notation introduced in
Table 5.10 for row 0 of the final tableau except for replacing Z by W and dropping the
asterisks from z and y when referring to any tableau. Thus at any given iteration of the
simplex method for the primal problem the current numbers in row 0 are denoted as
shown in the partial tableau given in Table 6.4. For the coefficients of x
1
x
2
. . . x
n
recall that z z
1
z
2
. . . z
n
denotes the vector that the simplex method added to the
vector of initial coefficients c in the process of reaching the current tableau. Do not
confuse z with the value of the objective function Z. Similarly since the initial coeffi-
cients of x
n 1
x
n 2
. . . x
n m
in row 0 all are 0 y y
1
y
2
. . . y
m
denotes the vec-
tor that the simplex method has added to these coefficients. Also recall see Eq. 1 in the
Primal Problem Dual Problem
in Algebraic Form in Algebraic Form
Primal Problem Dual Problem
in Matrix Form in Matrix Form

slide 258:

“Mathematical Summary” subsection of Sec. 5.3 that the fundamental insight led to the
following relationships between these quantities and the parameters of the original model:
W yb m
i 1
b
i
y
i
z yAso z
j
m
i 1
a
ij
y
i
for j 1 2 . . . n.
To illustrate these relationships with the Wyndor example the first equation gives
W 4y
1
12y
2
18y
3
which is just the objective function for the dual problem shown
6.1 THE ESSENCE OF DUALITY THEORY 233
TABLE 6.2 Primal-dual table for linear programming illustrated by the Wyndor
Glass Co. example
a General Case
Primal Problem
Coefficient of:
Right
x
1
x
2
…
x
n
Side
y
1
a
11
a
12
…
a
1n
b
1
y
2
a
21
a
22
…
a
2n
b
2
y
m
a
m1
a
m2
…
a
mn
b
m
VI VI
…
VI
c
1
c
2
…
c
n
TABLE 6.3 Correspondence between
entities in primal and
dual problems
One Problem Other Problem
Constraint i ←→ Variable i
Objective function ←→ Right sides
Right
Side
Dual Problem
Coefficient
of:
Coefficients
for
Objective
Function
Minimize
Coefficients for
Objective Function
Maximize
………………………………
b Wyndor Glass Co. Example
x
1
x
2
y
1
10 4
y
2
02 12
y
3
32 18
VI VI
35

slide 259:

in the upper right-hand box of Table 6.1. The second set of equations give z
1
y
1
3y
3
and z
2
2y
2
2y
3
which are the left-hand sides of the functional constraints for this
dual problem. Thus by subtracting the right-hand sides of these constraints c
1
3 and
c
2
5 z
1
c
1
and z
2
c
2
can be interpreted as being the surplus variables for these
functional constraints.
The remaining key is to express what the simplex method tries to accomplish ac-
cording to the optimality test in terms of these symbols. Specifically it seeks a set of ba-
sic variables and the corresponding BF solution such that all coefficients in row 0 are
nonnegative. It then stops with this optimal solution. Using the notation in Table 6.4 this
goal is expressed symbolically as follows:
Condition for Optimality:
z
j
c
j
0 for j 1 2 . . . n
y
i
0 for i 1 2 . . . m.
After we substitute the preceding expression for z
j
the condition for optimality says that
the simplex method can be interpreted as seeking values for y
1
y
2
. . . y
m
such that
234 6 DUALITY THEORY AND SENSITIVITY ANALYSIS
TABLE 6.4 Notation for entries in row 0 of a simplex tableau
Coefficient of:
Basic Right
Iteration Variable Eq.Zx
1
x
2
…
x
n
x
n 1
x
n 2
…
x
n m
Side
Any Z 0 1 z
1
c
1
z
2
c
2
…
z
n
c
n
y
1
y
2
…
y
m
W
W m
i 1
b
i
y
i
subject to
m
i 1
a
ij
y
i
c
j
for j 1 2 . . . n
and
y
i
0 for i 1 2 . . . m.
But except for lacking an objective for W this problem is precisely the dual problem To
complete the formulation let us now explore what the missing objective should be.
Since W is just the current value of Z and since the objective for the primal problem
is to maximize Z a natural first reaction is that W should be maximized also. However
this is not correct for the following rather subtle reason: The only feasible solutions for this
new problem are those that satisfy the condition for optimality for the primal problem.
Therefore it is only the optimal solution for the primal problem that corresponds to a fea-
sible solution for this new problem. As a consequence the optimal value of Z in the pri-
mal problem is the minimum feasible value of W in the new problem so W should be min-
imized. The full justification for this conclusion is provided by the relationships we develop
in Sec. 6.3. Adding this objective of minimizing W gives the complete dual problem.

slide 260:

Consequently the dual problem may be viewed as a restatement in linear program-
ming terms of the goal of the simplex method namely to reach a solution for the primal
problem that satisfies the optimality test. Before this goal has been reached the corre-
sponding y in row 0 coefficients of slack variables of the current tableau must be in-
feasible for the dual problem. However after the goal is reached the corresponding y
must be an optimal solution labeled y for the dual problem because it is a feasible so-
lution that attains the minimum feasible value of W. This optimal solution y
1
y
2
. . .
y
m
provides for the primal problem the shadow prices that were described in Sec. 4.7.
Furthermore this optimal W is just the optimal value of Z so the optimal objective func-
tion values are equal for the two problems. This fact also implies that cx yb for any x
and y that are feasible for the primal and dual problems respectively.
To illustrate the left-hand side of Table 6.5 shows row 0 for the respective iterations
when the simplex method is applied to the Wyndor Glass Co. example. In each case row
0 is partitioned into three parts: the coefficients of the decision variables x
1
x
2
the co-
efficients of the slack variables x
3
x
4
x
5
and the right-hand side value of Z. Since the
coefficients of the slack variables give the corresponding values of the dual variables
y
1
y
2
y
3
each row 0 identifies a corresponding solution for the dual problem as shown
in the y
1
y
2
and y
3
columns of Table 6.5. To interpret the next two columns recall that
z
1
c
1
and z
2
c
2
are the surplus variables for the functional constraints in the dual
problem so the full dual problem after augmenting with these surplus variables is
Minimize W 4y
1
12y
2
18y
3
subject to
y
1
3y
3
z
1
c
1
3
2y
2
2y
3
z
2
c
2
5
and
y
1
0 y
2
0 y
3
0.
Therefore by using the numbers in the y
1
y
2
and y
3
columns the values of these surplus
variables can be calculated as
z
1
c
1
y
1
3y
3
3
z
2
c
2
2y
2
2y
3
5.
6.1 THE ESSENCE OF DUALITY THEORY 235
TABLE 6.5 Row 0 and corresponding dual solution for each iteration for the
Wyndor Glass Co. example
Primal Problem Dual Problem
Iteration Row 0 y
1
y
2
y
3
z
1
c
1
z
2
c
2
W
0 3 5 000 0 0 0 0 3 50
1 3 00 5
2
0 30 0 5
2
0 3 030
2 0 00 3
2
1 36 0 3
2
1 0 036

slide 261:

Thus a negative value for either surplus variable indicates that the corresponding con-
straint is violated. Also included in the rightmost column of the table is the calculated
value of the dual objective function W 4y
1
12y
2
18y
3
.
As displayed in Table 6.4 all these quantities to the right of row 0 in Table 6.5 al-
ready are identified by row 0 without requiring any new calculations. In particular note
in Table 6.5 how each number obtained for the dual problem already appears in row 0 in
the spot indicated by Table 6.4.
For the initial row 0 Table 6.5 shows that the corresponding dual solution
y
1
y
2
y
3
0 0 0 is infeasible because both surplus variables are negative. The first
iteration succeeds in eliminating one of these negative values but not the other. After two
iterations the optimality test is satisfied for the primal problem because all the dual vari-
ables and surplus variables are nonnegative. This dual solution y
1
y
2
y
3
0
3
2
1 is
optimal as could be verified by applying the simplex method directly to the dual prob-
lem so the optimal value of Z and W is Z 36 W.
Summary of Primal-Dual Relationships
Now let us summarize the newly discovered key relationships between the primal and dual
problems.
Weak duality property: If x is a feasible solution for the primal problem and y
is a feasible solution for the dual problem then
cx yb.
For example for the Wyndor Glass Co. problem one feasible solution is x
1
3 x
2
3
which yields Z cx 24 and one feasible solution for the dual problem is y
1
1
y
2
1 y
3
2 which yields a larger objective function value W yb 52. These are just
sample feasible solutions for the two problems. For any such pair of feasible solutions this
inequality must hold because the maximum feasible value of Z cx 36 equals the min-
imum feasible value of the dual objective function W yb which is our next property.
Strong duality property: If x is an optimal solution for the primal problem
and y is an optimal solution for the dual problem then
cx yb.
Thus these two properties imply that cx yb for feasible solutions if one or both of them
are not optimal for their respective problems whereas equality holds when both are optimal.
The weak duality property describes the relationship between any pair of solutions
for the primal and dual problems where both solutions are feasible for their respective
problems. At each iteration the simplex method finds a specific pair of solutions for the
two problems where the primal solution is feasible but the dual solution is not feasible
except at the final iteration. Our next property describes this situation and the relation-
ship between this pair of solutions.
Complementary solutions property: At each iteration the simplex method si-
multaneously identifies a CPF solution x for the primal problem and a comple-
mentary solution y for the dual problem found in row 0 the coefficients of the
slack variables where
cx yb.
236 6 DUALITY THEORY AND SENSITIVITY ANALYSIS

slide 262:

If x is not optimal for the primal problem then y is not feasible for the dual
problem.
To illustrate after one iteration for the Wyndor Glass Co. problem x
1
0 x
2
6 and
y
1
0 y
2
5
2
y
3
0 with cx 30 yb. This x is feasible for the primal problem but
this y is not feasible for the dual problem since it violates the constraint y
1
3y
3
3.
The complementary solutions property also holds at the final iteration of the simplex
method where an optimal solution is found for the primal problem. However more can
be said about the complementary solution y in this case as presented in the next property.
Complementary optimal solutions property: At the final iteration the simplex
method simultaneously identifies an optimal solution x for the primal problem
and a complementary optimal solution y for the dual problem found in row
0 the coefficients of the slack variables where
cx yb.
The y
i
are the shadow prices for the primal problem.
For the example the final iteration yields x
1
2 x
2
6 and y
1
0 y
2
3
2
y
3
1
with cx 36 yb.
We shall take a closer look at some of these properties in Sec. 6.3. There you will
see that the complementary solutions property can be extended considerably further. In
particular after slack and surplus variables are introduced to augment the respective prob-
lems every basic solution in the primal problem has a complementary basic solution in
the dual problem. We already have noted that the simplex method identifies the values of
the surplus variables for the dual problem as z
j
c
j
in Table 6.4. This result then leads to
an additional complementary slackness property that relates the basic variables in one
problem to the nonbasic variables in the other Tables 6.7 and 6.8 but more about that
later.
In Sec. 6.4 after describing how to construct the dual problem when the primal prob-
lem is not in our standard form we discuss another very useful property which is sum-
marized as follows:
Symmetry property: For any primal problem and its dual problem all rela-
tionships between them must be symmetric because the dual of this dual prob-
lem is this primal problem.
Therefore all the preceding properties hold regardless of which of the two problems is
labeled as the primal problem. The direction of the inequality for the weak duality prop-
erty does require that the primal problem be expressed or reexpressed in maximization
form and the dual problem in minimization form. Consequently the simplex method can
be applied to either problem and it simultaneously will identify complementary solutions
ultimately a complementary optimal solution for the other problem.
So far we have focused on the relationships between feasible or optimal solutions in
the primal problem and corresponding solutions in the dual problem. However it is pos-
sible that the primal or dual problem either has no feasible solutions or has feasible so-
lutions but no optimal solution because the objective function is unbounded. Our final
property summarizes the primal-dual relationships under all these possibilities.
6.1 THE ESSENCE OF DUALITY THEORY 237

slide 263:

Duality theorem: The following are the only possible relationships between the
primal and dual problems.
1. If one problem has feasible solutions and a bounded objective function and
so has an optimal solution then so does the other problem so both the weak
and strong duality properties are applicable.
2. If one problem has feasible solutions and an unbounded objective function
and so no optimal solution then the other problem has no feasible solutions.
3. If one problem has no feasible solutions then the other problem has either no
feasible solutions or an unbounded objective function.
Applications
As we have just implied one important application of duality theory is that the dual prob-
lem can be solved directly by the simplex method in order to identify an optimal solution
for the primal problem. We discussed in Sec. 4.8 that the number of functional constraints
affects the computational effort of the simplex method far more than the number of vari-
ables does. If m n so that the dual problem has fewer functional constraints n than
the primal problem m then applying the simplex method directly to the dual problem
instead of the primal problem probably will achieve a substantial reduction in computa-
tional effort.
The weak and strong duality properties describe key relationships between the pri-
mal and dual problems. One useful application is for evaluating a proposed solution for
the primal problem. For example suppose that x is a feasible solution that has been pro-
posed for implementation and that a feasible solution y has been found by inspection for
the dual problem such that cx yb. In this case x must be optimal without the simplex
method even being applied Even if cx yb then yb still provides an upper bound on
the optimal value of Z so if yb cx is small intangible factors favoring x may lead to
its selection without further ado.
One of the key applications of the complementary solutions property is its use in the
dual simplex method presented in Sec. 7.1. This algorithm operates on the primal prob-
lem exactly as if the simplex method were being applied simultaneously to the dual prob-
lem which can be done because of this property. Because the roles of row 0 and the right
side in the simplex tableau have been reversed the dual simplex method requires that row
0 begin and remain nonnegative while the right side begins with some negative values
subsequent iterations strive to reach a nonnegative right side. Consequently this algo-
rithm occasionally is used because it is more convenient to set up the initial tableau in
this form than in the form required by the simplex method. Furthermore it frequently is
used for reoptimization discussed in Sec. 4.7 because changes in the original model lead
to the revised final tableau fitting this form. This situation is common for certain types of
sensitivity analysis as you will see later in the chapter.
In general terms duality theory plays a central role in sensitivity analysis. This role
is the topic of Sec. 6.5.
Another important application is its use in the economic interpretation of the dual prob-
lem and the resulting insights for analyzing the primal problem. You already have seen one
example when we discussed shadow prices in Sec. 4.7. The next section describes how this
interpretation extends to the entire dual problem and then to the simplex method.
238 6 DUALITY THEORY AND SENSITIVITY ANALYSIS

slide 264:

6.2 ECONOMIC INTERPRETATION OF DUALITY 239
TABLE 6.6 Economic interpretation of the primal problem
Quantity Interpretation
x
j
Level of activity j j 1 2 . . . n
c
j
Unit profit from activity j
Z Total profit from all activities
b
i
Amount of resource i available i 1 2 . . . m
a
ij
Amount of resource i consumed by each unit of activity j
The economic interpretation of duality is based directly upon the typical interpretation for
the primal problem linear programming problem in our standard form presented in Sec.
3.2. To refresh your memory we have summarized this interpretation of the primal prob-
lem in Table 6.6.
Interpretation of the Dual Problem
To see how this interpretation of the primal problem leads to an economic interpretation
for the dual problem
1
note in Table 6.4 that W is the value of Z total profit at the cur-
rent iteration. Because
W b
1
y
1
b
2
y
2
…
b
m
y
m
each b
i
y
i
can thereby be interpreted as the current contribution to profit by having b
i
units
of resource i available for the primal problem. Thus
The dual variable y
i
is interpreted as the contribution to profit per unit of resource i
i 1 2 . . . m when the current set of basic variables is used to obtain the primal
solution.
In other words the y
i
values or y
i
values in the optimal solution are just the shadow
prices discussed in Sec. 4.7.
For example when iteration 2 of the simplex method finds the optimal solution for
the Wyndor problem it also finds the optimal values of the dual variables as shown in
the bottom row of Table 6.5 to be y
1
0 y
2
3
2
and y
3
1. These are precisely the
shadow prices found in Sec. 4.7 for this problem through graphical analysis. Recall that
the resources for the Wyndor problem are the production capacities of the three plants be-
ing made available to the two new products under consideration so that b
i
is the number
of hours of production time per week being made available in Plant i for these new prod-
ucts where i 1 2 3. As discussed in Sec. 4.7 the shadow prices indicate that individ-
ually increasing any b
i
by 1 would increase the optimal value of the objective function
total weekly profit in units of thousands of dollars by y
i
. Thus y
i
can be interpreted as
the contribution to profit per unit of resource i when using the optimal solution.
6.2 ECONOMIC INTERPRETATION OF DUALITY
1
Actually several slightly different interpretations have been proposed. The one presented here seems to us to
be the most useful because it also directly interprets what the simplex method does in the primal problem.

slide 265:

This interpretation of the dual variables leads to our interpretation of the overall dual
problem. Specifically since each unit of activity j in the primal problem consumes a
ij
units of resource i
m
i 1
a
ij
y
i
is interpreted as the current contribution to profit of the mix of resources that
would be consumed if 1 unit of activity j were used j 1 2 . . . n.
For the Wyndor problem 1 unit of activity j corresponds to producing 1 batch of product j
per week where j 1 2. The mix of resources consumed by producing 1 batch of product
1 is 1 hour of production time in Plant 1 and 3 hours in Plant 3. The corresponding mix per
batch of product 2 is 2 hours each in Plants 2 and 3. Thus y
1
3y
3
and 2y
2
2y
3
are in-
terpreted as the current contributions to profit in thousands of dollars per week of these
respective mixes of resources per batch produced per week of the respective products.
For each activity j this same mix of resources and more probably can be used in
other ways as well but no alternative use should be considered if it is less profitable than
1 unit of activity j. Since c
j
is interpreted as the unit profit from activity j each functional
constraint in the dual problem is interpreted as follows:
m
i 1
a
ij
y
i
c
j
says that the actual contribution to profit of the above mix of resources
must be at least as much as if they were used by 1 unit of activity j otherwise we would
not be making the best possible use of these resources.
For the Wyndor problem the unit profits in thousands of dollars per week are c
1
3
and c
2
5 so the dual functional constraints with this interpretation are y
1
y
3
3
and 2y
2
2y
3
5. Similarly the interpretation of the nonnegativity constraints is the
following:
y
i
0 says that the contribution to profit of resource i i 1 2 . . . m must be non-
negative: otherwise it would be better not to use this resource at all.
The objective
Minimize W m
i 1
b
i
y
i
can be viewed as minimizing the total implicit value of the resources consumed by the
activities. For the Wyndor problem the total implicit value in thousands of dollars per
week of the resources consumed by the two products is W 4y
1
12y
2
18y
3
.
This interpretation can be sharpened somewhat by differentiating between basic and
nonbasic variables in the primal problem for any given BF solution x
1
x
2
. . . x
n m
.
Recall that the basic variables the only variables whose values can be nonzero always
have a coefficient of zero in row 0. Therefore referring again to Table 6.4 and the ac-
companying equation for z
j
we see that
m
i 1
a
ij
y
i
c
j
if x
j
0 j 1 2 . . . n
y
i
0 if x
n i
0i 1 2 . . . m.
This is one version of the complementary slackness property discussed in the next sec-
tion. The economic interpretation of the first statement is that whenever an activity j op-
240 6 DUALITY THEORY AND SENSITIVITY ANALYSIS

slide 266:

erates at a strictly positive level x
j
0 the marginal value of the resources it consumes
must equal as opposed to exceeding the unit profit from this activity. The second state-
ment implies that the marginal value of resource i is zero y
i
0 whenever the supply
of this resource is not exhausted by the activities x
n i
0. In economic terminology
such a resource is a “free good” the price of goods that are oversupplied must drop to
zero by the law of supply and demand. This fact is what justifies interpreting the objec-
tive for the dual problem as minimizing the total implicit value of the resources consumed
rather than the resources allocated.
To illustrate these two statements consider the optimal BF solution 2 6 2 0 0 for
the Wyndor problem. The basic variables are x
1
x
2
and x
3
so their coefficients in row 0
are zero as shown in the bottom row of Table 6.5. This bottom row also gives the corre-
sponding dual solution: y
1
0 y
2
3
2
y
3
1 with surplus variables z
1
c
1
0 and
z
2
c
2
0. Since x
1
0 and x
2
0 both these surplus variables and direct calcula-
tions indicate that y
1
3y
3
c
1
3 and 2y
2
2y
3
c
2
5. Therefore the value of
the resources consumed per batch of the respective products produced does indeed equal
the respective unit profits. The slack variable for the constraint on the amount of Plant 1
capacity used is x
3
0 so the marginal value of adding any Plant 1 capacity would be
zero y
1
0.
Interpretation of the Simplex Method
The interpretation of the dual problem also provides an economic interpretation of what
the simplex method does in the primal problem. The goal of the simplex method is to find
how to use the available resources in the most profitable feasible way. To attain this goal
we must reach a BF solution that satisfies all the requirements on profitable use of the re-
sources the constraints of the dual problem. These requirements comprise the condition
for optimality for the algorithm. For any given BF solution the requirements dual con-
straints associated with the basic variables are automatically satisfied with equality.
However those associated with nonbasic variables may or may not be satisfied.
In particular if an original variable x
j
is nonbasic so that activity j is not used then
the current contribution to profit of the resources that would be required to undertake each
unit of activity j
m
i 1
a
ij
y
i
may be smaller than larger than or equal to the unit profit c
j
obtainable from the activ-
ity. If it is smaller so that z
j
c
j
0 in row 0 of the simplex tableau then these resources
can be used more profitably by initiating this activity. If it is larger z
j
c
j
0 then
these resources already are being assigned elsewhere in a more profitable way so they
should not be diverted to activity j. If z
j
c
j
0 there would be no change in profitability
by initiating activity j.
Similarly if a slack variable x
n i
is nonbasic so that the total allocation b
i
of resource
i is being used then y
i
is the current contribution to profit of this resource on a marginal
basis. Hence if y
i
0 profit can be increased by cutting back on the use of this resource
i.e. increasing x
n i
. If y
i
0 it is worthwhile to continue fully using this resource
whereas this decision does not affect profitability if y
i
0.
6.2 ECONOMIC INTERPRETATION OF DUALITY 241

slide 267:

Therefore what the simplex method does is to examine all the nonbasic variables in
the current BF solution to see which ones can provide a more profitable use of the re-
sources by being increased. If none can so that no feasible shifts or reductions in the cur-
rent proposed use of the resources can increase profit then the current solution must be
optimal. If one or more can the simplex method selects the variable that if increased by
1 would improve the profitability of the use of the resources the most. It then actually in-
creases this variable the entering basic variable as much as it can until the marginal val-
ues of the resources change. This increase results in a new BF solution with a new row 0
dual solution and the whole process is repeated.
The economic interpretation of the dual problem considerably expands our ability to
analyze the primal problem. However you already have seen in Sec. 6.1 that this inter-
pretation is just one ramification of the relationships between the two problems. In the
next section we delve into these relationships more deeply.
242 6 DUALITY THEORY AND SENSITIVITY ANALYSIS
Because the dual problem is a linear programming problem it also has corner-point so-
lutions. Furthermore by using the augmented form of the problem we can express these
corner-point solutions as basic solutions. Because the functional constraints have the
form this augmented form is obtained by subtracting the surplus rather than adding
the slack from the left-hand side of each constraint j j 1 2 . . . n.
1
This surplus is
z
j
c
j
m
i 1
a
ij
y
i
c
j
for j 1 2 . . . n.
Thus z
j
c
j
plays the role of the surplus variable for constraint j or its slack variable if
the constraint is multiplied through by 1. Therefore augmenting each corner-point so-
lution y
1
y
2
. . . y
m
yields a basic solution y
1
y
2
. . . y
m
z
1
c
1
z
2
c
2
. . .
z
n
c
n
by using this expression for z
j
c
j
. Since the augmented form of the dual prob-
lem has n functional constraints and n m variables each basic solution has n basic vari-
ables and m nonbasic variables. Note how m and n reverse their previous roles here be-
cause as Table 6.3 indicates dual constraints correspond to primal variables and dual
variables correspond to primal constraints.
Complementary Basic Solutions
One of the important relationships between the primal and dual problems is a direct cor-
respondence between their basic solutions. The key to this correspondence is row 0 of the
simplex tableau for the primal basic solution such as shown in Table 6.4 or 6.5. Such a
row 0 can be obtained for any primal basic solution feasible or not by using the formu-
las given in the bottom part of Table 5.8.
Note again in Tables 6.4 and 6.5 how a complete solution for the dual problem includ-
ing the surplus variables can be read directly from row 0. Thus because of its coefficient in
6.3 PRIMAL-DUAL RELATIONSHIPS
1
You might wonder why we do not also introduce artificial variables into these constraints as discussed in Sec.
4.6. The reason is that these variables have no purpose other than to change the feasible region temporarily as
a convenience in starting the simplex method. We are not interested now in applying the simplex method to the
dual problem and we do not want to change its feasible region.

slide 268:

row 0 each variable in the primal problem has an associated variable in the dual problem
as summarized in Table 6.7 first for any problem and then for the Wyndor problem.
A key insight here is that the dual solution read from row 0 must also be a basic so-
lution The reason is that the m basic variables for the primal problem are required to have
a coefficient of zero in row 0 which thereby requires the m associated dual variables to
be zero i.e. nonbasic variables for the dual problem. The values of the remaining n ba-
sic variables then will be the simultaneous solution to the system of equations given at
the beginning of this section. In matrix form this system of equations is z c yA c
and the fundamental insight of Sec. 5.3 actually identifies its solution for z c and y as
being the corresponding entries in row 0.
Because of the symmetry property quoted in Sec. 6.1 and the direct association be-
tween variables shown in Table 6.7 the correspondence between basic solutions in the
primal and dual problems is a symmetric one. Furthermore a pair of complementary ba-
sic solutions has the same objective function value shown as W in Table 6.4.
Let us now summarize our conclusions about the correspondence between primal and
dual basic solutions where the first property extends the complementary solutions prop-
erty of Sec. 6.1 to the augmented forms of the two problems and then to any basic solu-
tion feasible or not in the primal problem.
Complementary basic solutions property: Each basic solution in the primal
problem has a complementary basic solution in the dual problem where their
respective objective function values Z and W are equal. Given row 0 of the sim-
plex tableau for the primal basic solution the complementary dual basic solution
y z c is found as shown in Table 6.4.
The next property shows how to identify the basic and nonbasic variables in this com-
plementary basic solution.
Complementary slackness property: Given the association between variables
in Table 6.7 the variables in the primal basic solution and the complementary
dual basic solution satisfy the complementary slackness relationship shown in
Table 6.8. Furthermore this relationship is a symmetric one so that these two
basic solutions are complementary to each other.
The reason for using the name complementary slackness for this latter property is that
it says in part that for each pair of associated variables if one of them has slack in its
6.3 PRIMAL-DUAL RELATIONSHIPS 243
TABLE 6.7 Association between variables in primal and dual problems
Primal Variable Associated Dual Variable
Any problem
Decision variable x
j
z
j
c
j
surplus variable j 1 2 . . . n
Slack variable x
n i
y
i
decision variable i 1 2 . . . m
Decision variables: x
1
z
1
c
1
surplus variables
Decision variables: x
2
z
2
c
2
Wyndor problem Slack variables: x
3
y
1
decision variables
Decision variables: x
4
y
2
Decision variables: x
5
y
3

slide 269:

nonnegativity constraint a basic variable 0 then the other one must have no slack a
nonbasic variable 0. We mentioned in Sec. 6.2 that this property has a useful economic
interpretation for linear programming problems.
Example. To illustrate these two properties again consider the Wyndor Glass Co. prob-
lem of Sec. 3.1. All eight of its basic solutions five feasible and three infeasible are
shown in Table 6.9. Thus its dual problem see Table 6.1 also must have eight basic so-
lutions each complementary to one of these primal solutions as shown in Table 6.9.
The three BF solutions obtained by the simplex method for the primal problem are
the first fifth and sixth primal solutions shown in Table 6.9. You already saw in Table
6.5 how the complementary basic solutions for the dual problem can be read directly from
row 0 starting with the coefficients of the slack variables and then the original variables.
The other dual basic solutions also could be identified in this way by constructing row 0
for each of the other primal basic solutions using the formulas given in the bottom part
of Table 5.8.
Alternatively for each primal basic solution the complementary slackness property
can be used to identify the basic and nonbasic variables for the complementary dual ba-
sic solution so that the system of equations given at the beginning of the section can be
244 6 DUALITY THEORY AND SENSITIVITY ANALYSIS
TABLE 6.8 Complementary slackness
relationship for complementary
basic solutions
Primal Associated
Variable Dual Variable
Basic Nonbasic m variables
Nonbasic Basic n variables
TABLE 6.9 Complementary basic solutions for the Wyndor Glass Co. example
Primal Problem Dual Problem
No. Basic Solution Feasible Z W Feasible Basic Solution
1 0 0 4 12 18 Yes 0 No 0 0 0 3 5
2 4 0 0 12 6 Yes 12 No 3 0 0 0 5
3 6 0 2 12 0 No 18 No 0 0 1 0 3
4 4 3 0 6 0 Yes 27 No
9
2
0 5
2
0 0
5 0 6 4 0 6 Yes 30 No
0 5
2
0 3 0
6 2 6 2 0 0 Yes 36 Yes
0 3
2
1 0 0
7 4 6 0 0 6 No 42 Yes
3 5
2
0 0 0
8 0 9 4 6 0 No 45 Yes
0 0 5
2
9
2
0

slide 270:

solved directly to obtain this complementary solution. For example consider the next-to-
last primal basic solution in Table 6.9 4 6 0 0 6. Note that x
1
x
2
and x
5
are basic
variables since these variables are not equal to 0. Table 6.7 indicates that the associated
dual variables are z
1
c
1
z
2
c
2
and y
3
. Table 6.8 specifies that these associated dual
variables are nonbasic variables in the complementary basic solution so
z
1
c
1
0 z
2
c
2
0 y
3
0.
Consequently the augmented form of the functional constraints in the dual problem
y
1
3y
3
z
1
c
1
3
2y
2
2y
3
z
2
c
2
5
reduce to
y
1
0 0 3
2y
2
0 0 5
so that y
1
3 and y
2
5
2
. Combining these values with the values of 0 for the nonbasic
variables gives the basic solution 3
5
2
0 0 0 shown in the rightmost column and next-
to-last row of Table 6.9. Note that this dual solution is feasible for the dual problem be-
cause all five variables satisfy the nonnegativity constraints.
Finally notice that Table 6.9 demonstrates that 0
3
2
1 0 0 is the optimal solution
for the dual problem because it is the basic feasible solution with minimal W 36.
Relationships between Complementary Basic Solutions
We now turn our attention to the relationships between complementary basic solutions
beginning with their feasibility relationships. The middle columns in Table 6.9 provide
some valuable clues. For the pairs of complementary solutions notice how the yes or no
answers on feasibility also satisfy a complementary relationship in most cases. In partic-
ular with one exception whenever one solution is feasible the other is not. It also is
possible for neither solution to be feasible as happened with the third pair. The one ex-
ception is the sixth pair where the primal solution is known to be optimal. The explana-
tion is suggested by the Z W column. Because the sixth dual solution also is optimal
by the complementary optimal solutions property with W 36 the first five dual so-
lutions cannot be feasible because W 36 remember that the dual problem objective is
to minimize W. By the same token the last two primal solutions cannot be feasible be-
cause Z 36.
This explanation is further supported by the strong duality property that optimal pri-
mal and dual solutions have Z W.
Next let us state the extension of the complementary optimal solutions property of
Sec. 6.1 for the augmented forms of the two problems.
Complementary optimal basic solutions property: Each optimal basic solution
in the primal problem has a complementary optimal basic solution in the dual
problem where their respective objective function values Z and W are equal.
Given row 0 of the simplex tableau for the optimal primal solution the comple-
mentary optimal dual solution y z c is found as shown in Table 6.4.
6.3 PRIMAL-DUAL RELATIONSHIPS 245

slide 271:

To review the reasoning behind this property note that the dual solution y z c
must be feasible for the dual problem because the condition for optimality for the primal
problem requires that all these dual variables including surplus variables be nonnegative.
Since this solution is feasible it must be optimal for the dual problem by the weak dual-
ity property since W Z so yb cx where x is optimal for the primal problem.
Basic solutions can be classified according to whether they satisfy each of two con-
ditions. One is the condition for feasibility namely whether all the variables including
slack variables in the augmented solution are nonnegative. The other is the condition for
optimality namely whether all the coefficients in row 0 i.e. all the variables in the com-
plementary basic solution are nonnegative. Our names for the different types of basic so-
lutions are summarized in Table 6.10. For example in Table 6.9 primal basic solutions
1 2 4 and 5 are suboptimal 6 is optimal 7 and 8 are superoptimal and 3 is neither fea-
sible nor superoptimal.
Given these definitions the general relationships between complementary basic solu-
tions are summarized in Table 6.11. The resulting range of possible common values for
the objective functions Z W for the first three pairs given in Table 6.11 the last pair can
have any value is shown in Fig. 6.1. Thus while the simplex method is dealing directly
with suboptimal basic solutions and working toward optimality in the primal problem it is
simultaneously dealing indirectly with complementary superoptimal solutions and working
toward feasibility in the dual problem. Conversely it sometimes is more convenient or nec-
essary to work directly with superoptimal basic solutions and to move toward feasibility in
the primal problem which is the purpose of the dual simplex method described in Sec. 7.1.
The third and fourth columns of Table 6.11 introduce two other common terms that
are used to describe a pair of complementary basic solutions. The two solutions are said
to be primal feasible if the primal basic solution is feasible whereas they are called dual
feasible if the complementary dual basic solution is feasible for the dual problem. Using
246 6 DUALITY THEORY AND SENSITIVITY ANALYSIS
TABLE 6.10 Classification of basic solutions
Satisfies Condition
for Optimality
Yes No
Yes Optimal Suboptimal
Feasible
No Superoptimal Neither feasible nor superoptimal
TABLE 6.11 Relationships between complementary basic solutions
Both Basic Solutions
Primal Basic Complementary
Solution Dual Basic Solution Primal Feasible Dual Feasible
Suboptimal Superoptimal Yes No
Optimal Optimal Yes Yes
Superoptimal Suboptimal No Yes
Neither feasible Neither feasible No No
nor superoptimal nor superoptimal

slide 272:

this terminology the simplex method deals with primal feasible solutions and strives to-
ward achieving dual feasibility as well. When this is achieved the two complementary
basic solutions are optimal for their respective problems.
These relationships prove very useful particularly in sensitivity analysis as you will
see later in the chapter.
6.4 ADAPTING TO OTHER PRIMAL FORMS 247
Thus far it has been assumed that the model for the primal problem is in our standard
form. However we indicated at the beginning of the chapter that any linear programming
problem whether in our standard form or not possesses a dual problem. Therefore this
section focuses on how the dual problem changes for other primal forms.
Each nonstandard form was discussed in Sec. 4.6 and we pointed out how it is pos-
sible to convert each one to an equivalent standard form if so desired. These conversions
are summarized in Table 6.12. Hence you always have the option of converting any model
to our standard form and then constructing its dual problem in the usual way. To illus-
trate we do this for our standard dual problem it must have a dual also in Table 6.13.
Note that what we end up with is just our standard primal problem Since any pair of pri-
mal and dual problems can be converted to these forms this fact implies that the dual of
the dual problem always is the primal problem. Therefore for any primal problem and its
dual problem all relationships between them must be symmetric. This is just the sym-
metry property already stated in Sec. 6.1 without proof but now Table 6.13 demon-
strates why it holds.
6.4 ADAPTING TO OTHER PRIMAL FORMS
Primal problem Dual problem
n
j 1
c
j
x
j
Z
m
i 1
b
i
y
i
W
Superoptimal Suboptimal
Suboptimal
Superoptimal
optimal Z optimal W
FIGURE 6.1
Range of possible values of
Z W for certain types of
complementary basic
solutions.

slide 273:

One consequence of the symmetry property is that all the statements made earlier in
the chapter about the relationships of the dual problem to the primal problem also hold
in reverse.
Another consequence is that it is immaterial which problem is called the primal and
which is called the dual. In practice you might see a linear programming problem fitting
our standard form being referred to as the dual problem. The convention is that the model
formulated to fit the actual problem is called the primal problem regardless of its form.
Our illustration of how to construct the dual problem for a nonstandard primal problem
did not involve either equality constraints or variables unconstrained in sign. Actually for
these two forms a shortcut is available. It is possible to show see Probs. 6.4-7 and 6.4-2a
that an equality constraint in the primal problem should be treated just like a constraint in
248 6 DUALITY THEORY AND SENSITIVITY ANALYSIS
TABLE 6.13 Constructing the dual of the
dual problem
Minimize W yb
subject to
yA c
and
y 0.
Maximize W yb
subject to
yA c
and
y 0.
Dual Problem Converted to Standard Form
Maximize Z cx
subject to
Ax b
and
x 0.
Minimize Z cx
subject to
Ax b
and
x 0.
Converted to
Standard Form Its Dual Problem
→
→
→
TABLE 6.12 Conversions to standard form for linear programming
models
Nonstandard Form Equivalent Standard Form
Minimize Z Maximize Z
n
j 1
a
ij
x
j
b
i
n
j 1
a
ij
x
j
b
i
n
j 1
a
ij
x
j
b
i n
j 1
a
ij
x
j
b
i
and n
j 1
a
ij
x
j
b
i
x
j
unconstrained in sign x
j
x
j
x
j
0 x
j
0

slide 274:

constructing the dual problem except that the nonnegativity constraint for the corresponding
dual variable should be deleted i.e. this variable is unconstrained in sign. By the symme-
try property deleting a nonnegativity constraint in the primal problem affects the dual prob-
lem only by changing the corresponding inequality constraint to an equality constraint.
Another shortcut involves functional constraints in form for a maximization prob-
lem. The straightforward but longer approach would begin by converting each such con-
straint to form
n
j 1
a
ij
x
j
b
i
→ n
j 1
a
ij
x
j
b
i
.
Constructing the dual problem in the usual way then gives a
ij
as the coefficient of y
i
in
functional constraint j which has form and a coefficient of b
i
in the objective func-
tion which is to be minimized where y
i
also has a nonnegativity constraint y
i
0. Now
suppose we define a new variable y
i
y
i
. The changes caused by expressing the dual
problem in terms of y
i
instead of y
i
are that 1 the coefficients of the variable become a
ij
for functional constraint j and b
i
for the objective function and 2 the constraint on the
variable becomes y
i
0 a nonpositivity constraint. The shortcut is to use y
i
instead of
y
i
as a dual variable so that the parameters in the original constraint a
ij
and b
i
immedi-
ately become the coefficients of this variable in the dual problem.
Here is a useful mnemonic device for remembering what the forms of dual constraints
should be. With a maximization problem it might seem sensible for a functional con-
straint to be in form slightly odd to be in form and somewhat bizarre to be in
form. Similarly for a minimization problem it might seem sensible to be in form
slightly odd to be in form and somewhat bizarre to be in form. For the constraint
on an individual variable in either kind of problem it might seem sensible to have a non-
negativity constraint somewhat odd to have no constraint so the variable is unconstrained
in sign and quite bizarre for the variable to be restricted to be less than or equal to zero.
Now recall the correspondence between entities in the primal and dual problems indicated
in Table 6.3 namely functional constraint i in one problem corresponds to variable i in
the other problem and vice versa. The sensible-odd-bizarre method or SOB method for
short says that the form of a functional constraint or the constraint on a variable in the
dual problem should be sensible odd or bizarre depending on whether the form for
the corresponding entity in the primal problem is sensible odd or bizarre. Here is a
summary.
The SOB Method for Determining the Form of Constraints in the Dual.
1
1. Formulate the primal problem in either maximization form or minimization form and
then the dual problem automatically will be in the other form.
2. Label the different forms of functional constraints and of constraints on individual vari-
ables in the primal problem as being sensible odd or bizarre according to Table 6.14.
6.4 ADAPTING TO OTHER PRIMAL FORMS 249
1
This particular mnemonic device and a related one for remembering what the forms of dual constraints should
be has been suggested by Arthur T. Benjamin a mathematics professor at Harvey Mudd College. An interest-
ing and wonderfully bizarre fact about Professor Benjamin himself is that he is one of the world’s great human
calculators who can perform such feats as quickly multiplying six-digit numbers in his head.

slide 275:

The labeling of the functional constraints depends on whether the problem is a maxi-
mization problem use the second column or a minimization problem use the third
column.
3. For each constraint on an individual variable in the dual problem use the form that
has the same label as for the functional constraint in the primal problem that corre-
sponds to this dual variable as indicated by Table 6.3.
4. For each functional constraint in the dual problem use the form that has the same la-
bel as for the constraint on the corresponding individual variable in the primal prob-
lem as indicated by Table 6.3.
The arrows between the second and third columns of Table 6.14 spell out the corre-
spondence between the forms of constraints in the primal and dual. Note that the corre-
spondence always is between a functional constraint in one problem and a constraint on
an individual variable in the other problem. Since the primal problem can be either a max-
imization or minimization problem where the dual then will be of the opposite type the
second column of the table gives the form for whichever is the maximization problem and
the third column gives the form for the other problem a minimization problem.
To illustrate consider the radiation therapy example presented in Sec. 3.4. Its model
is shown on p. 46. To show the conversion in both directions in Table 6.14 we begin
with the maximization form of this model as the primal problem before using the orig-
inal minimization form.
The primal problem in maximization form is shown on the left side of Table 6.15.
By using the second column of Table 6.14 to represent this problem the arrows in this
table indicate the form of the dual problem in the third column. These same arrows are
used in Table 6.15 to show the resulting dual problem. Because of these arrows we
have placed the functional constraints last in the dual problem rather than in their usual
top position. Beside each constraint in both problems we have inserted in parenthe-
ses an S O or B to label the form as sensible odd or bizarre. As prescribed by the
SOB method the label for each dual constraint always is the same as for the corre-
sponding primal constraint.
250 6 DUALITY THEORY AND SENSITIVITY ANALYSIS
TABLE 6.14 Corresponding primal-dual forms
Primal Problem Dual Problem
Label or Dual Problem or Primal Problem
Maximize Z or W Minimize W or Z
Constraint i: Variable y
i
or x
i
:
Sensible form y
i
0
Odd form Unconstrained
Bizarre form y
i
0
Variable x
j
or y
j
: Constraint j:
Sensible x
j
0 form
Odd Unconstrained form
Bizarre x
j
0 form
←→
←→
←→
←→
←→
←→

slide 276:

However there was no need other than for illustrative purposes to convert the pri-
mal problem to maximization form. Using the original minimization form the equivalent
primal problem is shown on the left side of Table 6.16. Now we use the third column of
Table 6.14 to represent this primal problem where the arrows indicate the form of the
dual problem in the second column. These same arrows in Table 6.16 show the resulting
dual problem on the right side. Again the labels on the constraints show the application
of the SOB method.
Just as the primal problems in Tables 6.15 and 6.16 are equivalent the two dual prob-
lems also are completely equivalent. The key to recognizing this equivalency lies in the
fact that the variables in each version of the dual problem are the negative of those in the
other version y
1
y
1
y
2
y
2
y
3
y
3
. Therefore for each version if the vari-
ables in the other version are used instead and if both the objective function and the con-
straints are multiplied through by 1 then the other version is obtained. Problem 6.4-5
asks you to verify this.
If the simplex method is to be applied to either a primal or a dual problem that has
any variables constrained to be nonpositive for example y
3
0 in the dual problem of
Table 6.15 this variable may be replaced by its nonnegative counterpart for example
y
3
y
3
.
6.4 ADAPTING TO OTHER PRIMAL FORMS 251
TABLE 6.15 One primal-dual form for the radiation therapy example
Maximize Z 0.4x
1
0.5x
2
subject to
S 0.3x
1
0.1x
2
2.7
O 0.5x
1
0.5x
2
6
B 0.6x
1
0.4x
2
6
and
S x
1
0
S x
2
0
Minimize W 2.7y
1
6y
2
6y
3
subject to
y
1
0 S
y
2
unconstrained in sign O
y
3
0 B
and
0.3y
1
0.5y
2
0.6y
3
0.4 S
0.1y
1
0.5y
2
0.4y
3
0.5 S
Primal Problem Dual Problem
←→
←→
←→
←→
←→
TABLE 6.16 The other primal-dual form for the radiation therapy example
Minimize Z 0.4x
1
0.5x
2
subject to
B 0.3x
1
0.1x
2
2.7
O 0.5x
1
0.5x
2
6
S 0.6x
1
0.4x
2
6
and
S x
1
0
S x
2
0
Maximize W 2.7y
1
6y
2
6y
3
subject to
y
1
0 B
y
2
unconstrained in sign O
y
3
0 S
and
0.3y
1
0.5y
2
0.6y
3
0.4 S
0.1y
1
0.5y
2
0.4y
3
0.6 S
Primal Problem Dual Problem
←→
←→
←→
←→
←→

slide 277:

When artificial variables are used to help the simplex method solve a primal prob-
lem the duality interpretation of row 0 of the simplex tableau is the following: Since ar-
tificial variables play the role of slack variables their coefficients in row 0 now provide
the values of the corresponding dual variables in the complementary basic solution for the
dual problem. Since artificial variables are used to replace the real problem with a more
convenient artificial problem this dual problem actually is the dual of the artificial prob-
lem. However after all the artificial variables become nonbasic we are back to the real
primal and dual problems. With the two-phase method the artificial variables would need
to be retained in phase 2 in order to read off the complete dual solution from row 0. With
the Big M method since M has been added initially to the coefficient of each artificial
variable in row 0 the current value of each corresponding dual variable is the current co-
efficient of this artificial variable minus M.
For example look at row 0 in the final simplex tableau for the radiation therapy
example given at the bottom of Table 4.12 on p. 142. After M is subtracted from the
coefficients of the artificial variables x
4
and x
6
the optimal solution for the corresponding
dual problem given in Table 6.15 is read from the coefficients of x
3
x
4
and x
6
as y
1
y
2
y
3
0.5 1.1 0. As usual the surplus variables for the two functional constraints
are read from the coefficients of x
1
and x
2
as z
1
c
1
0 and z
2
c
2
0.
252 6 DUALITY THEORY AND SENSITIVITY ANALYSIS
As described further in the next two sections sensitivity analysis basically involves in-
vestigating the effect on the optimal solution of making changes in the values of the
model parameters a
ij
b
i
and c
j
. However changing parameter values in the primal prob-
lem also changes the corresponding values in the dual problem. Therefore you have your
choice of which problem to use to investigate each change. Because of the primal-dual
relationships presented in Secs. 6.1 and 6.3 especially the complementary basic solu-
tions property it is easy to move back and forth between the two problems as desired.
In some cases it is more convenient to analyze the dual problem directly in order to de-
termine the complementary effect on the primal problem. We begin by considering two
such cases.
Changes in the Coefficients of a Nonbasic Variable
Suppose that the changes made in the original model occur in the coefficients of a vari-
able that was nonbasic in the original optimal solution. What is the effect of these changes
on this solution Is it still feasible Is it still optimal
Because the variable involved is nonbasic value of zero changing its coefficients
cannot affect the feasibility of the solution. Therefore the open question in this case is
whether it is still optimal. As Tables 6.10 and 6.11 indicate an equivalent question is
whether the complementary basic solution for the dual problem is still feasible after these
changes are made. Since these changes affect the dual problem by changing only one con-
straint this question can be answered simply by checking whether this complementary
basic solution still satisfies this revised constraint.
We shall illustrate this case in the corresponding subsection of Sec. 6.7 after devel-
oping a relevant example.
6.5 THE ROLE OF DUALITY THEORY IN SENSITIVITY ANALYSIS

slide 278:

Introduction of a New Variable
As indicated in Table 6.6 the decision variables in the model typically represent the lev-
els of the various activities under consideration. In some situations these activities were
selected from a larger group of possible activities where the remaining activities were not
included in the original model because they seemed less attractive. Or perhaps these other
activities did not come to light until after the original model was formulated and solved.
Either way the key question is whether any of these previously unconsidered activities
are sufficiently worthwhile to warrant initiation. In other words would adding any of these
activities to the model change the original optimal solution
Adding another activity amounts to introducing a new variable with the appropriate
coefficients in the functional constraints and objective function into the model. The only
resulting change in the dual problem is to add a new constraint see Table 6.3.
After these changes are made would the original optimal solution along with the
new variable equal to zero nonbasic still be optimal for the primal problem As for the
preceding case an equivalent question is whether the complementary basic solution for
the dual problem is still feasible. And as before this question can be answered simply
by checking whether this complementary basic solution satisfies one constraint which in
this case is the new constraint for the dual problem.
To illustrate suppose for the Wyndor Glass Co. problem of Sec. 3.1 that a possible
third new product now is being considered for inclusion in the product line. Letting x
new
represent the production rate for this product we show the resulting revised model as
follows:
Maximize Z 3x
1
5x
2
4x
new
subject to
x
1
2x
2
2x
new
4
3x
1
2x
2
3x
new
12
3x
1
2x
2
x
new
18
and
x
1
0 x
2
0 x
new
0.
After we introduced slack variables the original optimal solution for this problem with-
out x
new
given by Table 4.8 was x
1
x
2
x
3
x
4
x
5
2 6 2 0 0. Is this solution along
with x
new
0 still optimal
To answer this question we need to check the complementary basic solution for the
dual problem. As indicated by the complementary optimal basic solutions property in Sec.
6.3 this solution is given in row 0 of the final simplex tableau for the primal problem
using the locations shown in Table 6.4 and illustrated in Table 6.5. Therefore as given in
both the bottom row of Table 6.5 and the sixth row of Table 6.9 the solution is
y
1
y
2
y
3
z
1
c
1
z
2
c
2
0 3
2
100
.
Alternatively this complementary basic solution can be derived in the way that was illus-
trated in Sec. 6.3 for the complementary basic solution in the next-to-last row of Table 6.9.
6.5 THE ROLE OF DUALITY THEORY IN SENSITIVITY ANALYSIS 253

slide 279:

Since this solution was optimal for the original dual problem it certainly satisfies the
original dual constraints shown in Table 6.1. But does it satisfy this new dual constraint
2y
1
3y
2
y
3
4
Plugging in this solution we see that
20 3
3
2
1 4
is satisfied so this dual solution is still feasible and thus still optimal. Consequently the
original primal solution 2 6 2 0 0 along with x
new
0 is still optimal so this third
possible new product should not be added to the product line.
This approach also makes it very easy to conduct sensitivity analysis on the coefficients
of the new variable added to the primal problem. By simply checking the new dual constraint
you can immediately see how far any of these parameter values can be changed before they
affect the feasibility of the dual solution and so the optimality of the primal solution.
Other Applications
Already we have discussed two other key applications of duality theory to sensitivity analy-
sis namely shadow prices and the dual simplex method. As described in Secs. 4.7 and 6.2
the optimal dual solution y
1
y
2
. . . y
m
provides the shadow prices for the respective
resources that indicate how Z would change if small changes were made in the b
i
the re-
source amounts. The resulting analysis will be illustrated in some detail in Sec. 6.7.
In more general terms the economic interpretation of the dual problem and of the sim-
plex method presented in Sec. 6.2 provides some useful insights for sensitivity analysis.
When we investigate the effect of changing the b
i
or the a
ij
values for basic vari-
ables the original optimal solution may become a superoptimal basic solution as de-
fined in Table 6.10 instead. If we then want to reoptimize to identify the new optimal so-
lution the dual simplex method discussed at the end of Secs. 6.1 and 6.3 should be
applied starting from this basic solution.
We mentioned in Sec. 6.1 that sometimes it is more efficient to solve the dual prob-
lem directly by the simplex method in order to identify an optimal solution for the pri-
mal problem. When the solution has been found in this way sensitivity analysis for the
primal problem then is conducted by applying the procedure described in the next two
sections directly to the dual problem and then inferring the complementary effects on the
primal problem e.g. see Table 6.11. This approach to sensitivity analysis is relatively
straightforward because of the close primal-dual relationships described in Secs. 6.1 and
6.3. See Prob. 6.6-3.
254 6 DUALITY THEORY AND SENSITIVITY ANALYSIS
The work of the operations research team usually is not even nearly done when the sim-
plex method has been successfully applied to identify an optimal solution for the model.
As we pointed out at the end of Sec. 3.3 one assumption of linear programming is that
all the parameters of the model a
ij
b
i
and c
j
are known constants. Actually the param-
eter values used in the model normally are just estimates based on a prediction of future
conditions. The data obtained to develop these estimates often are rather crude or non-
6.6 THE ESSENCE OF SENSITIVITY ANALYSIS

slide 280:

existent so that the parameters in the original formulation may represent little more than
quick rules of thumb provided by harassed line personnel. The data may even represent
deliberate overestimates or underestimates to protect the interests of the estimators.
Thus the successful manager and operations research staff will maintain a healthy
skepticism about the original numbers coming out of the computer and will view them in
many cases as only a starting point for further analysis of the problem. An “optimal” so-
lution is optimal only with respect to the specific model being used to represent the real
problem and such a solution becomes a reliable guide for action only after it has been ver-
ified as performing well for other reasonable representations of the problem. Furthermore
the model parameters particularly b
i
sometimes are set as a result of managerial policy
decisions e.g. the amount of certain resources to be made available to the activities and
these decisions should be reviewed after their potential consequences are recognized.
For these reasons it is important to perform sensitivity analysis to investigate the ef-
fect on the optimal solution provided by the simplex method if the parameters take on
other possible values. Usually there will be some parameters that can be assigned any rea-
sonable value without the optimality of this solution being affected. However there may
also be parameters with likely alternative values that would yield a new optimal solution.
This situation is particularly serious if the original solution would then have a substan-
tially inferior value of the objective function or perhaps even be infeasible
Therefore one main purpose of sensitivity analysis is to identify the sensitive param-
eters i.e. the parameters whose values cannot be changed without changing the optimal
solution. For certain parameters that are not categorized as sensitive it is also very help-
ful to determine the range of values of the parameter over which the optimal solution will
remain unchanged. We call this range of values the allowable range to stay optimal. In
some cases changing a parameter value can affect the feasibility of the optimal BF solu-
tion. For such parameters it is useful to determine the range of values over which the op-
timal BF solution with adjusted values for the basic variables will remain feasible. We
call this range of values the allowable range to stay feasible. In the next section we will
describe the specific procedures for obtaining this kind of information.
Such information is invaluable in two ways. First it identifies the more important pa-
rameters so that special care can be taken to estimate them closely and to select a solu-
tion that performs well for most of their likely values. Second it identifies the parame-
ters that will need to be monitored particularly closely as the study is implemented. If it
is discovered that the true value of a parameter lies outside its allowable range this im-
mediately signals a need to change the solution.
For small problems it would be straightforward to check the effect of a variety of
changes in parameter values simply by reapplying the simplex method each time to see
if the optimal solution changes. This is particularly convenient when using a spreadsheet
formulation. Once the Solver has been set up to obtain an optimal solution all you have
to do is make any desired change on the spreadsheet and then click on the Solve button
again.
However for larger problems of the size typically encountered in practice sensitiv-
ity analysis would require an exorbitant computational effort if it were necessary to reap-
ply the simplex method from the beginning to investigate each new change in a parame-
ter value. Fortunately the fundamental insight discussed in Sec. 5.3 virtually eliminates
computational effort. The basic idea is that the fundamental insight immediately reveals
6.6 THE ESSENCE OF SENSITIVITY ANALYSIS 255

slide 281:

just how any changes in the original model would change the numbers in the final sim-
plex tableau assuming that the same sequence of algebraic operations originally per-
formed by the simplex method were to be duplicated. Therefore after making a few sim-
ple calculations to revise this tableau we can check easily whether the original optimal
BF solution is now nonoptimal or infeasible. If so this solution would be used as the
initial basic solution to restart the simplex method or dual simplex method to find the
new optimal solution if desired. If the changes in the model are not major only a very
few iterations should be required to reach the new optimal solution from this “advanced”
initial basic solution.
To describe this procedure more specifically consider the following situation. The
simplex method already has been used to obtain an optimal solution for a linear pro-
gramming model with specified values for the b
i
c
j
and a
ij
parameters. To initiate sen-
sitivity analysis at least one of the parameters is changed. After the changes are made
let b i
c
j
and a
ij
denote the values of the various parameters. Thus in matrix notation
b b c c
A A
for the revised model.
The first step is to revise the final simplex tableau to reflect these changes. Continu-
ing to use the notation presented in Table 5.10 as well as the accompanying formulas for
the fundamental insight 1 t t yT and 2 T ST we see that the revised fi-
nal tableau is calculated from y and S which have not changed and the new initial
tableau as shown in Table 6.17.
Example Variation 1 of the Wyndor Model. To illustrate suppose that the first
revision in the model for the Wyndor Glass Co. problem of Sec. 3.1 is the one shown in
Table 6.18.
Thus the changes from the original model are c
1
3 4 a
31
3 2 and b
2
12 24. Figure 6.2 shows the graphical effect of these changes. For the original model
the simplex method already has identified the optimal CPF solution as 2 6 lying at the
intersection of the two constraint boundaries shown as dashed lines 2x
2
12 and
3x
1
2x
2
18. Now the revision of the model has shifted both of these constraint bound-
aries as shown by the dark lines 2x
2
24 and 2x
1
2x
2
18. Consequently the previous
256 6 DUALITY THEORY AND SENSITIVITY ANALYSIS
TABLE 6.17 Revised final simplex tableau resulting from changes in original model
Coefficient of:
Eq. Z Original Variables Slack Variables Right Side
0 1 c
0 0
New initial tableau
1 2 . . . m0A I b 0 1 z c
yA c
y Z yb Revised final tableau
1 2 . . . m0A SA S b Sb

slide 282:

6.6 THE ESSENCE OF SENSITIVITY ANALYSIS 257
TABLE 6.18 The original model and the first revised model variation 1 for
conducting sensitivity analysis on the Wyndor Glass Co. model
Maximize Z 3 5
subject to
and
x 0.
4
12
18
x
1
x
2
0
2
2
1
0
3
x
1
x
2
Maximize Z 4 5
subject to
and
x 0.
4
24
18
x
1
x
2
0
2
2
1
0
2
x
1
x
2
Original Model Revised Model
x
2
x
1
x
1
0
10
8
6
4
2
0 24 6 8
3 12
3x
1
2x
2
18
2x
1
2x
2
18
2x
2
12
x
1
4
2x
2
24
x
2
0
2 6
0 9 optimal
FIGURE 6.2
Shift of the final corner-point
solution from 2 6 to
3 12 for Variation 1 of
the Wyndor Glass Co. model
where c
1
3 4
a
31
3 2 and
b
2
12 24.

slide 283:

CPF solution 2 6 now shifts to the new intersection 3 12 which is a corner-point in-
feasible solution for the revised model. The procedure described in the preceding para-
graphs finds this shift algebraically in augmented form. Furthermore it does so in a man-
ner that is very efficient even for huge problems where graphical analysis is impossible.
To carry out this procedure we begin by displaying the parameters of the revised
model in matrix form:
c
4 5 A b .
The resulting new initial simplex tableau is shown at the top of Table 6.19. Below this
tableau is the original final tableau as first given in Table 4.8. We have drawn dark boxes
around the portions of this final tableau that the changes in the model definitely do not
change namely the coefficients of the slack variables in both row 0 y and the rest of
the rows S. Thus
y 0
3
2
1 S .
1
3
0
1
3
1
3
1
2
1
3
1
0
0
4
24
18
0
2
2
1
0
2
258 6 DUALITY THEORY AND SENSITIVITY ANALYSIS
TABLE 6.19 Obtaining the revised final simplex tableau for Variation 1 of the
Wyndor Glass Co. model
Coefficient of:
Basic Right
Variable Eq. Zx
1
x
2
x
3
x
4
x
5
Side
Z 0 1 4 50 0 0 0
New initial tableau
x
3
1 0 1 0 1 0 0 4
x
4
2 0 0 2 0 1 0 24
x
5
3 0 2 2 0 0 1 18
Z 0 1 0 0 0 3
2
136
Final tableau for
x
3
1 0 0 0 1 1
3
1
3
2
original model
x
2
2 0 0 1 0 1
2
06
x
1
3 0 1 0 0 1
3
1
3
2
Z 0 1 20 0 3
2
154
x
3
1 0 1
3
01 1
3
1
3
6
Revised final tableau
x
2
2 0 0 1 0 1
2
012
x
1
3 0 2
3
00 1
3
1
3
2

slide 284:

These coefficients of the slack variables necessarily are unchanged with the same alge-
braic operations originally performed by the simplex method because the coefficients of
these same variables in the initial tableau are unchanged.
However because other portions of the initial tableau have changed there will be
changes in the rest of the final tableau as well. Using the formulas in Table 6.17 we cal-
culate the revised numbers in the rest of the final tableau as follows:
z c
0
3
2
1 4 5 2 0 Z 0
3
2
1 54
A
b .
The resulting revised final tableau is shown at the bottom of Table 6.19.
Actually we can substantially streamline these calculations for obtaining the revised
final tableau. Because none of the coefficients of x
2
changed in the original model tableau
none of them can change in the final tableau so we can delete their calculation. Several
other original parameters a
11
a
21
b
1
b
3
also were not changed so another shortcut is
to calculate only the incremental changes in the final tableau in terms of the incremental
changes in the initial tableau ignoring those terms in the vector or matrix multiplication
that involve zero change in the initial tableau. In particular the only incremental changes
in the initial tableau are c
1
1 a
31
1 and b
2
12 so these are the only terms
that need be considered. This streamlined approach is shown below where a zero or dash
appears in each spot where no calculation is needed.
z c y A c 0
3
2
1 1 — 2 —.
Z y b 0
3
2
1 18.
A S A .
b S b .
Adding these increments to the original quantities in the final tableau middle of Table
6.19 then yields the revised final tableau bottom of Table 6.19.
4
6
4
0
12
0
1
3
0
1
3
1
3
1
2
1
3
1
0
0
—
—
—
1
3
0
1
3
—
—
—
0
0
1
1
3
0
1
3
1
3
1
2
1
3
1
0
0
0
12
0
—
—
—
0
0
1
6
12
2
4
24
18
1
3
0
1
3
1
3
1
2
1
3
1
0
0
0
1
0
1
3
0
2
3
0
2
2
1
0
2
1
3
0
1
3
1
3
1
2
1
3
1
0
0
4
24
18
0
2
2
1
0
2
6.6 THE ESSENCE OF SENSITIVITY ANALYSIS 259

slide 285:

This incremental analysis also provides a useful general insight namely that changes
in the final tableau must be proportional to each change in the initial tableau. We illus-
trate in the next section how this property enables us to use linear interpolation or ex-
trapolation to determine the range of values for a given parameter over which the final
basic solution remains both feasible and optimal.
After obtaining the revised final simplex tableau we next convert the tableau to proper
form from Gaussian elimination as needed. In particular the basic variable for row i
must have a coefficient of 1 in that row and a coefficient of 0 in every other row in-
cluding row 0 for the tableau to be in the proper form for identifying and evaluating the
current basic solution. Therefore if the changes have violated this requirement which can
occur only if the original constraint coefficients of a basic variable have been changed
further changes must be made to restore this form. This restoration is done by using Gauss-
ian elimination i.e. by successively applying step 3 of an iteration for the simplex method
see Chap. 4 as if each violating basic variable were an entering basic variable. Note that
these algebraic operations may also cause further changes in the right side column so
that the current basic solution can be read from this column only when the proper form
from Gaussian elimination has been fully restored.
For the example the revised final simplex tableau shown in the top half of Table
6.20 is not in proper form from Gaussian elimination because of the column for the ba-
sic variable x
1
. Specifically the coefficient of x
1
in its row row 3 is
2
3
instead of 1 and
it has nonzero coefficients 2 and
1
3
in rows 0 and 1. To restore proper form row 3 is
multiplied by
3
2
then 2 times this new row 3 is added to row 0 and
1
3
times new row 3 is
subtracted from row 1. This yields the proper form from Gaussian elimination shown in
260 6 DUALITY THEORY AND SENSITIVITY ANALYSIS
TABLE 6.20 Converting the revised final simplex tableau to proper form from
Gaussian elimination for Variation 1 of the Wyndor Glass Co. model
Coefficient of:
Basic Right
Variable Eq. Zx
1
x
2
x
3
x
4
x
5
Side
Z 0 1 20 0 3
2
154
Revised final
x
3
1 0 1
3
01 1
3
1
3
6
tableau
x
2
2 0 0 1 0 1
2
012
x
1
3 0 2
3
00 1
3
1
3
2
Z 0 1 0 0 0 1
2
248
Converted to proper
x
3
1 0 0 0 1 1
2
1
2
7
form
x
2
2 0 0 1 0 1
2
012
x
1
3 0 1 0 0 1
2
1
2
3

slide 286:

the bottom half of Table 6.20 which now can be used to identify the new values for the
current previously optimal basic solution:
x
1
x
2
x
3
x
4
x
5
3 12 7 0 0.
Because x
1
is negative this basic solution no longer is feasible. However it is superop-
timal as defined in Table 6.10 and so dual feasible because all the coefficients in row 0 still
are nonnegative. Therefore the dual simplex method can be used to reoptimize if desired
by starting from this basic solution. The sensitivity analysis routine in the OR Courseware
includes this option. Referring to Fig. 6.2 and ignoring slack variables the dual simplex
method uses just one iteration to move from the corner-point solution 3 12 to the optimal
CPF solution 0 9. It is often useful in sensitivity analysis to identify the solutions that are
optimal for some set of likely values of the model parameters and then to determine which of
these solutions most consistently performs well for the various likely parameter values.
If the basic solution 3 12 7 0 0 had been neither primal feasible nor dual fea-
sible i.e. if the tableau had negative entries in both the right side column and row 0 ar-
tificial variables could have been introduced to convert the tableau to the proper form for
an initial simplex tableau.
1
The General Procedure. When one is testing to see how sensitive the original opti-
mal solution is to the various parameters of the model the common approach is to check
each parameter or at least c
j
and b
i
individually. In addition to finding allowable ranges
as described in the next section this check might include changing the value of the pa-
rameter from its initial estimate to other possibilities in the range of likely values in-
cluding the endpoints of this range. Then some combinations of simultaneous changes
of parameter values such as changing an entire functional constraint may be investigated.
Each time one or more of the parameters is changed the procedure described and il-
lustrated here would be applied. Let us now summarize this procedure.
Summary of Procedure for Sensitivity Analysis
1. Revision of model: Make the desired change or changes in the model to be investigated
next.
2. Revision of final tableau: Use the fundamental insight as summarized by the formu-
las on the bottom of Table 6.17 to determine the resulting changes in the final sim-
plex tableau. See Table 6.19 for an illustration.
3. Conversion to proper form from Gaussian elimination: Convert this tableau to the
proper form for identifying and evaluating the current basic solution by applying as
necessary Gaussian elimination. See Table 6.20 for an illustration.
4. Feasibility test: Test this solution for feasibility by checking whether all its basic vari-
able values in the right-side column of the tableau still are nonnegative.
5. Optimality test: Test this solution for optimality if feasible by checking whether all
its nonbasic variable coefficients in row 0 of the tableau still are nonnegative.
6. Reoptimization: If this solution fails either test the new optimal solution can be ob-
tained if desired by using the current tableau as the initial simplex tableau and mak-
ing any necessary conversions for the simplex method or dual simplex method.
6.6 THE ESSENCE OF SENSITIVITY ANALYSIS 261
1
There also exists a primal-dual algorithm that can be directly applied to such a simplex tableau without any
conversion.

slide 287:

The interactive routine entitled sensitivity analysis in the OR Courseware will enable
you to efficiently practice applying this procedure. In addition a demonstration in OR Tu-
tor also entitled sensitivity analysis provides you with another example.
In the next section we shall discuss and illustrate the application of this procedure
to each of the major categories of revisions in the original model. This discussion will in-
volve in part expanding upon the example introduced in this section for investigating
changes in the Wyndor Glass Co. model. In fact we shall begin by individually checking
each of the preceding changes. At the same time we shall integrate some of the applica-
tions of duality theory to sensitivity analysis discussed in Sec. 6.5.
262 6 DUALITY THEORY AND SENSITIVITY ANALYSIS
Sensitivity analysis often begins with the investigation of changes in the values of b
i
the
amount of resource i i 1 2 . . . m being made available for the activities under con-
sideration. The reason is that there generally is more flexibility in setting and adjusting
these values than there is for the other parameters of the model. As already discussed in
Secs. 4.7 and 6.2 the economic interpretation of the dual variables the y
i
as shadow
prices is extremely useful for deciding which changes should be considered.
Case 1—Changes in b
i
Suppose that the only changes in the current model are that one or more of the b
i
param-
eters i 1 2 . . . m has been changed. In this case the only resulting changes in the
final simplex tableau are in the right-side column. Consequently the tableau still will be
in proper form from Gaussian elimination and all the nonbasic variable coefficients in row
0 still will be nonnegative. Therefore both the conversion to proper form from Gaussian
elimination and the optimality test steps of the general procedure can be skipped. After
revising the right-side column of the tableau the only question will be whether all the ba-
sic variable values in this column still are nonnegative the feasibility test.
As shown in Table 6.17 when the vector of the b
i
values is changed from b to b the
formulas for calculating the new right-side column in the final tableau are
Right side of final row 0: Z yb
Right side of final rows 1 2 . . . m: b Sb .
See the bottom of Table 6.17 for the location of the unchanged vector y and matrix S
in the final tableau.
Example Variation 2 of the Wyndor Model. Sensitivity analysis is begun for
the original Wyndor Glass Co. problem of Sec. 3.1 by examining the optimal values of
the y
i
dual variables y
1
0 y
2
3
2
y
3
1. These shadow prices give the marginal
value of each resource i for the activities two new products under consideration where
marginal value is expressed in the units of Z thousands of dollars of profit per week. As
discussed in Sec. 4.7 see Fig. 4.8 the total profit from these activities can be increased
1500 per week y
2
times 1000 per week for each additional unit of resource 2 hour
of production time per week in Plant 2 that is made available. This increase in profit
holds for relatively small changes that do not affect the feasibility of the current basic so-
lution and so do not affect the y
i
values.
6.7 APPLYING SENSITIVITY ANALYSIS

slide 288:

Consequently the OR team has investigated the marginal profitability from the other
current uses of this resource to determine if any are less than 1500 per week. This in-
vestigation reveals that one old product is far less profitable. The production rate for this
product already has been reduced to the minimum amount that would justify its market-
ing expenses. However it can be discontinued altogether which would provide an addi-
tional 12 units of resource 2 for the new products. Thus the next step is to determine the
profit that could be obtained from the new products if this shift were made. This shift
changes b
2
from 12 to 24 in the linear programming model. Figure 6.3 shows the graph-
ical effect of this change including the shift in the final corner-point solution from 2 6
to 2 12. Note that this figure differs from Fig. 6.2 which depicts Variation 1 of the
Wyndor model because the constraint 3x
1
2x
2
18 has not been changed here.
Thus for Variation 2 of the Wyndor model the only revision in the original model is
the following change in the vector of the b
i
values:
b → b .
so only b
2
has a new value.
4
24
18
4
12
18
6.7 APPLYING SENSITIVITY ANALYSIS 263
x
2
x
1
x
1
0
14
10
8
6
4
2
0 246 8
2 12
3x
1
2x
2
18
2x
2
12
Z 45 3x
1
5x
2
x
1
4
2x
2
24
x
2
0
2 6
0 9 optimal
Feasible
region
FIGURE 6.3
Feasible region for Variation
2 of the Wyndor Glass Co.
model where b
2
12 → 24.

slide 289:

Analysis of Variation 2. When the fundamental insight Table 6.17 is applied the
effect of this change in b
2
on the original final simplex tableau middle of Table 6.19 is
that the entries in the right-side column change to the following values:
Z yb 0
3
2
1 54
b Sb so .
Equivalently because the only change in the original model is b
2
24 12 12
incremental analysis can be used to calculate these same values more quickly. Incremen-
tal analysis involves calculating just the increments in the tableau values caused by the
change or changes in the original model and then adding these increments to the orig-
inal values. In this case the increments in Z and b are
Z y b y y
b S b S S .
Therefore using the second component of y and the second column of S the only cal-
culations needed are
Z 3
2
12 18 so Z 36 18 54
b
1
1
3
12 4 so b
1
2 4 6
b
2
1
2
12 6 so b
2
6 6 12
b
3
1
3
12 4 so b
3
2 4 2
where the original values of these quantities are obtained from the right-side column in
the original final tableau middle of Table 6.19. The resulting revised final tableau cor-
responds completely to this original final tableau except for replacing the right-side col-
umn with these new values.
Therefore the current previously optimal basic solution has become
x
1
x
2
x
3
x
4
x
5
2 12 6 0 0
which fails the feasibility test because of the negative value. The dual simplex method
now can be applied starting with this revised simplex tableau to find the new optimal so-
0
12
0
b
1
b
2
b
3
0
12
0
b
1
b
2
b
3
6
12
2
x
3
x
2
x
1
6
12
2
4
24
18
1
3
0
1
3
1
3
1
2
1
3
1
0
0
4
24
18
264 6 DUALITY THEORY AND SENSITIVITY ANALYSIS

slide 290:

lution. This method leads in just one iteration to the new final simplex tableau shown in
Table 6.21. Alternatively the simplex method could be applied from the beginning which
also would lead to this final tableau in just one iteration in this case. This tableau indi-
cates that the new optimal solution is
x
1
x
2
x
3
x
4
x
5
0 9 4 6 0
with Z 45 thereby providing an increase in profit from the new products of 9 units
9000 per week over the previous Z 36. The fact that x
4
6 indicates that 6 of the
12 additional units of resource 2 are unused by this solution.
Based on the results with b
2
24 the relatively unprofitable old product will be
discontinued and the unused 6 units of resource 2 will be saved for some future use.
Since y
3
still is positive a similar study is made of the possibility of changing the al-
location of resource 3 but the resulting decision is to retain the current allocation. There-
fore the current linear programming model at this point Variation 2 has the parame-
ter values and optimal solution shown in Table 6.21. This model will be used as the
starting point for investigating other types of changes in the model later in this section.
However before turning to these other cases let us take a broader look at the current
case.
The Allowable Range to Stay Feasible. Although b
2
12 proved to be too
large an increase in b
2
to retain feasibility and so optimality with the basic solution
where x
1
x
2
and x
3
are the basic variables middle of Table 6.19 the above incre-
mental analysis shows immediately just how large an increase is feasible. In particu-
lar note that
b
1
2 1
3
b
2
b
2
6 1
2
b
2
b
3
2 1
3
b
2
6.7 APPLYING SENSITIVITY ANALYSIS 265
TABLE 6.21 Data for Variation 2 of the Wyndor Glass Co. model
Final Simplex Tableau after Reoptimization
Coefficient of:
Basic Right
Variable Eq. Zx
1
x
2
x
3
x
4
x
5
Side
Z 0 1 9
2
000 5
2
45
x
3
1 0 1 0 1 0 0 4
x
2
2 0 3
2
100 1
2
9
x
4
3 0 3 001 16
c
1
3 c
2
5n 2
a
11
1 a
12
0 b
1
4
a
21
0 a
22
2 b
2
24
a
31
3 a
32
2 b
3
18
Model Parameters

slide 291:

where these three quantities are the values of x
3
x
2
and x
1
respectively for this basic so-
lution. The solution remains feasible and so optimal as long as all three quantities re-
main nonnegative.
2 1
3
b
2
0 ⇒ 1
3
b
2
2 ⇒ b
2
6
6 1
2
b
2
0 ⇒ 1
2
b
2
6 ⇒ b
2
12
2 1
3
b
2
0 ⇒ 2 1
3
b
2
⇒ b
2
6.
Therefore since b
2
12 b
2
the solution remains feasible only if
6 b
2
6 that is 6 b
2
18.
Verify this graphically in Fig. 6.3. As introduced in Sec. 4.7 this range of values for b
2
is referred to as its allowable range to stay feasible.
For any b
i
recall from Sec. 4.7 that its allowable range to stay feasible is the
range of values over which the current optimal BF solution
1
with adjusted val-
ues for the basic variables remains feasible. Thus the shadow price for b
i
re-
mains valid for evaluating the effect on Z of changing b
i
only as long as b
i
re-
mains within this allowable range. It is assumed that the change in this one b
i
value is the only change in the model. The adjusted values for the basic vari-
ables are obtained from the formula b Sb . The calculation of the allowable
range to stay feasible then is based on finding the range of values of b
i
such that
b 0.
Many linear programming software packages use this same technique for automati-
cally generating the allowable range to stay feasible for each b
i
. A similar technique dis-
cussed under Cases 2a and 3 also is used to generate an allowable range to stay optimal
for each c
j
. In Chap. 4 we showed the corresponding output for the Excel Solver and
LINDO in Figs. 4.10 and 4.13 respectively. Table 6.22 summarizes this same output with
respect to the b
i
for the original Wyndor Glass Co. model. For example both the allow-
able increase and allowable decrease for b
2
are 6 that is 6 b
2
6. The above
analysis shows how these quantities were calculated.
266 6 DUALITY THEORY AND SENSITIVITY ANALYSIS
1
When there is more than one optimal BF solution for the current model before changing b
i
we are referring
here to the one obtained by the simplex method.
TABLE 6.22 Typical software output for sensitivity analysis of the right-hand sides
for the original Wyndor Glass Co. model
Constraint Shadow Price Current RHS Allowable Increase Allowable Decrease
Plant 1 0.0 4 2
Plant 2 1.5 12 6 6
Plant 3 1.0 18 6 6

slide 292:

Analyzing Simultaneous Changes in Right-Hand Sides. When multiple b
i
values
are changed simultaneously the formula b Sb can again be used to see how the right-
hand sides change in the final tableau. If all these right-hand sides still are nonnegative the
feasibility test will indicate that the revised solution provided by this tableau still is feasi-
ble. Since row 0 has not changed being feasible implies that this solution also is optimal.
Although this approach works fine for checking the effect of a specific set of changes in
the b
i
it does not give much insight into how far the b
i
can be simultaneously changed from
their original values before the revised solution will no longer be feasible. As part of postop-
timality analysis the management of an organization often is interested in investigating the
effect of various changes in policy decisions e.g. the amounts of resources being made avail-
able to the activities under consideration that determine the right-hand sides. Rather than
considering just one specific set of changes management may want to explore directions of
changes where some right-hand sides increase while others decrease. Shadow prices are in-
valuable for this kind of exploration. However shadow prices remain valid for evaluating the
effect of such changes on Z only within certain ranges of changes. For each b
i
the allowable
range to stay feasible gives this range if none of the other b
i
are changing at the same time.
What do these allowable ranges become when some of the b
i
are changing simultaneously
A partial answer to this question is provided by the following 100 percent rule which
combines the allowable changes increase or decrease for the individual b
i
that are given
by the last two columns of a table like Table 6.22.
The 100 Percent Rule for Simultaneous Changes in Right-Hand Sides: The
shadow prices remain valid for predicting the effect of simultaneously changing
the right-hand sides of some of the functional constraints as long as the changes
are not too large. To check whether the changes are small enough calculate for
each change the percentage of the allowable change increase or decrease for that
right-hand side to remain within its allowable range to stay feasible. If the sum of
the percentage changes does not exceed 100 percent the shadow prices definitely
will still be valid. If the sum does exceed 100 percent then we cannot be sure.
Example Variation 3 of the Wyndor Model. To illustrate this rule consider Vari-
ation 3 of the Wyndor Glass Co. model which revises the original model by changing the
right-hand side vector as follows:
b b .
The calculations for the 100 percent rule in this case are
b
2
: 12 15. Percentage of allowable increase 100
15 6
12
50
b
3
: 18 15. Percentage of allowable decrease 100
18 6
15
50
Sum 100
Since the sum of 100 percent barely does not exceed 100 percent the shadow prices
definitely are valid for predicting the effect of these changes on Z. In particular since
4
15
15
4
12
18
6.7 APPLYING SENSITIVITY ANALYSIS 267

slide 293:

the shadow prices of b
2
and b
3
are 1.5 and 1 respectively the resulting change in Z
would be
Z 1.53 1 3 1.5
so Z would increase from 36 to 37.5.
Figure 6.4 shows the feasible region for this revised model. The dashed lines show
the original locations of the revised constraint boundary lines. The optimal solution now
is the CPF solution 0 7.5 which gives
Z 3x
1
5x
2
0 57.5 37.5
just as predicted by the shadow prices. However note what would happen if either b
2
were
further increased above 15 or b
3
were further decreased below 15 so that the sum of the
percentages of allowable changes would exceed 100 percent. This would cause the pre-
viously optimal corner-point solution to slide to the left of the x
2
axis x
1
0 so this in-
feasible solution would no longer be optimal. Consequently the old shadow prices would
no longer be valid for predicting the new value of Z.
268 6 DUALITY THEORY AND SENSITIVITY ANALYSIS
x
2
8
6
4
2
0 x
1
24 6 8
3x
1
2x
2
15
x
1
4
2x
2
15
0 7.5 optimal
Feasible
region
FIGURE 6.4
Feasible region for Variation
3 of the Wyndor Glass Co.
model where b
2
12 15
and b
3
18 15.

slide 294:

Case 2a—Changes in the Coefficients of a Nonbasic Variable
Consider a particular variable x
j
fixed j that is a nonbasic variable in the optimal solu-
tion shown by the final simplex tableau. In Case 2a the only change in the current model
is that one or more of the coefficients of this variable—c
j
a
1j
a
2j
. . . a
mj
—have been
changed. Thus letting c
j
and a
ij
denote the new values of these parameters with A j
col-
umn j of matrix A as the vector containing the a
ij
we have
c
j
→ c
j
A
j
→ A j
for the revised model.
As described at the beginning of Sec. 6.5 duality theory provides a very convenient
way of checking these changes. In particular if the complementary basic solution y in
the dual problem still satisfies the single dual constraint that has changed then the orig-
inal optimal solution in the primal problem remains optimal as is. Conversely if y vio-
lates this dual constraint then this primal solution is no longer optimal.
If the optimal solution has changed and you wish to find the new one you can do so
rather easily. Simply apply the fundamental insight to revise the x
j
column the only one
that has changed in the final simplex tableau. Specifically the formulas in Table 6.17 re-
duce to the following:
Coefficient of x
j
in final row 0: z
j
c
j
yA j
c
j
Coefficient of x
j
in final rows 1 to m: A
j
SA j
.
With the current basic solution no longer optimal the new value of z
j
c
j
now will be
the one negative coefficient in row 0 so restart the simplex method with x
j
as the initial
entering basic variable.
Note that this procedure is a streamlined version of the general procedure summa-
rized at the end of Sec. 6.6. Steps 3 and 4 conversion to proper form from Gaussian elim-
ination and the feasibility test have been deleted as irrelevant because the only column
being changed in the revision of the final tableau before reoptimization is for the non-
basic variable x
j
. Step 5 optimality test has been replaced by a quicker test of optimal-
ity to be performed right after step 1 revision of model. It is only if this test reveals that
the optimal solution has changed and you wish to find the new one that steps 2 and 6
revision of final tableau and reoptimization are needed.
Example Variation 4 of the Wyndor Model. Since x
1
is nonbasic in the current
optimal solution see Table 6.21 for Variation 2 of the Wyndor Glass Co. model the next
step in its sensitivity analysis is to check whether any reasonable changes in the estimates
of the coefficients of x
1
could still make it advisable to introduce product 1. The set of
changes that goes as far as realistically possible to make product 1 more attractive would
be to reset c
1
4 and a
31
2. Rather than exploring each of these changes independently
as is often done in sensitivity analysis we will consider them together. Thus the changes
under consideration are
c
1
3 → c
1
4 A
1
→ A 1
.
1
0
2
1
0
3
6.7 APPLYING SENSITIVITY ANALYSIS 269

slide 295:

These two changes in Variation 2 give us Variation 4 of the Wyndor model. Variation
4 actually is equivalent to Variation 1 considered in Sec. 6.6 and depicted in Fig. 6.2 since
Variation 1 combined these two changes with the change in the original Wyndor model
b
2
12 24 that gave Variation 2. However the key difference from the treatment of
Variation 1 in Sec. 6.6 is that the analysis of Variation 4 treats Variation 2 as being the
original model so our starting point is the final simplex tableau given in Table 6.21 where
x
1
now is a nonbasic variable.
The change in a
31
revises the feasible region from that shown in Fig. 6.3 to the
corresponding region in Fig. 6.5. The change in c
1
revises the objective function from
Z 3x
1
5x
2
to Z 4x
1
5x
2
. Figure 6.5 shows that the optimal objective function
line Z 45 4x
1
5x
2
still passes through the current optimal solution 0 9 so this
solution remains optimal after these changes in a
31
and c
1
.
To use duality theory to draw this same conclusion observe that the changes in c
1
and a
31
lead to a single revised constraint for the dual problem namely the constraint
that a
11
y
1
a
21
y
2
a
31
y
3
c
1
. Both this revised constraint and the current y coeffi-
cients of the slack variables in row 0 of Table 6.21 are shown below.
y
1
0 y
2
0 y
3
5
2
y
1
3y
3
3 → y
1
2y
3
4
0 2
5
2
4.
Since y still satisfies the revised constraint the current primal solution Table 6.21 is
still optimal.
Because this solution is still optimal there is no need to revise the x
j
column in the
final tableau step 2. Nevertheless we do so below for illustrative purposes.
z
1
c
1
yA 1
c
1
0 0
5
2
4 1.
A
1
SA 1
.
The fact that z
1
c
1
0 again confirms the optimality of the current solution. Since
z
1
c
1
is the surplus variable for the revised constraint in the dual problem this way of
testing for optimality is equivalent to the one used above.
This completes the analysis of the effect of changing the current model Variation 2
to Variation 4. Because any larger changes in the original estimates of the coefficients of
x
1
would be unrealistic the OR team concludes that these coefficients are insensitive pa-
rameters in the current model. Therefore they will be kept fixed at their best estimates
shown in Table 6.21—c
1
3 and a
31
3—for the remainder of the sensitivity analysis.
The Allowable Range to Stay Optimal. We have just described and illustrated how
to analyze simultaneous changes in the coefficients of a nonbasic variable x
j
. It is com-
mon practice in sensitivity analysis to also focus on the effect of changing just one param-
1
1
2
1
0
2
0
1
2
1
0
0
1
1
0
0
1
0
2
270 6 DUALITY THEORY AND SENSITIVITY ANALYSIS

slide 296:

eter c
j
. As introduced in Sec. 4.7 this involves streamlining the above approach to find
the allowable range to stay optimal for c
j
.
For any c
j
recall from Sec. 4.7 that its allowable range to stay optimal is the range
of values over which the current optimal solution as obtained by the simplex method
for the current model before c
j
is changed remains optimal. It is assumed that the
change in this one c
j
is the only change in the current model. When x
j
is a nonba-
sic variable for this solution the solution remains optimal as long as z
j
c
j
0
where z
j
yA
j
is a constant unaffected by any change in the value of c
j
. There-
fore the allowable range to stay optimal for c
j
can be calculated as c
j
yA
j
.
For example consider the current model Variation 2 for the Wyndor Glass Co. prob-
lem summarized on the left side of Table 6.21 where the current optimal solution with
c
1
3 is given on the right side. When considering only the decision variables x
1
and
x
2
this optimal solution is x
1
x
2
0 9 as displayed in Fig. 6.3. When just c
1
is
changed this solution remains optimal as long as
c
1
yA
1
0 0
5
2
7
1
2
so c
1
7
1
2
is the allowable range to stay optimal.
1
0
3
6.7 APPLYING SENSITIVITY ANALYSIS 271
x
2
x
1
12
10
8
6
4
2
0 24 6 8 10
2x
1
2x
2
18
Z 45 4x
1
5x
2
x
1
4
2x
2
24
0 9 optimal
Feasible
region
FIGURE 6.5
Feasible region for Variation
4 of the Wyndor model
where Variation 2 Fig. 6.3
has been revised so
a
31
3 2 and
c
1
3 4.

slide 297:

An alternative to performing this vector multiplication is to note in Table 6.21 that
z
1
c
1
9
2
the coefficient of x
1
in row 0 when c
1
3 so z
1
3 9
2
7
1
2
. Since
z
1
yA
1
this immediately yields the same allowable range.
Figure 6.3 provides graphical insight into why c
1
7
1
2
is the allowable range. At
c
1
7
1
2
the objective function becomes Z 7.5x
1
5x
2
2.53x
1
2x
2
so the opti-
mal objective line will lie on top of the constraint boundary line 3x
1
2x
2
18 shown
in the figure. Thus at this endpoint of the allowable range we have multiple optimal so-
lutions consisting of the line segment between 0 9 and 4 3. If c
1
were to be increased
any further c
1
7
1
2
only 4 3 would be optimal. Consequently we need c
1
7
1
2
for
0 9 to remain optimal.
For any nonbasic decision variable x
j
the value of z
j
c
j
sometimes is referred to
as the reduced cost for x
j
because it is the minimum amount by which the unit cost of
activity j would have to be reduced to make it worthwhile to undertake activity j increase
x
j
from zero. Interpreting c
j
as the unit profit of activity j so reducing the unit cost in-
creases c
j
by the same amount the value of z
j
c
j
thereby is the maximum allowable
increase in c
j
to keep the current BF solution optimal.
The sensitivity analysis information generated by linear programming software pack-
ages normally includes both the reduced cost and the allowable range to stay optimal for
each coefficient in the objective function along with the types of information displayed
in Table 6.22. This was illustrated in Figs. 4.10 4.12 and 4.13 for the Excel Solver and
LINDO. Table 6.23 displays this information in a typical form for our current model Vari-
ation 2 of the Wyndor Glass Co. model. The last three columns are used to calculate the
allowable range to stay optimal for each coefficient so these allowable ranges are
c
1
3 4.5 7.5
c
2
5 3 2.
As was discussed in Sec. 4.7 if any of the allowable increases or decreases had turned
out to be zero this would have been a signpost that the optimal solution given in the table
is only one of multiple optimal solutions. In this case changing the corresponding coef-
ficient a tiny amount beyond the zero allowed and re-solving would provide another op-
timal CPF solution for the original model.
Thus far we have described how to calculate the type of information in Table 6.23
for only nonbasic variables. For a basic variable like x
2
the reduced cost automatically is
0. We will discuss how to obtain the allowable range to stay optimal for c
j
when x
j
is a
basic variable under Case 3.
272 6 DUALITY THEORY AND SENSITIVITY ANALYSIS
TABLE 6.23 Typical software output for sensitivity analysis of the objective
function coefficients for Variation 2 of the Wyndor Glass Co. model
Reduced Current Allowable Allowable
Variable Value Cost Coefficient Increase Decrease
x
1
0 4.5 3 4.5 x
2
90.0 5 3

slide 298:

Analyzing Simultaneous Changes in Objective Function Coefficients. Regard-
less of whether x
j
is a basic or nonbasic variable the allowable range to stay optimal for
c
j
is valid only if this objective function coefficient is the only one being changed. How-
ever when simultaneous changes are made in the coefficients of the objective function a
100 percent rule is available for checking whether the original solution must still be opti-
mal. Much like the 100 percent rule for simultaneous changes in right-hand sides this 100
percent rule combines the allowable changes increase or decrease for the individual c
j
that are given by the last two columns of a table like Table 6.23 as described below.
The 100 Percent Rule for Simultaneous Changes in Objective Function Co-
efficients: If simultaneous changes are made in the coefficients of the objective
function calculate for each change the percentage of the allowable change in-
crease or decrease for that coefficient to remain within its allowable range to
stay optimal. If the sum of the percentage changes does not exceed 100 percent
the original optimal solution definitely will still be optimal. If the sum does ex-
ceed 100 percent then we cannot be sure.
Using Table 6.23 and referring to Fig. 6.3 for visualization this 100 percent rule
says that 0 9 will remain optimal for Variation 2 of the Wyndor Glass Co. model even
if we simultaneously increase c
1
from 3 and decrease c
2
from 5 as long as these changes
are not too large. For example if c
1
is increased by 1.5 33
1
3
percent of the allowable
change then c
2
can be decreased by as much as 2 66
2
3
percent of the allowable change.
Similarly if c
1
is increased by 3 66
2
3
percent of the allowable change then c
2
can only
be decreased by as much as 1 33
1
3
percent of the allowable change. These maximum
changes revise the objective function to either Z 4.5x
1
3x
2
or Z 6x
1
4x
2
which
causes the optimal objective function line in Fig. 6.3 to rotate clockwise until it coincides
with the constraint boundary equation 3x
1
2x
2
18.
In general when objective function coefficients change in the same direction it is
possible for the percentages of allowable changes to sum to more than 100 percent with-
out changing the optimal solution. We will give an example at the end of the discussion
of Case 3.
Case 2b—Introduction of a New Variable
After solving for the optimal solution we may discover that the linear programming for-
mulation did not consider all the attractive alternative activities. Considering a new ac-
tivity requires introducing a new variable with the appropriate coefficients into the ob-
jective function and constraints of the current model—which is Case 2b.
The convenient way to deal with this case is to treat it just as if it were Case 2a This
is done by pretending that the new variable x
j
actually was in the original model with all
its coefficients equal to zero so that they still are zero in the final simplex tableau and
that x
j
is a nonbasic variable in the current BF solution. Therefore if we change these
zero coefficients to their actual values for the new variable the procedure including any
reoptimization does indeed become identical to that for Case 2a.
In particular all you have to do to check whether the current solution still is op-
timal is to check whether the complementary basic solution y satisfies the one new
6.7 APPLYING SENSITIVITY ANALYSIS 273

slide 299:

dual constraint that corresponds to the new variable in the primal problem. We already
have described this approach and then illustrated it for the Wyndor Glass Co. problem
in Sec. 6.5.
Case 3—Changes in the Coefficients of a Basic Variable
Now suppose that the variable x
j
fixed j under consideration is a basic variable in the
optimal solution shown by the final simplex tableau. Case 3 assumes that the only changes
in the current model are made to the coefficients of this variable.
Case 3 differs from Case 2a because of the requirement that a simplex tableau be in
proper form from Gaussian elimination. This requirement allows the column for a non-
basic variable to be anything so it does not affect Case 2a. However for Case 3 the ba-
sic variable x
j
must have a coefficient of 1 in its row of the simplex tableau and a coeffi-
cient of 0 in every other row including row 0. Therefore after the changes in the x
j
column of the final simplex tableau have been calculated
1
it probably will be necessary
to apply Gaussian elimination to restore this form as illustrated in Table 6.20. In turn
this step probably will change the value of the current basic solution and may make it ei-
ther infeasible or nonoptimal so reoptimization may be needed. Consequently all the
steps of the overall procedure summarized at the end of Sec. 6.6 are required for Case 3.
Before Gaussian elimination is applied the formulas for revising the x
j
column are
the same as for Case 2a as summarized below.
Coefficient of x
j
in final row 0: z
j
c
j
yA j
c
j
.
Coefficient of x
j
in final rows 1 to m: A
j
SA j
.
Example Variation 5 of the Wyndor Model. Because x
2
is a basic variable in Table
6.21 for V ariation 2 of the Wyndor Glass Co. model sensitivity analysis of its coefficients fits
Case 3. Given the current optimal solution x
1
0 x
2
9 product 2 is the only new prod-
uct that should be introduced and its production rate should be relatively large. Therefore
the key question now is whether the initial estimates that led to the coefficients of x
2
in the
current model Variation 2 could have overestimated the attractiveness of product 2 so much
as to invalidate this conclusion. This question can be tested by checking the most pessimistic
set of reasonable estimates for these coefficients which turns out to be c
2
3 a
22
3 and
a
32
4. Consequently the changes to be investigated Variation 5 of the Wyndor model are
c
2
5 → c
2
3 A
2
→ A 2
.
The graphical effect of these changes is that the feasible region changes from the one
shown in Fig. 6.3 to the one in Fig. 6.6. The optimal solution in Fig. 6.3 is x
1
x
2
0 9 which is the corner-point solution lying at the intersection of the x
1
0 and
3x
1
2x
2
18 constraint boundaries. With the revision of the constraints the corre-
0
3
4
0
2
2
274 6 DUALITY THEORY AND SENSITIVITY ANALYSIS
1
For the relatively sophisticated reader we should point out a possible pitfall for Case 3 that would be discov-
ered at this point. Specifically the changes in the initial tableau can destroy the linear independence of the
columns of coefficients of basic variables. This event occurs only if the unit coefficient of the basic variable x
j
in the final tableau has been changed to zero at this point in which case more extensive simplex method cal-
culations must be used for Case 3.

slide 300:

sponding corner-point solution in Fig. 6.6 is 0
9
2
. However this solution no longer is op-
timal because the revised objective function of Z 3x
1
3x
2
now yields a new optimal
solution of x
1
x
2
4
3
2
.
Analysis of Variation 5. Now let us see how we draw these same conclusions alge-
braically. Because the only changes in the model are in the coefficients of x
2
the only re-
sulting changes in the final simplex tableau Table 6.21 are in the x
2
column. Therefore
the above formulas are used to recompute just this column.
z
2
c
2
yA 2
c
2
0 0
5
2
3 7.
A
2
SA 2
.
0
2
1
0
3
4
0
1
2
1
0
0
1
1
0
0
0
3
4
6.7 APPLYING SENSITIVITY ANALYSIS 275
x
2
x
1
x
1
0
10
12
8
6
4
2
0 246 8
3x
1
2x
2
18
3x
1
4x
2
18
3x
2
24
x
1
4
2x
2
24
x
2
0
0 9
9
2
3
2
0
4 optimal
Feasible
region
FIGURE 6.6
Feasible region for Variation
5 of the Wyndor model
where Variation 2 Fig. 6.3
has been revised so
c
2
5 3 a
22
2 3
and a
32
2 4.

slide 301:

Equivalently incremental analysis with c
2
2 a
22
1 and a
32
2 can be used
in the same way to obtain this column.
The resulting revised final tableau is shown at the top of Table 6.24. Note that the
new coefficients of the basic variable x
2
do not have the required values so the conver-
sion to proper form from Gaussian elimination must be applied next. This step involves
dividing row 2 by 2 subtracting 7 times the new row 2 from row 0 and adding the new
row 2 to row 3.
The resulting second tableau in Table 6.24 gives the new value of the current basic
solution namely x
3
4 x
2
9
2
x
4
2
2
1
x
1
0 x
5
0. Since all these variables are non-
negative the solution is still feasible. However because of the negative coefficient of x
1
in row 0 we know that it is no longer optimal. Therefore the simplex method would be
applied to this tableau with this solution as the initial BF solution to find the new opti-
mal solution. The initial entering basic variable is x
1
with x
3
as the leaving basic vari-
able. Just one iteration is needed in this case to reach the new optimal solution x
1
4
x
2
3
2
x
4
3
2
9
x
3
0 x
5
0 as shown in the last tableau of Table 6.24.
All this analysis suggests that c
2
a
22
and a
32
are relatively sensitive parameters. How-
ever additional data for estimating them more closely can be obtained only by conduct-
ing a pilot run. Therefore the OR team recommends that production of product 2 be ini-
276 6 DUALITY THEORY AND SENSITIVITY ANALYSIS
New final tableau
after reoptimization
only one iteration of
the simplex method
needed in this case
TABLE 6.24 Sensitivity analysis procedure applied to Variation 5 of the
Wyndor Glass Co. model
Coefficient of:
Basic Right
Variable Eq. Zx
1
x
2
x
3
x
4
x
5
Side
Z 0 1 9
2
70 0 5
2
45
Revised final tableau
x
3
1 0 1 0 1 0 0 4
x
2
2 0 3
2
20 0 1
2
9
x
4
3 0 3 10 1 16
Z 0 1 3
4
00 0 3
4
2
2
7
Converted to proper form
x
3
1 0 1 0 1 0 0 4
x
2
2 0 3
4
10 0 1
4
9
2
x
4
3 0 9
4
00 1 3
4
2
2
1
Z 0 1 0 0 3
4
0 3
4
3
2
3
x
1
1 0 1 0 1 0 0 4
x
2
2 0 0 1 3
4
0 1
4
3
2
x
4
3 0 0 0 9
4
1 3
4
3
2
9

slide 302:

tiated immediately on a small scale x
2
3
2
and that this experience be used to guide the
decision on whether the remaining production capacity should be allocated to product 2
or product 1.
The Allowable Range to Stay Optimal. For Case 2a we described how to find the
allowable range to stay optimal for any c
j
such that x
j
is a nonbasic variable for the cur-
rent optimal solution before c
j
is changed. When x
j
is a basic variable instead the pro-
cedure is somewhat more involved because of the need to convert to proper form from
Gaussian elimination before testing for optimality.
To illustrate the procedure consider Variation 5 of the Wyndor Glass Co. model with
c
2
3 a
22
3 a
23
4 that is graphed in Fig. 6.6 and solved in Table 6.24. Since x
2
is
a basic variable for the optimal solution with c
2
3 given at the bottom of this table
the steps needed to find the allowable range to stay optimal for c
2
are the following:
1. Since x
2
is a basic variable note that its coefficient in the new final row 0 see the bot-
tom tableau in Table 6.24 is automatically z
2
c
2
0 before c
2
is changed from its
current value of 3.
2. Now increment c
2
3 by c
2
so c
2
3 c
2
. This changes the coefficient noted
in step 1 to z
2
c
2
c
2
which changes row 0 to
Row 0 0 c
2
3
4
0 3
4
3
2
3
.
3. With this coefficient now not zero we must perform elementary row operations to re-
store proper form from Gaussian elimination. In particular add to row 0 the product
c
2
times row 2 to obtain the new row 0 as shown below.
0 c
2
3
4
c
2
0 3
4
c
2
3
2
3
0 c
2
3
4
c
2
0 1
4
c
2
3
2
c
2
New row 0 0 0 3
4
3
4
c
2
0 3
4
1
4
c
2
3
2
3
3
2
c
2
4. Using this new row 0 solve for the range of values of c
2
that keeps the coefficients
of the nonbasic variables x
3
and x
5
nonnegative.
3
4
3
4
c
2
0 ⇒ 3
4
3
4
c
2
⇒ c
2
1.
3
4
1
4
c
2
0 ⇒ 1
4
c
2
3
4
⇒ c
2
3.
Thus the range of values is 3 c
2
1.
5. Since c
2
3 c
2
add 3 to this range of values which yields
0 c
2
4
as the allowable range to stay optimal for c
2
.
6.7 APPLYING SENSITIVITY ANALYSIS 277

slide 303:

With just two decision variables this allowable range can be verified graphically by us-
ing Fig. 6.6 with an objective function of Z 3x
1
c
2
x
2
. With the current value of
c
2
3 the optimal solution is 4
3
2
. When c
2
is increased this solution remains optimal only
for c
2
4. For c
2
4 0
9
2
becomes optimal with a tie at c
2
4 because of the constraint
boundary 3x
1
4x
2
18. When c
2
is decreased instead 4
3
2
remains optimal only for
c
2
0. For c
2
0 4 0 becomes optimal because of the constraint boundary x
1
4.
In a similar manner the allowable range to stay optimal for c
1
with c
2
fixed at 3
can be derived either algebraically or graphically to be c
1
9
4
. Problem 6.7-13 asks you
to verify this both ways.
Thus the allowable decrease for c
1
from its current value of 3 is only
3
4
. However it
is possible to decrease c
1
by a larger amount without changing the optimal solution if c
2
also decreases sufficiently. For example suppose that both c
1
and c
2
are decreased by 1
from their current value of 3 so that the objective function changes from Z 3x
1
3x
2
to Z 2x
1
2x
2
. According to the 100 percent rule for simultaneous changes in objec-
tive function coefficients the percentages of allowable changes are 133
1
3
percent and 33
1
3
percent respectively which sum to far over 100 percent. However the slope of the ob-
jective function line has not changed at all so 4
3
2
still is optimal.
Case 4—Introduction of a New Constraint
In this case a new constraint must be introduced to the model after it has already been
solved. This case may occur because the constraint was overlooked initially or because
new considerations have arisen since the model was formulated. Another possibility is that
the constraint was deleted purposely to decrease computational effort because it appeared
to be less restrictive than other constraints already in the model but now this impression
needs to be checked with the optimal solution actually obtained.
To see if the current optimal solution would be affected by a new constraint all you
have to do is to check directly whether the optimal solution satisfies the constraint. If it
does then it would still be the best feasible solution i.e. the optimal solution even if
the constraint were added to the model. The reason is that a new constraint can only elim-
inate some previously feasible solutions without adding any new ones.
If the new constraint does eliminate the current optimal solution and if you want to
find the new solution then introduce this constraint into the final simplex tableau as an
additional row just as if this were the initial tableau where the usual additional variable
slack variable or artificial variable is designated to be the basic variable for this new
row. Because the new row probably will have nonzero coefficients for some of the other
basic variables the conversion to proper form from Gaussian elimination is applied next
and then the reoptimization step is applied in the usual way.
Just as for some of the preceding cases this procedure for Case 4 is a streamlined ver-
sion of the general procedure summarized at the end of Sec. 6.6. The only question to be
addressed for this case is whether the previously optimal solution still is feasible so step
5 optimality test has been deleted. Step 4 feasibility test has been replaced by a much
quicker test of feasibility does the previously optimal solution satisfy the new constraint
to be performed right after step 1 revision of model. It is only if this test provides a neg-
ative answer and you wish to reoptimize that steps 2 3 and 6 are used revision of final
tableau conversion to proper form from Gaussian elimination and reoptimization.
278 6 DUALITY THEORY AND SENSITIVITY ANALYSIS

slide 304:

Example Variation 6 of the Wyndor Model. To illustrate this case we consider
Variation 6 of the Wyndor Glass Co. model which simply introduces the new constraint
2x
1
3x
2
24
into the Variation 2 model given in Table 6.21. The graphical effect is shown in Fig. 6.7.
The previous optimal solution 0 9 violates the new constraint so the optimal solution
changes to 0 8.
To analyze this example algebraically note that 0 9 yields 2x
1
3x
2
27 24
so this previous optimal solution is no longer feasible. To find the new optimal solution
add the new constraint to the current final simplex tableau as just described with the slack
variable x
6
as its initial basic variable. This step yields the first tableau shown in Table
6.25. The conversion to proper form from Gaussian elimination then requires subtracting
from the new row the product 3 times row 2 which identifies the current basic solution
x
3
4 x
2
9 x
4
6 x
6
3 x
1
0 x
5
0 as shown in the second tableau. Ap-
plying the dual simplex method described in Sec. 7.1 to this tableau then leads in just
one iteration more are sometimes needed to the new optimal solution in the last tableau
of Table 6.25.
6.7 APPLYING SENSITIVITY ANALYSIS 279
x
2
x
1
x
1
0
14
10
12
8
6
4
2
0 2 4 6 8 101214
2x
1
3x
2
24
3x
1
2x
2
18
x
1
4
2x
2
24
x
2
0
0 9
0 8 optimal
Feasible
region
FIGURE 6.7
Feasible region for Variation
6 of the Wyndor model
where Variation 2 Fig. 6.3
has been revised by adding
the new constraint
2x
1
3x
2
24.

slide 305:

Systematic Sensitivity Analysis—Parametric Programming
So far we have described how to test specific changes in the model parameters. Another
common approach to sensitivity analysis is to vary one or more parameters continuously
over some intervals to see when the optimal solution changes.
For example with Variation 2 of the Wyndor Glass Co. model rather than beginning
by testing the specific change from b
2
12 to b 2
24 we might instead set
b 2
12 and then vary continuously from 0 to 12 the maximum value of interest. The geo-
metric interpretation in Fig. 6.3 is that the 2x
2
12 constraint line is being shifted up-
ward to 2x
2
12 with being increased from 0 to 12. The result is that the origi-
nal optimal CPF solution 2 6 shifts up the 3x
1
2x
2
18 constraint line toward
2 12. This corner-point solution remains optimal as long as it is still feasible x
1
0
after which 0 9 becomes the optimal solution.
The algebraic calculations of the effect of having b
2
are directly analogous to
those for the Case 1 example where b
2
12. In particular we use the expressions for
Z and b given for Case 1
280 6 DUALITY THEORY AND SENSITIVITY ANALYSIS
TABLE 6.25 Sensitivity analysis procedure applied to Variation 6 of the
Wyndor Glass Co. model
Coefficient of:
Basic Right
Variable Eq. Zx
1
x
2
x
3
x
4
x
5
x
6
Side
Z 0 1 9
2
00 0 5
2
045
x
3
1 0 1 0 1 0 0 0 4
Revised final tableau x
2
2 0 3
2
10 0 1
2
09
x
4
3 0 30 0 1 10 6
x
6
New 0 2 3 0 0 0 1 24
Z 0 1 9
2
00 0 5
2
045
x
3
1 0 1 0 1 0 0 0 4
Converted to proper form x
2
2 0 3
2
10 0 1
2
09
x
4
3 0 30 0 1 10 6
x
6
New 0 5
2
00 0 3
2
1 3
Z 0 1 1
3
00 0 0 5
3
40
x
3
1 0 1 0 1 0 0 0 4
x
2
2 0 2
3
10 0 0 1
3
8
x
4
3 0 4
3
00 1 0 2
3
8
x
5
New 0 5
3
00 0 1 2
3
2
New final tableau
after reoptimization
only one iteration of
dual simplex method
needed in this case

slide 306:

Z yb b Sb where b now is
b and where y and S are given in the boxes in the middle tableau in Table 6.19. These
equations indicate that the optimal solution is
Z 36 3
2
x
3
2 1
3
x
2
6 1
2
x
4
0 x
5
0
x
1
2 1
3
for small enough that this solution still is feasible i.e. for 6. For 6 the dual
simplex method described in Sec. 7.1 yields the tableau shown in Table 6.21 except for
the value of x
4
. Thus Z 45 x
3
4 x
2
9 along with x
1
0 x
5
0 and the ex-
pression for b yields
x
4
b
3
04 112 118 6 .
This information can then be used along with other data not incorporated into the model
on the effect of increasing b
2
to decide whether to retain the original optimal solution
and if not how much to increase b
2
.
In a similar way we can investigate the effect on the optimal solution of varying sev-
eral parameters simultaneously. When we vary just the b
i
parameters we express the new
value b
i
in terms of the original value b
i
as follows:
b i
b
i
i
for i 1 2 . . . m
where the i
values are input constants specifying the desired rate of increase positive or
negative of the corresponding right-hand side as is increased.
For example suppose that it is possible to shift some of the production of a current
Wyndor Glass Co. product from Plant 2 to Plant 3 thereby increasing b
2
by decreasing
b
3
. Also suppose that b
3
decreases twice as fast as b
2
increases. Then
b 2
12 b 3
18 2
where the nonnegative value of measures the amount of production shifted. Thus
1
0 2
1 and 3
2 in this case. In Fig. 6.3 the geometric interpretation is that
as is increased from 0 the 2x
2
12 constraint line is being pushed up to 2x
2
12 ignore the 2x
2
24 line and simultaneously the 3x
1
2x
2
18 constraint line is being
4
12 18
6.7 APPLYING SENSITIVITY ANALYSIS 281

slide 307:

pushed down to 3x
1
2x
2
18 2 . The original optimal CPF solution 2 6 lies at the
intersection of the 2x
2
12 and 3x
1
2x
2
18 lines so shifting these lines causes this
corner-point solution to shift. However with the objective function of Z 3x
1
5x
2
this
corner-point solution will remain optimal as long as it is still feasible x
1
0.
An algebraic investigation of simultaneously changing b
2
and b
3
in this way again
involves using the formulas for Case 1 treating as representing an unknown number
to calculate the resulting changes in the final tableau middle of Table 6.19 namely
Z yb 0
3
2
1 36 1
2
b Sb .
Therefore the optimal solution becomes
Z 36 1
2
x
3
2 x
4
0 x
5
0
x
2
6 1
2
x
1
2 for small enough that this solution still is feasible i.e. for 2. Check this conclu-
sion in Fig. 6.3. However the fact that Z decreases as increases from 0 indicates that
the best choice for is 0 so none of the possible shifting of production should be
done.
The approach to varying several c
j
parameters simultaneously is similar. In this case
we express the new value c
j
in terms of the original value of c
j
as
c
j
c
j
j
for j 1 2 . . . n
where the j
are input constants specifying the desired rate of increase positive or neg-
ative of c
j
as is increased.
To illustrate this case reconsider the sensitivity analysis of c
1
and c
2
for the Wyndor
Glass Co. problem that was performed earlier in this section. Starting with Variation 2 of
the Wyndor model presented in Table 6.21 and Fig. 6.3 we separately considered the ef-
fect of changing c
1
from 3 to 4 its most optimistic estimate and c
2
from 5 to 3 its most
pessimistic estimate. Now we can simultaneously consider both changes as well as var-
ious intermediate cases with smaller changes by setting
c
1
3 and c
2
5 2
where the value of measures the fraction of the maximum possible change that is made.
The result is to replace the original objective function Z 3x
1
5x
2
by a function of Z 3 x
1
5 2 x
2
2 6 1
2
2
4
12 18 2
1
3
0
1
3
1
3
1
2
1
3
1
0
0
4
12 18 2
282 6 DUALITY THEORY AND SENSITIVITY ANALYSIS

slide 308:

so the optimization now can be performed for any desired fixed value of between 0
and 1. By checking the effect as increases from 0 to 1 we can determine just when and
how the optimal solution changes as the error in the original estimates of these parame-
ters increases.
Considering these changes simultaneously is especially appropriate if there are fac-
tors that cause the parameters to change together. Are the two products competitive in
some sense so that a larger-than-expected unit profit for one implies a smaller-than-
expected unit profit for the other Are they both affected by some exogenous factor such
as the advertising emphasis of a competitor Is it possible to simultaneously change both
unit profits through appropriate shifting of personnel and equipment
In the feasible region shown in Fig. 6.3 the geometric interpretation of changing the
objective function from Z 3x
1
5x
2
to Z 3 x
1
5 2 x
2
is that we are
changing the slope of the original objective function line Z 45 3x
1
5x
2
that passes
through the optimal solution 0 9. If is increased enough this slope will change suf-
ficiently that the optimal solution will switch from 0 9 to another CPF solution 4 3.
Check graphically whether this occurs for 1.
The algebraic procedure for dealing simultaneously with these two changes c
1
and c
2
2 is shown in Table 6.26. Although the changes now are expressed in terms
of rather than specific numerical amounts is treated just as an unknown number. The
table displays just the relevant rows of the tableaux involved row 0 and the row for the
basic variable x
2
. The first tableau shown is just the final tableau for the current version
of the model before c
1
and c
2
are changed as given in Table 6.21. Refer to the formu-
las in Table 6.17. The only changes in the revised final tableau shown next are that c
1
and c
2
are subtracted from the row 0 coefficients of x
1
and x
2
respectively. To convert
this tableau to proper form from Gaussian elimination we subtract 2 times row 2 from
row 0 which yields the last tableau shown. The expressions in terms of for the coeffi-
6.7 APPLYING SENSITIVITY ANALYSIS 283
TABLE 6.26 Dealing with c
1
and c
2
2 for Variation 2 of the
Wyndor model as given in Table 6.21
Coefficient of:
Basic Right
Variable Eq.Zx
1
x
2
x
3
x
4
x
5
Side
Final tableau
Z 0 1 9
2
00 0 5
2
45
x
2
2 0 3
2
10 0 1
2
9
Revised final tableau when
Z 0 1 9
2
2 00 5
2
45
c
1
and c
2
2 x
2
2 0 3
2
10 0 1
2
9
Converted to proper form
Z 0 1 9
2
4 00 0 5
2
45 18 x
2
2 0 3
2
10 0 1
2
9

slide 309:

cients of nonbasic variables x
1
and x
5
in row 0 of this tableau show that the current BF
solution remains optimal for 9
8
. Because 1 is the maximum realistic value of
this indicates that c
1
and c
2
together are insensitive parameters with respect to the Varia-
tion 2 model in Table 6.21. There is no need to try to estimate these parameters more
closely unless other parameters change as occurred for Variation 5 of the Wyndor model.
As we discussed in Sec. 4.7 this way of continuously varying several parameters
simultaneously is referred to as parametric linear programming. Section 7.2 presents
the complete parametric linear programming procedure including identifying new op-
timal solutions for larger values of when just the c
j
parameters are being varied and
then when just the b
i
parameters are being varied. Some linear programming software
packages also include routines for varying just the coefficients of a single variable or
just the parameters of a single constraint. In addition to the other applications discussed
in Sec. 4.7 these procedures provide a convenient way of conducting sensitivity analy-
sis systematically.
284 6 DUALITY THEORY AND SENSITIVITY ANALYSIS
Every linear programming problem has associated with it a dual linear programming prob-
lem. There are a number of very useful relationships between the original primal prob-
lem and its dual problem that enhance our ability to analyze the primal problem. For ex-
ample the economic interpretation of the dual problem gives shadow prices that measure
the marginal value of the resources in the primal problem and provides an interpretation
of the simplex method. Because the simplex method can be applied directly to either prob-
lem in order to solve both of them simultaneously considerable computational effort some-
times can be saved by dealing directly with the dual problem. Duality theory including
the dual simplex method for working with superoptimal basic solutions also plays a ma-
jor role in sensitivity analysis.
The values used for the parameters of a linear programming model generally are just
estimates. Therefore sensitivity analysis needs to be performed to investigate what hap-
pens if these estimates are wrong. The fundamental insight of Sec. 5.3 provides the key
to performing this investigation efficiently. The general objectives are to identify the sen-
sitive parameters that affect the optimal solution to try to estimate these sensitive param-
eters more closely and then to select a solution that remains good over the range of likely
values of the sensitive parameters. This analysis is a very important part of most linear
programming studies.
6.8 CONCLUSIONS
1. Bazaraa M. S. J. J. Jarvis and H. D. Sherali: Linear Programming and Network Flows 2d ed.
Wiley New York 1990.
2. Dantzig G. B. and M. N. Thapa: Linear Programming 1: Introduction Springer New Y ork 1997.
3. Hillier F. S. M. S. Hillier and G. J. Lieberman: Introduction to Management Science: A Modeling
and Case Studies Approach with Spreadsheets Irwin/McGraw-Hill Burr Ridge IL 2000 chap. 4.
4. Vanderbei R. J.: Linear Programming: Foundations and Extensions Kluwer Academic Publish-
ers Boston MA 1996.
SELECTED REFERENCES

slide 310:

CHAPTER 6 PROBLEMS 285
A Demonstration Example in OR Tutor:
Sensitivity Analysis
Interactive Routines:
Enter or Revise a General Linear Programming Model
Solve Interactively by the Simplex Method
Sensitivity Analysis
An Excel Add-In:
Premium Solver
Files Chapter 3 for Solving the Wyndor Example:
Excel File
LINGO/LINDO File
MPL/CPLEX File
See Appendix 1 for documentation of the software.
LEARNING AIDS FOR THIS CHAPTER IN YOUR OR COURSEWARE
The symbols to the left of some of the problems or their parts
have the following meaning:
D: The demonstration example listed above may be helpful.
I: We suggest that you use the corresponding interactive routine
listed above the printout records your work.
C: Use the computer with any of the software options available to
you or as instructed by your instructor to solve the problem
automatically.
An asterisk on the problem number indicates that at least a partial
answer is given in the back of the book.
6.1-1. Construct the primal-dual table and the dual problem for
each of the following linear programming models fitting our stan-
dard form.
a Model in Prob. 4.1-6
b Model in Prob. 4.7-8
6.1-2. Construct the dual problem for each of the following lin-
ear programming models fitting our standard form.
a Model in Prob. 3.1-5
b Model in Prob. 4.7-6
PROBLEMS
6.1-3. Consider the linear programming model in Prob. 4.5-4.
a Construct the primal-dual table and the dual problem for this
model.
b What does the fact that Z is unbounded for this model imply
about its dual problem
6.1-4. For each of the following linear programming models give
your recommendation on which is the more efficient way proba-
bly to obtain an optimal solution: by applying the simplex method
directly to this primal problem or by applying the simplex method
directly to the dual problem instead. Explain.
a Maximize Z 10x
1
4x
2
7x
3
subject to
3x
1
x
2
2x
3
25
x
1
2x
2
3x
3
25
5x
1
x
2
2x
3
40
x
1
x
2
x
3
90
2x
1
x
2
x
3
20
and
x
1
0 x
2
0 x
3
0.

slide 311:

6.1-8. Consider the following problem.
Maximize Z x
1
2x
2
subject to
x
1
x
2
2
4x
1
x
2
4
and
x
1
0 x
2
0.
a Demonstrate graphically that this problem has no feasible so-
lutions.
b Construct the dual problem.
c Demonstrate graphically that the dual problem has an un-
bounded objective function.
6.1-9. Construct and graph a primal problem with two decision
variables and two functional constraints that has feasible solutions
and an unbounded objective function. Then construct the dual prob-
lem and demonstrate graphically that it has no feasible solutions.
6.1-10. Construct a pair of primal and dual problems each with
two decision variables and two functional constraints such that
both problems have no feasible solutions. Demonstrate this prop-
erty graphically.
6.1-11. Construct a pair of primal and dual problems each with
two decision variables and two functional constraints such that the
primal problem has no feasible solutions and the dual problem has
an unbounded objective function.
6.1-12. Use the weak duality property to prove that if both the pri-
mal and the dual problem have feasible solutions then both must
have an optimal solution.
6.1-13. Consider the primal and dual problems in our standard
form presented in matrix notation at the beginning of Sec. 6.1. Use
only this definition of the dual problem for a primal problem in
this form to prove each of the following results.
a The weak duality property presented in Sec. 6.1.
b If the primal problem has an unbounded feasible region that
permits increasing Z indefinitely then the dual problem has no
feasible solutions.
6.1-14. Consider the primal and dual problems in our standard
form presented in matrix notation at the beginning of Sec. 6.1. Let
y denote the optimal solution for this dual problem. Suppose that
b is then replaced by b . Let x
denote the optimal solution for the
new primal problem. Prove that
cx
yb .
b Maximize Z 2x
1
5x
2
3x
3
4x
4
x
5
subject to
x
1
3x
2
2x
3
3x
4
x
5
6
4x
1
6x
2
5x
3
7x
4
x
5
15
and
x
j
0 for j 1 2 3 4 5.
6.1-5. Consider the following problem.
Maximize Z x
1
2x
2
x
3
subject to
x
1
x
2
2x
3
12
x
1
x
2
x
3
1
and
x
1
0 x
2
0 x
3
0.
a Construct the dual problem.
b Use duality theory to show that the optimal solution for the
primal problem has Z 0.
6.1-6. Consider the following problem.
Maximize Z 2x
1
6x
2
9x
3
subject to
x
1
x
1
x
3
3 resource 1
x
1
x
2
2x
3
5 resource 2
and
x
1
0 x
2
0 x
3
0.
a Construct the dual problem for this primal problem.
b Solve the dual problem graphically. Use this solution to identify
the shadow prices for the resources in the primal problem.
C c Confirm your results from part b by solving the primal
problem automatically by the simplex method and then iden-
tifying the shadow prices.
6.1-7. Follow the instructions of Prob. 6.1-6 for the following
problem.
Maximize Z x
1
3x
2
2x
3
subject to
2x
1
2x
2
2x
3
6 resource 1
2x
1
x
2
2x
3
4 resource 2
and
x
1
0 x
2
0 x
3
0.
286 6 DUALITY THEORY AND SENSITIVITY ANALYSIS

slide 312:

6.3-3. Consider the primal and dual problems for the Wyndor Glass
Co. example given in Table 6.1. Using Tables 5.5 5.6 6.8 and 6.9
construct a new table showing the eight sets of nonbasic variables
for the primal problem in column 1 the corresponding sets of as-
sociated variables for the dual problem in column 2 and the set of
nonbasic variables for each complementary basic solution in the
dual problem in column 3. Explain why this table demonstrates the
complementary slackness property for this example.
6.3-4. Suppose that a primal problem has a degenerate BF solu-
tion one or more basic variables equal to zero as its optimal so-
lution. What does this degeneracy imply about the dual problem
Why Is the converse also true
6.3-5. Consider the following problem.
Maximize Z 2x
1
4x
2
subject to
x
1
x
2
1
and
x
1
0 x
2
0.
a Construct the dual problem and then find its optimal solution
by inspection.
b Use the complementary slackness property and the optimal so-
lution for the dual problem to find the optimal solution for the
primal problem.
c Suppose that c
1
the coefficient of x
1
in the primal objective
function actually can have any value in the model. For what
values of c
1
does the dual problem have no feasible solutions
For these values what does duality theory then imply about
the primal problem
6.3-6. Consider the following problem.
Maximize Z 2x
1
7x
2
4x
3
subject to
x
1
2x
2
x
3
10
3x
1
3x
2
2x
3
10
and
x
1
0 x
2
0 x
3
0.
a Construct the dual problem for this primal problem.
b Use the dual problem to demonstrate that the optimal value of
Z for the primal problem cannot exceed 25.
c It has been conjectured that x
2
and x
3
should be the basic vari-
ables for the optimal solution of the primal problem. Directly
derive this basic solution and Z by using Gaussian elimina-
tion. Simultaneously derive and identify the complementary ba-
6.1-15. For any linear programming problem in our standard form
and its dual problem label each of the following statements as true
or false and then justify your answer.
a The sum of the number of functional constraints and the num-
ber of variables before augmenting is the same for both the
primal and the dual problems.
b At each iteration the simplex method simultaneously identi-
fies a CPF solution for the primal problem and a CPF solution
for the dual problem such that their objective function values
are the same.
c If the primal problem has an unbounded objective function
then the optimal value of the objective function for the dual
problem must be zero.
6.2-1. Consider the simplex tableaux for the Wyndor Glass Co.
problem given in Table 4.8. For each tableau give the economic
interpretation of the following items:
a Each of the coefficients of the slack variables x
3
x
4
x
5
in
row 0
b Each of the coefficients of the decision variables x
1
x
2
in
row 0
c The resulting choice for the entering basic variable or the de-
cision to stop after the final tableau
6.3-1. Consider the following problem.
Maximize Z 6x
1
8x
2
subject to
5x
1
2x
2
20
x
1
2x
2
10
and
x
1
0 x
2
0.
a Construct the dual problem for this primal problem.
b Solve both the primal problem and the dual problem graphi-
cally. Identify the CPF solutions and corner-point infeasible
solutions for both problems. Calculate the objective function
values for all these solutions.
c Use the information obtained in part b to construct a table
listing the complementary basic solutions for these problems.
Use the same column headings as for Table 6.9.
I d Work through the simplex method step by step to solve the
primal problem. After each iteration including iteration 0
identify the BF solution for this problem and the comple-
mentary basic solution for the dual problem. Also identify
the corresponding corner-point solutions.
6.3-2. Consider the model with two functional constraints and two
variables given in Prob. 4.1-5. Follow the instructions of Prob.
6.3-1 for this model.
CHAPTER 6 PROBLEMS 287

slide 313:

a How would you identify the optimal solution for the dual
problem
b After obtaining the BF solution at each iteration how would you
identify the complementary basic solution in the dual problem
6.4-1. Consider the following problem.
Maximize Z x
1
x
2
subject to
x
1
2x
2
10
2x
1
x
2
2
and
x
2
0x
1
unconstrained in sign.
a Use the SOB method to construct the dual problem.
b Use Table 6.12 to convert the primal problem to our standard
form given at the beginning of Sec. 6.1 and construct the cor-
responding dual problem. Then show that this dual problem is
equivalent to the one obtained in part a.
6.4-2. Consider the primal and dual problems in our standard form
presented in matrix notation at the beginning of Sec. 6.1. Use only
this definition of the dual problem for a primal problem in this
form to prove each of the following results.
a If the functional constraints for the primal problem Ax b
are changed to Ax b the only resulting change in the dual
problem is to delete the nonnegativity constraints y 0. Hint:
The constraints Ax b are equivalent to the set of constraints
Ax b and Ax b.
b If the functional constraints for the primal problem Ax b
are changed to Ax b the only resulting change in the dual
problem is that the nonnegativity constraints y 0 are re-
placed by nonpositivity constraints y 0 where the current
dual variables are interpreted as the negative of the original
dual variables. Hint: The constraints Ax b are equivalent
to Ax b.
c If the nonnegativity constraints for the primal problem x 0
are deleted the only resulting change in the dual problem is
to replace the functional constraints yA c by yA c. Hint:
A variable unconstrained in sign can be replaced by the dif-
ference of two nonnegative variables.
6.4-3. Construct the dual problem for the linear programming
problem given in Prob. 4.6-4.
6.4-4. Consider the following problem.
Minimize Z x
1
2x
2
subject to
2x
1
x
2
1
2x
1
2x
2
1
sic solution for the dual problem by using Eq. 0 for the pri-
mal problem. Then draw your conclusions about whether these
two basic solutions are optimal for their respective problems.
I d Solve the dual problem graphically. Use this solution to iden-
tify the basic variables and the nonbasic variables for the op-
timal solution of the primal problem. Directly derive this so-
lution using Gaussian elimination.
6.3-7. Reconsider the model of Prob. 6.1-4b.
a Construct its dual problem.
b Solve this dual problem graphically.
c Use the result from part b to identify the nonbasic variables
and basic variables for the optimal BF solution for the primal
problem.
d Use the results from part c to obtain the optimal solution for
the primal problem directly by using Gaussian elimination to
solve for its basic variables starting from the initial system of
equations excluding Eq. 0 constructed for the simplex
method and setting the nonbasic variables to zero.
e Use the results from part c to identify the defining equations
see Sec. 5.1 for the optimal CPF solution for the primal prob-
lem and then use these equations to find this solution.
6.3-8. Consider the model given in Prob. 5.3-13.
a Construct the dual problem.
b Use the given information about the basic variables in the op-
timal primal solution to identify the nonbasic variables and ba-
sic variables for the optimal dual solution.
c Use the results from part b to identify the defining equations
see Sec. 5.1 for the optimal CPF solution for the dual prob-
lem and then use these equations to find this solution.
d Solve the dual problem graphically to verify your results from
part c.
6.3-9. Consider the model given in Prob. 3.1-4.
a Construct the dual problem for this model.
b Use the fact that x
1
x
2
13 5 is optimal for the primal
problem to identify the nonbasic variables and basic variables
for the optimal BF solution for the dual problem.
c Identify this optimal solution for the dual problem by directly
deriving Eq. 0 corresponding to the optimal primal solution
identified in part b. Derive this equation by using Gaussian
elimination.
d Use the results from part b to identify the defining equations
see Sec. 5.1 for the optimal CPF solution for the dual prob-
lem. Verify your optimal dual solution from part c by check-
ing to see that it satisfies this system of equations.
6.3-10. Suppose that you also want information about the dual
problem when you apply the revised simplex method see Sec. 5.2
to the primal problem in our standard form.
288 6 DUALITY THEORY AND SENSITIVITY ANALYSIS

slide 314:

and
x
1
0 x
2
0.
a Demonstrate graphically that this problem has an unbounded
objective function.
b Construct the dual problem.
c Demonstrate graphically that the dual problem has no feasible
solutions.
6.5-1. Consider the model of Prob. 6.7-1. Use duality theory di-
rectly to determine whether the current basic solution remains op-
timal after each of the following independent changes.
a The change in part e of Prob. 6.7-1
b The change in part g of Prob. 6.7-1
6.5-2. Consider the model of Prob. 6.7-3. Use duality theory di-
rectly to determine whether the current basic solution remains op-
timal after each of the following independent changes.
a The change in part c of Prob. 6.7-3
b The change in part f of Prob. 6.7-3
6.5-3. Consider the model of Prob. 6.7-4. Use duality theory di-
rectly to determine whether the current basic solution remains op-
timal after each of the following independent changes.
a The change in part b of Prob. 6.7-4
b The change in part d of Prob. 6.7-4
6.5-4. Reconsider part d of Prob. 6.7-6. Use duality theory directly
to determine whether the original optimal solution is still optimal.
6.6-1. Consider the following problem.
Maximize Z 3x
1
x
2
4x
3
subject to
6x
1
3x
2
5x
3
25
3x
1
4x
2
5x
3
20
and
x
1
0 x
2
0 x
3
0.
The corresponding final set of equations yielding the optimal so-
lution is
0 Z 2x
2
1
5
x
4
3
5
x
5
17
1 x
1
1
3
x
2
1
3
x
4
1
3
x
5
5
3
2 x
2
x
3
1
5
x
4
2
5
x
5
3.
a Identify the optimal solution from this set of equations.
b Construct the dual problem.
and
x
1
0 x
2
0.
a Construct the dual problem.
b Use graphical analysis of the dual problem to determine
whether the primal problem has feasible solutions and if so
whether its objective function is bounded.
6.4-5. Consider the two versions of the dual problem for the radi-
ation therapy example that are given in Tables 6.15 and 6.16. Re-
view in Sec. 6.4 the general discussion of why these two versions
are completely equivalent. Then fill in the details to verify this equiv-
alency by proceeding step by step to convert the version in Table
6.15 to equivalent forms until the version in Table 6.16 is obtained.
6.4-6. For each of the following linear programming models use
the SOB method to construct its dual problem.
a Model in Prob. 4.6-3
b Model in Prob. 4.6-8
c Model in Prob. 4.6-18
6.4-7. Consider the model with equality constraints given in Prob.
4.6-2.
a Construct its dual problem.
b Demonstrate that the answer in part a is correct i.e. equality
constraints yield dual variables without nonnegativity constraints
by first converting the primal problem to our standard form see
Table 6.12 then constructing its dual problem and next con-
verting this dual problem to the form obtained in part a.
6.4-8. Consider the model without nonnegativity constraints
given in Prob. 4.6-16.
a Construct its dual problem.
b Demonstrate that the answer in part a is correct i.e. vari-
ables without nonnegativity constraints yield equality con-
straints in the dual problem by first converting the primal prob-
lem to our standard form see Table 6.12 then constructing
its dual problem and finally converting this dual problem to
the form obtained in part a.
6.4-9. Consider the dual problem for the Wyndor Glass Co. ex-
ample given in Table 6.1. Demonstrate that its dual problem is the
primal problem given in Table 6.1 by going through the conver-
sion steps given in Table 6.13.
6.4-10. Consider the following problem.
Minimize Z x
1
3x
2
subject to
x
1
2x
2
2
x
1
x
2
4
CHAPTER 6 PROBLEMS 289

slide 315:

DI 6.6-3. Consider the following problem.
Minimize W 5y
1
4y
2
subject to
4y
1
3y
2
4
2y
1
y
2
3
y
1
2y
2
1
y
1
y
2
2
and
y
1
0 y
2
0.
Because this primal problem has more functional constraints than
variables suppose that the simplex method has been applied di-
rectly to its dual problem. If we let x
5
and x
6
denote the slack vari-
ables for this dual problem the resulting final simplex tableau is
c Identify the optimal solution for the dual problem from the fi-
nal set of equations. Verify this solution by solving the dual
problem graphically.
d Suppose that the original problem is changed to
Maximize Z 3x
1
3x
2
4x
3
subject to
6x
1
2x
2
5x
3
25
3x
1
3x
2
5x
3
20
and
x
1
0 x
2
0 x
3
0.
Use duality theory to determine whether the previous optimal
solution is still optimal.
e Use the fundamental insight presented in Sec. 5.3 to identify
the new coefficients of x
2
in the final set of equations after it
has been adjusted for the changes in the original problem given
in part d.
f Now suppose that the only change in the original problem is
that a new variable x
new
has been introduced into the model as
follows:
Maximize Z 3x
1
x
2
4x
3
2x
new
subject to
6x
1
3x
2
5x
3
3x
new
25
3x
1
4x
2
5x
3
2x
new
20
and
x
1
0 x
2
0 x
3
0 x
new
0.
Use duality theory to determine whether the previous optimal
solution along with x
new
0 is still optimal.
g Use the fundamental insight presented in Sec. 5.3 to identify
the coefficients of x
new
as a nonbasic variable in the final set
of equations resulting from the introduction of x
new
into the
original model as shown in part f .
DI 6.6-2. Reconsider the model of Prob. 6.6-1. You are now to
conduct sensitivity analysis by independently investigating each of
the following six changes in the original model. For each change
use the sensitivity analysis procedure to revise the given final set
of equations in tableau form and convert it to proper form from
Gaussian elimination. Then test this solution for feasibility and for
optimality. Do not reoptimize.
a Change the right-hand side of constraint 1 to b
1
15.
b Change the right-hand side of constraint 2 to b
2
5.
c Change the coefficient of x
2
in the objective function to c
2
4.
d Change the coefficient of x
3
in the objective function to c
3
3.
e Change the coefficient of x
2
in constraint 2 to a
22
1.
f Change the coefficient of x
1
in constraint 1 to a
11
10.
290 6 DUALITY THEORY AND SENSITIVITY ANALYSIS
For each of the following independent changes in the original pri-
mal model you now are to conduct sensitivity analysis by directly
investigating the effect on the dual problem and then inferring the
complementary effect on the primal problem. For each change ap-
ply the procedure for sensitivity analysis summarized at the end of
Sec. 6.6 to the dual problem do not reoptimize and then give
your conclusions as to whether the current basic solution for the
primal problem still is feasible and whether it still is optimal. Then
check your conclusions by a direct graphical analysis of the pri-
mal problem.
a Change the objective function to W 3y
1
5y
2
.
b Change the right-hand sides of the functional constraints to 3
5 2 and 3 respectively.
c Change the first constraint to 2y
1
4y
2
7.
d Change the second constraint to 5y
1
2y
2
10.
DI 6.7-1. Consider the following problem.
Maximize Z 5x
1
5x
2
13x
3
subject to
x
1
x
2
3x
3
20
12x
1
4x
2
10x
3
90
and
x
j
0 j 1 2 3.
Coefficient of:
Basic Right
Variable Eq. Zx
1
x
2
x
3
x
4
x
5
x
6
Side
Z 0 1 3 0 2 0 1 1 9
x
2
1 0 1 1 10 1 11
x
4
2 0 2 0 3 1 12 3

slide 316:

6.7-2. Reconsider the model of Prob. 6.7-1. Suppose that we now
want to apply parametric linear programming analysis to this prob-
lem. Specifically the right-hand sides of the functional constraints
are changed to
20 2 for constraint 1
and
90 for constraint 2
where can be assigned any positive or negative values.
Express the basic solution and Z corresponding to the orig-
inal optimal solution as a function of . Determine the lower and
upper bounds on before this solution would become infeasible.
DI 6.7-3. Consider the following problem.
Maximize Z 2x
1
x
2
x
3
subject to
3x
1
x
2
x
3
60
x
1
x
2
2x
3
10
x
1
x
2
x
3
20
and
x
1
0 x
2
0 x
3
0.
Let x
4
x
5
and x
6
denote the slack variables for the respective con-
straints. After we apply the simplex method the final simplex
tableau is
If we let x
4
and x
5
be the slack variables for the respective con-
straints the simplex method yields the following final set of equa-
tions:
0 Z 2x
3
5x
4
100.
1 x
1
x
2
3x
3
x
4
20.
2 16x
1
2x
3
4x
4
x
5
10.
Now you are to conduct sensitivity analysis by independently in-
vestigating each of the following nine changes in the original
model. For each change use the sensitivity analysis procedure to
revise this set of equations in tableau form and convert it to proper
form from Gaussian elimination for identifying and evaluating the
current basic solution. Then test this solution for feasibility and for
optimality. Do not reoptimize.
a Change the right-hand side of constraint 1 to
b
1
30.
b Change the right-hand side of constraint 2 to
b
2
70.
c Change the right-hand sides to
.
d Change the coefficient of x
3
in the objective function to
c
3
8.
e Change the coefficients of x
1
to
.
f Change the coefficients of x
2
to
.
g Introduce a new variable x
6
with coefficients
.
h Introduce a new constraint 2x
1
3x
2
5x
3
50. Denote its
slack variable by x
6
.
i Change constraint 2 to
10x
1
5x
2
10x
3
100.
10
3
5
c
6
a
16
a
26
6
2
5
c
2
a
12
a
22
2
0
5
c
1
a
11
a
21
10
100
b
1
b
2
CHAPTER 6 PROBLEMS 291
Coefficient of:
Basic Right
Variable Eq. Zx
1
x
2
x
3
x
4
x
5
x
6
Side
Z 0 1 0 0 3
2
0 3
2
1
2
25
x
4
1 0 0 0 1 1 1 210
x
1
2 0 1 0 1
2
0 1
2
1
2
15
x
2
3 0 0 1 3
2
0 1
2
1
2
5
Now you are to conduct sensitivity analysis by independently in-
vestigating each of the following six changes in the original model.
For each change use the sensitivity analysis procedure to revise
this final tableau and convert it to proper form from Gaussian elim-
ination for identifying and evaluating the current basic solution.
Then test this solution for feasibility and for optimality. If either
test fails reoptimize to find a new optimal solution.

slide 317:

form from Gaussian elimination for identifying and evaluating the
current basic solution. Then test this solution for feasibility and for
optimality. If either test fails reoptimize to find a new optimal so-
lution.
a Change the right-hand sides to
.
b Change the coefficients of x
3
to
.
c Change the coefficients of x
1
to
.
d Introduce a new variable x
6
with coefficients
.
e Change the objective function to Z x
1
5x
2
2x
3
.
f Introduce a new constraint 3x
1
2x
2
3x
3
25.
g Change constraint 2 to x
1
2x
2
2x
3
35.
6.7-5. Reconsider the model of Prob. 6.7-4. Suppose that we now
want to apply parametric linear programming analysis to this prob-
lem. Specifically the right-hand sides of the functional constraints
are changed to
30 3 for constraint 1
and
10 for constraint 2
where can be assigned any positive or negative values.
Express the basic solution and Z corresponding to the orig-
inal optimal solution as a function of . Determine the lower and
upper bounds on before this solution would become infeasible.
DI 6.7-6. Consider the following problem.
Maximize Z 2x
1
x
2
x
3
subject to
3x
1
2x
2
2x
3
15
x
1
x
2
x
3
3
x
1
x
2
x
3
4
3
1
2
c
6
a
16
a
26
4
3
2
c
1
a
11
a
21
2
3
2
c
3
a
13
a
23
20
30
b
1
b
2
a Change the right-hand sides
from to .
b Change the coefficients of x
1
from to .
c Change the coefficients of x
3
from to .
d Change the objective function to Z 3x
1
2x
2
3x
3
.
e Introduce a new constraint 3x
1
2x
2
x
3
30. Denote its
slack variable by x
7
.
f Introduce a new variable x
8
with coefficients
.
DI 6.7-4. Consider the following problem.
Maximize Z 2x
1
7x
2
3x
3
subject to
x
1
3x
2
4x
3
30
x
1
4x
2
x
3
10
and
x
1
0 x
2
0 x
3
0.
By letting x
4
and x
5
be the slack variables for the respective con-
straints the simplex method yields the following final set of equa-
tions:
0 Z x
2
x
3
2x
5
20
1 x
2
5x
3
x
4
x
5
20
2 x
1
4x
2
x
3
x
5
10.
Now you are to conduct sensitivity analysis by independently in-
vestigating each of the following seven changes in the original
model. For each change use the sensitivity analysis procedure to
revise this set of equations in tableau form and convert it to proper
1
2
1
2
c
8
a
18
a
28
a
38
2
3
1
2
c
3
a
13
a
23
a
33
1
1
2
1
c
3
a
13
a
23
a
33
1
2
2
0
c
1
a
11
a
21
a
31
2
3
1
1
c
1
a
11
a
21
a
31
70
20
10
b
1
b
2
b
3
60
10
20
b
1
b
2
b
3
292 6 DUALITY THEORY AND SENSITIVITY ANALYSIS

slide 318:

of type A but the vendor providing these subassemblies would only
be able to increase its supply rate from the current 2000 per day
to a maximum of 3000 per day. Each toy requires only one sub-
assembly of type B but the vendor providing these subassemblies
would be unable to increase its supply rate above the current level
of 1000 per day.
Because no other vendors currently are available to provide
these subassemblies management is considering initiating a new
production process internally that would simultaneously produce
an equal number of subassemblies of the two types to supplement
the supply from the two vendors. It is estimated that the company’s
cost for producing one subassembly of each type would be 2.50
more than the cost of purchasing these subassemblies from the two
vendors. Management wants to determine both the production rate
of the toy and the production rate of each pair of subassemblies
one A and one B that would maximize the total profit.
The following table summarizes the data for the problem.
and
x
1
0 x
2
0 x
3
0.
If we let x
4
x
5
and x
6
be the slack variables for the respective con-
straints the simplex method yields the following final set of equa-
tions:
0 Z 2x
3
x
4
x
5
18
1 x
2
5x
3
x
4
3x
5
24
2 2x
3
x
5
x
6
7
3 x
1
4x
3
x
4
2x
5
21.
Now you are to conduct sensitivity analysis by independently in-
vestigating each of the following eight changes in the original
model. For each change use the sensitivity analysis procedure to
revise this set of equations in tableau form and convert it to proper
form from Gaussian elimination for identifying and evaluating the
current basic solution. Then test this solution for feasibility and for
optimality. If either test fails reoptimize to find a new optimal so-
lution.
a Change the right-hand sides to
.
b Change the coefficient of x
3
in the objective function to c
3
2.
c Change the coefficient of x
1
in the objective function to c
1
3.
d Change the coefficients of x
3
to
.
e Change the coefficients of x
1
and x
2
to
and
respectively.
f Change the objective function to Z 5x
1
x
2
3x
3
.
g Change constraint 1 to 2x
1
x
2
4x
3
12.
h Introduce a new constraint 2x
1
x
2
3x
3
60.
6.7-7. One of the products of the G. A. Tanner Company is a spe-
cial kind of toy that provides an estimated unit profit of 3. Be-
cause of a large demand for this toy management would like to
increase its production rate from the current level of 1000 per day.
However a limited supply of two subassemblies A and B from
vendors makes this difficult. Each toy requires two subassemblies
2
2
3
2
c
2
a
12
a
22
a
32
1
1
2
3
c
1
a
11
a
21
a
31
4
3
2
1
c
3
a
13
a
23
a
33
10
4
2
b
1
b
2
b
3
CHAPTER 6 PROBLEMS 293
a Formulate a linear programming model for this problem and
use the graphical method to obtain its optimal solution.
C b Use a software package based on the simplex method to
solve for an optimal solution.
C c Since the stated unit profits for the two activities are only
estimates management wants to know how much each of
these estimates can be off before the optimal solution would
change. Begin exploring this question for the first activity
producing toys by using the same software package to re-
solve for an optimal solution and total profit as the unit profit
for this activity increases in 50-cent increments from 2.00
to 4.00. What conclusion can be drawn about how much
the estimate of this unit profit can differ in each direction
from its original value of 3.00 before the optimal solution
would change
C d Repeat part c for the second activity producing sub-
assemblies by re-solving as the unit profit for this activity
increases in 50-cent increments from 3.50 to 1.50
with the unit profit for the first activity fixed at 3.
C e Use the same software package to generate the usual output
as in Table 6.23 for sensitivity analysis of the unit profits.
Resource Usage per
Unit of Each Activity
Produce Produce Amount of Resource
Resource Toys Subassemblies Available
Subassembly A 2 .00 1 3000
Subassembly B 1 .00 1 1000
Unit profit 3 2.50

slide 319:

C g Use the same software package to generate the usual output
as in Table 6.23 for sensitivity analysis of the supplies be-
ing made available of the subassemblies. Use this output to
obtain the allowable range to stay feasible for each sub-
assembly supply.
h Use graphical analysis to verify the allowable ranges obtained
in part g.
i For each of the four combinations where the maximum sup-
ply of subassembly A is either 3500 or 4000 and the maxi-
mum supply of subassembly B is either 1500 or 2000 use
the 100 percent rule for simultaneous changes in right-hand
sides to determine whether the original shadow prices defi-
nitely will still be valid.
j For each of the combinations considered in part i where it
was found that the original shadow prices are not guaranteed
to still be valid use graphical analysis to determine whether
these shadow prices actually are still valid for predicting the
effect of changing the right-hand sides.
C 6.7-9 Consider the Distribution Unlimited Co. problem pre-
sented in Sec. 3.4 and summarized in Fig. 3.13.
Although Fig. 3.13 gives estimated unit costs for shipping
through the various shipping lanes there actually is some uncer-
tainty about what these unit costs will turn out to be. Therefore
before adopting the optimal solution given at the end of Sec. 3.4
management wants additional information about the effect of in-
accuracies in estimating these unit costs.
Use a computer package based on the simplex method to gen-
erate sensitivity analysis information preparatory to addressing the
following questions.
a Which of the unit shipping costs given in Fig. 3.13 has the
smallest margin for error without invalidating the optimal so-
lution given in Sec. 3.4 Where should the greatest effort be
placed in estimating the unit shipping costs
b What is the allowable range to stay optimal for each of the unit
shipping costs
c How should these allowable ranges be interpreted to manage-
ment
d If the estimates change for more than one of the unit shipping
costs how can you use the generated sensitivity analysis in-
formation to determine whether the optimal solution might
change
C 6.7-10. Consider the Union Airways problem presented in Sec.
3.4 including the data given in Table 3.19.
Management is about to begin negotiations on a new contract
with the union that represents the company’s customer service
agents. This might result in some small changes in the daily costs
per agent given in Table 3.19 for the various shifts. Several possi-
ble changes listed below are being considered separately. In each
case management would like to know whether the change might
Use this output to obtain the allowable range to stay opti-
mal for each unit profit.
f Use graphical analysis to verify the allowable ranges obtained
in part e.
g For each of the 16 combinations of unit profits considered in
parts c and d where both unit profits differ from their orig-
inal estimates use the 100 percent rule for simultaneous
changes in objective function coefficients to determine if the
original optimal solution must still be optimal.
h For each of the combinations of unit profits considered in part
g where it was found that the original optimal solution is not
guaranteed to still be optimal use graphical analysis to deter-
mine whether this solution is still optimal.
6.7-8. Reconsider Prob. 6.7-7. After further negotiations with each
vendor management of the G. A. Tanner Co. has learned that ei-
ther of them would be willing to consider increasing their supply
of their respective subassemblies over the previously stated max-
ima 3000 subassemblies of type A per day and 1000 of type B
per day if the company would pay a small premium over the reg-
ular price for the extra subassemblies. The size of the premium for
each type of subassembly remains to be negotiated. The demand
for the toy being produced is sufficiently high that 2500 per day
could be sold if the supply of subassemblies could be increased
enough to support this production rate. Assume that the original
estimates of unit profits given in Prob. 6.7-7 are accurate.
a Formulate a linear programming model for this problem with
the original maximum supply levels and the additional con-
straint that no more than 2500 toys should be produced per
day. Then use the graphical method to obtain its optimal so-
lution.
C b Use a software package based on the simplex method to
solve for an optimal solution.
C c Without considering the premium use the same software
package to determine the shadow price for the subassembly
A constraint by solving the model again after increasing the
maximum supply by 1. Use this shadow price to determine
the maximum premium that the company should be willing
to pay for each subassembly of this type.
C d Repeat part c for the subassembly B constraint.
C e Estimate how much the maximum supply of subassemblies
of type A could be increased before the shadow price and
the corresponding premium found in part c would no
longer be valid by using the same software package to re-
solve for an optimal solution and the total profit excluding
the premium as the maximum supply increases in incre-
ments of 100 from 3000 to 4000.
C f Repeat part e for subassemblies of type B by re-solving as
the maximum supply increases in increments of 100 from
1000 to 2000.
294 6 DUALITY THEORY AND SENSITIVITY ANALYSIS

slide 320:

6.7-13. Consider Variation 5 of the Wyndor Glass Co. model see
Fig. 6.6 and Table 6.24 where the changes in the parameter val-
ues given in Table 6.21 are c
2
3 a
22
3 and a
32
4. Verify
both algebraically and graphically that the allowable range to stay
optimal for c
1
is c
1
9
4
.
6.7-14. Consider the following problem.
Maximize Z 3x
1
x
2
2x
3
subject to
x
1
x
2
2x
3
20
2x
1
x
2
x
3
10
and
x
1
0 x
2
0 x
3
0.
Let x
4
and x
5
denote the slack variables for the respective func-
tional constraints. After we apply the simplex method the final
simplex tableau is
result in the original optimal solution given in Sec. 3.4 no longer
being optimal. Answer this question in parts a to e by using a
software package based on the simplex method to generate sensi-
tivity analysis information. If the optimal solution might change
use the software package to re-solve for the optimal solution.
a The daily cost per agent for Shift 2 changes from 160 to 165.
b The daily cost per agent for Shift 4 changes from 180 to 170.
c The changes in parts a and b both occur.
d The daily cost per agent increases by 4 for shifts 2 4 and 5
but decreases by 4 for shifts 1 and 3.
e The daily cost per agent increases by 2 percent for each shift.
6.7-11. Consider the following problem.
Maximize Z c
1
x
1
c
2
x
2
subject to
2x
1
x
2
b
1
x
1
x
2
b
2
and
x
1
0 x
2
0.
Let x
3
and x
4
denote the slack variables for the respective func-
tional constraints. When c
1
3 c
2
2 b
1
30 and b
2
10
the simplex method yields the following final simplex tableau.
CHAPTER 6 PROBLEMS 295
a Use graphical analysis to determine the allowable range to stay
optimal for c
1
and c
2
.
b Use algebraic analysis to derive and verify your answers in
part a.
c Use graphical analysis to determine the allowable range to stay
feasible for b
1
and b
2
.
d Use algebraic analysis to derive and verify your answers in
part c
C e Use a software package based on the simplex method to find
these allowable ranges.
6.7-12. Consider Variation 5 of the Wyndor Glass Co. model see
Fig. 6.6 and Table 6.24 where the changes in the parameter val-
ues given in Table 6.21 are c
2
3 a
22
3 and a
32
4. Use the
formula b Sb to find the allowable range to stay feasible for
each b
i
. Then interpret each allowable range graphically.
Coefficient of:
Basic Right
Variable Eq. Zx
1
x
2
x
3
x
4
Side
Z 0 1 0 0 1 1 40
x
2
1 0 0 1 1 210
x
1
2 0 1 0 1 120
a Perform sensitivity analysis to determine which of the 11 pa-
rameters of the model are sensitive parameters in the sense that
any change in just that parameter’s value will change the op-
timal solution.
b Use algebraic analysis to find the allowable range to stay op-
timal for each c
j
.
c Use algebraic analysis to find the allowable range to stay fea-
sible for each b
i
.
C d Use a software package based on the simplex method to find
these allowable ranges.
6.7-15. For the problem given in Table 6.21 find the allowable
range to stay optimal for c
2
. Show your work algebraically using
the tableau given in Table 6.21. Then justify your answer from a
geometric viewpoint referring to Fig. 6.3.
6.7-16. For the original Wyndor Glass Co. problem use the last
tableau in Table 4.8 to do the following.
a Find the allowable range to stay feasible for each b
i
.
b Find the allowable range to stay optimal for c
1
and c
2
.
C c Use a software package based on the simplex method to find
these allowable ranges.
Coefficient of:
Basic Right
Variable Eq. Zx
1
x
2
x
3
x
4
x
5
Side
Z 0 1 80034 100
x
3
1 0 30111 30
x
2
2 0 51012 40

slide 321:

gallons of cream left in its inventory. The linear programming for-
mulation for this problem is shown below in algebraic form.
Let C gallons of chocolate ice cream produced
V gallons of vanilla ice cream produced
B gallons of banana ice cream produced.
Maximize profit 1.00 C 0.90 V 0.95 B
subject to
Milk: 0.45 C 0.50 V 0.40 B 200 gallons
Sugar: 0.50 C 0.40 V 0.40 B 150 pounds
Cream: 0.10 C 0.15 V 0.20 B 60 gallons
and
C 0 V 0 B 0.
This problem was solved using the Excel Solver. The spread-
sheet already solved and the sensitivity report are shown below.
Note: The numbers in the sensitivity report for the milk constraint
are missing on purpose since you will be asked to fill in these
numbers in part f .
6.7-17. For Variation 6 of the Wyndor Glass Co. model presented
in Sec. 6.7 use the last tableau in Table 6.25 to do the following.
a Find the allowable range to stay feasible for each b
i
.
b Find the allowable range to stay optimal for c
1
and c
2
.
C c Use a software package based on the simplex method to find
these allowable ranges.
6.7-18. Ken and Larry Inc. supplies its ice cream parlors with
three flavors of ice cream: chocolate vanilla and banana. Be-
cause of extremely hot weather and a high demand for its prod-
ucts the company has run short of its supply of ingredients: milk
sugar and cream. Hence they will not be able to fill all the or-
ders received from their retail outlets the ice cream parlors.
Owing to these circumstances the company has decided to
choose the amount of each flavor to produce that will maximize
total profit given the constraints on supply of the basic
ingredients.
The chocolate vanilla and banana flavors generate respec-
tively 1.00 0.90 and 0.95 of profit per gallon sold. The com-
pany has only 200 gallons of milk 150 pounds of sugar and 60
296 6 DUALITY THEORY AND SENSITIVITY ANALYSIS

slide 322:

a Formulate a linear programming model for this problem.
b Use the graphical method to solve the model.
C c Use a software package based on the simplex method to
solve the model.
C d Use this same software package to generate sensitivity
analysis information.
e Use this sensitivity analysis information to determine whether
the optimal solution must remain optimal if the estimate of the
unit profit for grandfather clocks is changed from 300 to 375
with no other changes in the model.
f Repeat part e if in addition to this change in the unit profit
for grandfather clocks the estimated unit profit for wall clocks
also changes from 200 to 175.
g Use graphical analysis to verify your answers in parts e
and f .
h To increase the total profit the three partners have agreed that
one of them will slightly increase the maximum number of
hours available to work per week. The choice of which one
will be based on which one would increase the total profit the
most. Use the sensitivity analysis information to make this
choice. Assume no change in the original estimates of the unit
profits.
i Explain why one of the shadow prices is equal to zero.
j Can the shadow prices given in the sensitivity analysis infor-
mation be validly used to determine the effect if Lydia were
to change her maximum number of hours available to work
per week from 20 to 25 If so what would be the increase in
the total profit
k Repeat part j if in addition to the change for Lydia David
also were to change his maximum number of hours available
to work per week from 40 to 35.
l Use graphical analysis to verify your answer in part k.
C 6.7-20. Consider the Union Airways problem presented in Sec.
3.4 including the data given in Table 3.19.
Management now is considering increasing the level of ser-
vice provided to customers by increasing one or more of the num-
bers in the rightmost column of Table 3.19 for the minimum num-
ber of agents needed in the various time periods. To guide them in
making this decision they would like to know what impact this
change would have on total cost.
Use a software package based on the simplex method to gen-
erate sensitivity analysis information in preparation for addressing
the following questions.
a Which of the numbers in the rightmost column of Table 3.19
can be increased without increasing total cost In each case
indicate how much it can be increased if it is the only one be-
ing changed without increasing total cost.
b For each of the other numbers how much would the total cost
increase per increase of 1 in the number For each answer in-
For each of the following parts answer the question as specif-
ically and completely as is possible without solving the problem
again on the Excel Solver. Note: Each part is independent i.e. any
change made to the model in one part does not apply to any other
parts.
a What is the optimal solution and total profit
b Suppose the profit per gallon of banana changes to 1.00. Will
the optimal solution change and what can be said about the
effect on total profit
c Suppose the profit per gallon of banana changes to 92 cents.
Will the optimal solution change and what can be said about
the effect on total profit
d Suppose the company discovers that 3 gallons of cream have
gone sour and so must be thrown out. Will the optimal solu-
tion change and what can be said about the effect on total
profit
e Suppose the company has the opportunity to buy an additional
15 pounds of sugar at a total cost of 15. Should they Ex-
plain.
f Fill in all the sensitivity report information for the milk con-
straint given just the optimal solution for the problem. Explain
how you were able to deduce each number.
6.7-19. David LaDeana and Lydia are the sole partners and work-
ers in a company which produces fine clocks. David and LaDeana
each are available to work a maximum of 40 hours per week at the
company while Lydia is available to work a maximum of 20 hours
per week.
The company makes two different types of clocks: a grand-
father clock and a wall clock. To make a clock David a mechan-
ical engineer assembles the inside mechanical parts of the clock
while LaDeana a woodworker produces the hand-carved wood
casings. Lydia is responsible for taking orders and shipping the
clocks. The amount of time required for each of these tasks is
shown below.
CHAPTER 6 PROBLEMS 297
Each grandfather clock built and shipped yields a profit of 300
while each wall clock yields a profit of 200.
The three partners now want to determine how many clocks
of each type should be produced per week to maximize the total
profit.
Time Required
Task Grandfather Clock Wall Clock
Assemble clock mechanism 6 hours 4 hours
Carve wood casing 8 hours 4 hours
Shipping 3 hours 3 hours

slide 323:

b Now perform this sensitivity analysis as described and illus-
trated in Sec. 6.7 for b
1
and c
1
.
c Repeat part b for b
2
.
d Repeat part b for c
2
.
6.7-22. Reconsider Prob. 6.7-21. Now use a software package
based on the simplex method to generate sensitivity analysis in-
formation preparatory to doing parts a and c below.
C a Suppose that the estimates for c
1
and c
2
are correct but the
estimates for both b
1
and b
2
are incorrect. Consider the fol-
lowing four cases where the true values of b
1
and b
2
differ
from their estimates by the same percentage: 1 both b
1
and
b
2
are smaller than their estimates 2 both b
1
and b
2
are
larger than their estimates 3 b
1
is smaller and b
2
is larger
than their estimates and 4 b
1
is larger and b
2
is smaller
than their estimates. For each of these cases use the 100
percent rule for simultaneous changes in right-hand sides to
determine how large the percentage error can be while guar-
anteeing that the original shadow prices still will be valid.
b For each of the four cases considered in part a start with the
final simplex tableau given in Prob. 6.7-21 and use algebraic
analysis based on the fundamental insight presented in Sec. 5.3
to determine how large the percentage error can be without in-
validating the original shadow prices.
C c Suppose that the estimates for b
1
and b
2
are correct but the
estimates for both c
1
and c
2
are incorrect. Consider the fol-
lowing four cases where the true values of c
1
and c
2
differ
from their estimates by the same percentage: 1 both c
1
and
c
2
are smaller than their estimates 2 both c
1
and c
2
are larger
than their estimates 3 c
1
is smaller and c
2
is larger than their
estimates and 4 c
1
is larger and c
2
is smaller than their es-
timates. For each of these cases use the 100 percent rule for
simultaneous changes in objective function coefficients to de-
termine how large the percentage error can be while guaran-
teeing that the original optimal solution must still be optimal.
d For each of the four cases considered in part c start with the
final simplex tableau given in Prob. 6.7-21 and use algebraic
analysis based on the fundamental insight presented in Sec. 5.3
to determine how large the percentage error can be without in-
validating the original optimal solution.
6.7-23. Consider the following problem.
Maximize Z 3x
1
4x
2
8x
3
subject to
2x
1
3x
2
5x
3
9
x
1
2x
2
3x
3
5
and
x
1
0 x
2
0 x
3
0.
dicate how much the number can be increased if it is the only
one being changed before the answer is no longer valid.
c Do your answers in part b definitely remain valid if all the
numbers considered in part b are simultaneously increased
by 1
d Do your answers in part b definitely remain valid if all 10
numbers are simultaneously increased by 1
e How far can all 10 numbers be simultaneously increased by
the same amount before your answers in part b may no longer
be valid
6.7-21. Consider the following problem.
Maximize Z 2x
1
5x
2
subject to
x
1
2x
2
10
x
1
3x
2
12
and
x
1
0 x
2
0.
Let x
3
and x
4
denote the slack variables for the respective func-
tional constraints. After we apply the simplex method the final
simplex tableau is
298 6 DUALITY THEORY AND SENSITIVITY ANALYSIS
While doing postoptimality analysis you learn that all four b
i
and
c
j
values used in the original model just given are accurate only to
within 50 percent. In other words their ranges of likely values
are 5 b
1
15 6 b
2
18 1 c
1
3 and 2.5 c
2
7.5.
Your job now is to perform sensitivity analysis to determine for
each parameter individually assuming the other three parameters
equal their values in the original model whether this uncertainty
might affect either the feasibility or the optimality of the above ba-
sic solution perhaps with new values for the basic variables.
Specifically determine the allowable range to stay feasible for each
b
i
and the allowable range to stay optimal for each c
j
. Then for
each parameter and its range of likely values indicate which part
of this range lies within the allowable range and which parts cor-
respond to values for which the current basic solution will no longer
be both feasible and optimal.
a Perform this sensitivity analysis graphically on the original
model.
Coefficient of:
Basic Right
Variable Eq. Zx
1
x
2
x
3
x
4
Side
Z 0 1 0 0 1 1 22
x
1
1 0 1 0 3 26
x
2
2 0 0 1 11 2

slide 324:

Construct a table like Table 6.26 to perform parametric linear
programming analysis on this problem. Determine the upper bound
on before the original optimal solution would become nonopti-
mal. Then determine the best choice of over this range.
6.7-26. Consider the following parametric linear programming
problem.
Maximize Z 10 4 x
1
4 x
2
7 x
3
subject to
3x
1
x
2
2x
3
7 resource 1
2x
1
x
2
3x
3
5 resource 2
and
x
1
0 x
2
0 x
3
0
where can be assigned any positive or negative values. Let x
4
and
x
5
be the slack variables for the respective constraints. After we
apply the simplex method with 0 the final simplex tableau is
Let x
4
and x
5
denote the slack variables for the respective func-
tional constraints. After we apply the simplex method the final
simplex tableau is
CHAPTER 6 PROBLEMS 299
While doing postoptimality analysis you learn that some of the pa-
rameter values used in the original model just given are just rough
estimates where the range of likely values in each case is within
50 percent of the value used here. For each of these following pa-
rameters perform sensitivity analysis to determine whether this un-
certainty might affect either the feasibility or the optimality of the
above basic solution. Specifically for each parameter determine the
allowable range of values for which the current basic solution per-
haps with new values for the basic variables will remain both fea-
sible and optimal. Then for each parameter and its range of likely
values indicate which part of this range lies within the allowable
range and which parts correspond to values for which the current
basic solution will no longer be both feasible and optimal.
a Parameter b
2
b Parameter c
2
c Parameter a
22
d Parameter c
3
e Parameter a
12
f Parameter b
1
6.7-24. Consider Variation 5 of the Wyndor Glass Co. model pre-
sented in Sec. 6.7 where c
2
3 a
22
3 a
32
4 and where the
other parameters are given in Table 6.21. Starting from the resulting
final tableau given at the bottom of Table 6.24 construct a table like
Table 6.26 to perform parametric linear programming analysis where
c
1
3 and c
2
3 2 .
How far can be increased above 0 before the current basic solu-
tion is no longer optimal
6.7-25. Reconsider the model of Prob. 6.7-6. Suppose that you now
have the option of making trade-offs in the profitability of the first
two activities whereby the objective function coefficient of x
1
can
be increased by any amount by simultaneously decreasing the ob-
jective function coefficient of x
2
by the same amount. Thus the al-
ternative choices of the objective function are
Z 2 x
1
1 x
2
x
3
where any nonnegative value of can be chosen.
Coefficient of:
Basic Right
Variable Eq. Zx
1
x
2
x
3
x
4
x
5
Side
Z 0 1 0 1 0 1 1 14
x
1
1 0 1 10 3 52
x
3
2 0 0 1 1 12 1
a Determine the range of values of over which the above BF
solution will remain optimal. Then find the best choice of within this range.
b Given that is within the range of values found in part a
find the allowable range to stay feasible for b
1
the available
amount of resource 1. Then do the same for b
2
the available
amount of resource 2.
c Given that is within the range of values found in part a
identify the shadow prices as a function of for the two re-
sources. Use this information to determine how the optimal
value of the objective function would change as a function of
if the available amount of resource 1 were decreased by 1
and the available amount of resource 2 simultaneously were
increased by 1.
d Construct the dual of this parametric linear programming prob-
lem. Set 0 and solve this dual problem graphically to find
the corresponding shadow prices for the two resources of the
primal problem. Then find these shadow prices as a function
of within the range of values found in part a by alge-
braically solving for this same optimal CPF solution for the
dual problem as a function of .
Coefficient of:
Basic Right
Variable Eq. Zx
1
x
2
x
3
x
4
x
5
Side
Z 0 1 0 0 3 2 2 24
x
1
1 0 1 0 11 12
x
2
2 0 0 1 5 23 1

slide 325:

a Use the fundamental insight Sec. 5.3 to revise this tableau to
reflect the inclusion of the parameter in the original model.
Show the complete tableau needed to apply the feasibility test
and the optimality test for any value of . Express the corre-
sponding basic solution and Z as a function of .
b Determine the range of nonnegative values of over which
this basic solution is feasible.
c Determine the range of nonnegative values of over which
this basic solution is both feasible and optimal. Determine the
best choice of over this range.
6.7-29. Consider the following problem.
Maximize Z 10x
1
4x
2
subject to
3x
1
x
2
30
2x
1
x
2
25
and
x
1
0 x
2
0.
Let x
3
and x
4
denote the slack variables for the respective func-
tional constraints. After we apply the simplex method the final
simplex tableau is
6.7-27. Consider the following parametric linear programming
problem.
Maximize Z 2x
1
4x
2
5x
3
subject to
x
1
3x
2
2x
3
5 x
1
2x
2
3x
3
6 2 and
x
1
0 x
2
0 x
3
0
where can be assigned any positive or negative values. Let x
4
and
x
5
be the slack variables for the respective functional constraints.
After we apply the simplex method with 0 the final simplex
tableau is
300 6 DUALITY THEORY AND SENSITIVITY ANALYSIS
a Express the BF solution and Z given in this tableau as a func-
tion of . Determine the lower and upper bounds on before
this optimal solution would become infeasible. Then determine
the best choice of between these bounds.
b Given that is between the bounds found in part a deter-
mine the allowable range to stay optimal for c
1
the coefficient
of x
1
in the objective function.
6.7-28. Consider the following parametric linear programming
problem where the parameter must be nonnegative:
Maximize Z 5 2 x
1
2 x
2
3 x
3
subject to
4x
1
x
2
2x
3
5 5 3x
1
x
2
2x
3
10 10 and
x
1
0 x
2
0 x
3
0.
Let x
4
be the surplus variable for the first functional constraint and
let x
5
and x
6
be the artificial variables for the respective functional
constraints. After we apply the simplex method with the Big M
method and with 0 the final simplex tableau is
Coefficient of:
Basic Right
Variable Eq. Zx
1
x
2
x
3
x
4
x
5
x
6
Side
Z 0 1 1 0 1 0 MM 220
x
2
1 0 3 1 2 0 0 1 10
x
4
2 0 10 2 1 11 5
Coefficient of:
Basic Right
Variable Eq. Zx
1
x
2
x
3
x
4
Side
Z 0 1 0 0 2 2 110
x
2
1 0 0 1 23 15
x
1
2 0 1 0 1 15
Now suppose that both of the following changes are made si-
multaneously in the original model:
1. The first constraint is changed to 4x
1
x
2
40.
2. Parametric programming is introduced to change the objective
function to the alternative choices of
Z 10 2 x
1
4 x
2
where any nonnegative value of can be chosen.
Coefficient of:
Basic Right
Variable Eq. Zx
1
x
2
x
3
x
4
x
5
Side
Z 0 0 0 1 0 1 1 11
x
1
1 1 1 5 0 3 23
x
3
2 2 0 11 11 1

slide 326:

nology so 0 1. Given the coefficients of x
1
in the
model become
.
Construct the resulting revised final tableau as a function of
and convert this tableau to proper form from Gaussian elim-
ination. Use this tableau to identify the current basic solution
as a function of . Over the allowable values of 0 1
give the range of values of for which this solution is both fea-
sible and optimal. What is the best choice of within this range
6.7-31. Consider the following problem.
Maximize Z 3x
1
5x
2
2x
3
subject to
2x
1
2x
2
x
3
5
3x
1
x
2
x
3
10
and
x
1
0 x
2
0 x
3
0.
Let x
4
and x
5
be the slack variables for the respective functional
constraints. After we apply the simplex method the final simplex
tableau is
9 9 2 5
c
1
a
11
a
21
a Construct the resulting revised final tableau as a function of
and then convert this tableau to proper form from Gauss-
ian elimination. Use this tableau to identify the new optimal
solution that applies for either 0 or sufficiently small val-
ues of .
b What is the upper bound on before this optimal solution
would become nonoptimal
c Over the range of from zero to this upper bound which choice
of gives the largest value of the objective function
6.7-30. Consider the following problem.
Maximize Z 9x
1
8x
2
5x
3
subject to
2x
1
3x
2
x
3
4
5x
1
4x
2
3x
3
11
and
x
1
0 x
2
0 x
3
0.
Let x
4
and x
5
denote the slack variables for the respective func-
tional constraints. After we apply the simplex method the final
simplex tableau is
CHAPTER 6 PROBLEMS 301
DI a Suppose that a new technology has become available for
conducting the first activity considered in this problem. If
the new technology were adopted to replace the existing
one the coefficients of x
1
in the model would change
from to .
Use the sensitivity analysis procedure to investigate the
potential effect and desirability of adopting the new tech-
nology. Specifically assuming it were adopted construct
the resulting revised final tableau convert this tableau to
proper form from Gaussian elimination and then reopti-
mize if necessary to find the new optimal solution.
b Now suppose that you have the option of mixing the old and
new technologies for conducting the first activity. Let denote
the fraction of the technology used that is from the new tech-
18
3
6
c
1
a
11
a
21
9
2
5
c
1
a
11
a
21
Coefficient of:
Basic Right
Variable Eq. Zx
1
x
2
x
3
x
4
x
5
Side
Z 0 1 0 2 0 2 1 19
x
1
1 0 1 5 0 3 11
x
3
2 0 0 71 52 2
Parametric linear programming analysis now is to be applied si-
multaneously to the objective function and right-hand sides where
the model in terms of the new parameter is the following:
Maximize Z 3 2 x
1
5 x
2
2 x
3
subject to
2x
1
2x
2
x
3
5 6 3x
1
x
2
x
3
10 8 and
x
1
0 x
2
0 x
3
0.
Construct the resulting revised final tableau as a function of
and convert this tableau to proper form from Gaussian elimination.
Coefficient of:
Basic Right
Variable Eq. Zx
1
x
2
x
3
x
4
x
5
Side
Z 0 1 0 20 0 9 7 115
x
1
1 0 1 3 0 1 1 15
x
3
2 0 0 8 1 3 2 35

slide 327:

d If the unit profit is below this breakeven point how much can
the old product’s production rate be decreased assuming its
previous rate was larger than this decrease before the final BF
solution would become infeasible
6.7-33. Consider the following problem.
Maximize Z 2x
1
x
2
3x
3
subject to
x
1
x
2
x
3
3
x
1
2x
2
x
3
1
x
1
2x
2
x
3
2
and
x
1
0 x
2
0 x
3
0.
Suppose that the Big M method see Sec. 4.6 is used to obtain the
initial artificial BF solution. Let x
4
be the artificial slack variable
for the first constraint x
5
the surplus variable for the second con-
straint x
6
the artificial variable for the second constraint and x
7
the slack variable for the third constraint. The corresponding final
set of equations yielding the optimal solution is
0 Z 5x
2
M 2x
4
Mx
6
x
7
8
1 x
1
x
2
x
4
x
7
1
2 2x
2
x
3
x
7
2
3 3x
2
x
4
x
5
x
6
2.
Suppose that the original objective function is changed to
Z 2x
1
3x
2
4x
3
and that the original third constraint is
changed to 2x
2
x
3
1. Use the sensitivity analysis procedure to
revise the final set of equations in tableau form and convert it to
proper form from Gaussian elimination for identifying and evalu-
ating the current basic solution. Then test this solution for feasi-
bility and for optimality. Do not reoptimize.
Use this tableau to identify the current basic solution as a function
of . For 0 give the range of values of for which this solu-
tion is both feasible and optimal. What is the best choice of within
this range
6.7-32. Consider the Wyndor Glass Co. problem described in Sec.
3.1. Suppose that in addition to considering the introduction of
two new products management now is considering changing the
production rate of a certain old product that is still profitable. Re-
fer to Table 3.1. The number of production hours per week used
per unit production rate of this old product is 1 4 and 3 for Plants
1 2 and 3 respectively. Therefore if we let denote the change
positive or negative in the production rate of this old product the
right-hand sides of the three functional constraints in Sec. 3.1 be-
come 4 12 4 and 18 3 respectively. Thus choosing
a negative value of would free additional capacity for producing
more of the two new products whereas a positive value would have
the opposite effect.
a Use a parametric linear programming formulation to determine
the effect of different choices of on the optimal solution for
the product mix of the two new products given in the final
tableau of Table 4.8. In particular use the fundamental insight
of Sec. 5.3 to obtain expressions for Z and the basic variables
x
3
x
2
and x
1
in terms of assuming that is sufficiently close
to zero that this “final” basic solution still is feasible and thus
optimal for the given value of .
b Now consider the broader question of the choice of along
with the product mix for the two new products. What is the
breakeven unit profit for the old product in comparison with
the two new products below which its production rate should
be decreased 0 in favor of the new products and above
which its production rate should be increased 0
c If the unit profit is above this breakeven point how much can
the old product’s production rate be increased before the final
BF solution would become infeasible
302 6 DUALITY THEORY AND SENSITIVITY ANALYSIS
Refer to Sec. 3.4 subsection entitled “Controlling Air Pollution” for the Nori Leets
Co. problem. After the OR team obtained an optimal solution we mentioned that the
team then conducted sensitivity analysis. We now continue this story by having you
retrace the steps taken by the OR team after we provide some additional background.
The values of the various parameters in the original formulation of the model are
given in Tables 3.12 3.13 and 3.14. Since the company does not have much prior ex-
perience with the pollution abatement methods under consideration the cost estimates
given in Table 3.14 are fairly rough and each one could easily be off by as much as
10 percent in either direction. There also is some uncertainty about the parameter val-
CASE 6.1 CONTROLLING AIR POLLUTION

slide 328:

ues given in Table 3.13 but less so than for Table 3.14. By contrast the values in Table
3.12 are policy standards and so are prescribed constants.
However there still is considerable debate about where to set these policy standards
on the required reductions in the emission rates of the various pollutants. The numbers
in Table 3.12 actually are preliminary values tentatively agreed upon before learning
what the total cost would be to meet these standards. Both the city and company offi-
cials agree that the final decision on these policy standards should be based on the trade-
off between costs and benefits. With this in mind the city has concluded that each 10
percent increase in the policy standards over the current values all the numbers in Table
3.12 would be worth 3.5 million to the city. Therefore the city has agreed to reduce
the company’s tax payments to the city by 3.5 million for each 10 percent reduction
in the policy standards up to 50 percent that is accepted by the company.
Finally there has been some debate about the relative values of the policy stan-
dards for the three pollutants. As indicated in Table 3.12 the required reduction for
particulates now is less than half of that for either sulfur oxides or hydrocarbons. Some
have argued for decreasing this disparity. Others contend that an even greater dispar-
ity is justified because sulfur oxides and hydrocarbons cause considerably more dam-
age than particulates. Agreement has been reached that this issue will be reexamined
after information is obtained about which trade-offs in policy standards increasing one
while decreasing another are available without increasing the total cost.
a Use any available linear programming software to solve the model for this problem as for-
mulated in Sec. 3.4. In addition to the optimal solution obtain the additional output pro-
vided for performing postoptimality analysis e.g. the Sensitivity Report when using Excel.
This output provides the basis for the following steps.
b Ignoring the constraints with no uncertainty about their parameter values namely x
j
1
for j 1 2 . . . 6 identify the parameters of the model that should be classified as sen-
sitive parameters. Hint: See the subsection “Sensitivity Analysis” in Sec. 4.7. Make a re-
sulting recommendation about which parameters should be estimated more closely if
possible.
c Analyze the effect of an inaccuracy in estimating each cost parameter given in Table 3.14.
If the true value is 10 percent less than the estimated value would this alter the optimal so-
lution Would it change if the true value were 10 percent more than the estimated value
Make a resulting recommendation about where to focus further work in estimating the cost
parameters more closely.
d Consider the case where your model has been converted to maximization form before apply-
ing the simplex method. Use Table 6.14 to construct the corresponding dual problem and use
the output from applying the simplex method to the primal problem to identify an optimal so-
lution for this dual problem. If the primal problem had been left in minimization form how
would this affect the form of the dual problem and the sign of the optimal dual variables
e For each pollutant use your results from part d to specify the rate at which the total cost
of an optimal solution would change with any small change in the required reduction in the
annual emission rate of the pollutant. Also specify how much this required reduction can be
changed up or down without affecting the rate of change in the total cost.
f For each unit change in the policy standard for particulates given in Table 3.12 determine
the change in the opposite direction for sulfur oxides that would keep the total cost of an
optimal solution unchanged. Repeat this for hydrocarbons instead of sulfur oxides. Then do
CASE 6.1 CONTROLLING AIR POLLUTION 303

slide 329:

it for a simultaneous and equal change for both sulfur oxides and hydrocarbons in the op-
posite direction from particulates.
g Letting denote the percentage increase in all the policy standards given in Table 3.12 for-
mulate the problem of analyzing the effect of simultaneous proportional increases in these
standards as a parametric linear programming problem. Then use your results from part e
to determine the rate at which the total cost of an optimal solution would increase with a
small increase in from zero.
h Use the simplex method to find an optimal solution for the parametric linear programming
problem formulated in part g for each 10 20 30 40 50. Considering the tax incen-
tive offered by the city use these results to determine which value of including the op-
tion of 0 should be chosen to minimize the company’s total cost of both pollution abate-
ment and taxes.
i For the value of chosen in part h repeat parts e and f so that the decision makers can
make a final decision on the relative values of the policy standards for the three pollutants.
304 6 DUALITY THEORY AND SENSITIVITY ANALYSIS
The Ploughman family owns and operates a 640-acre farm that has been in the family
for several generations. The Ploughmans always have had to work hard to make a de-
cent living from the farm and have had to endure some occasional difficult years. Sto-
ries about earlier generations overcoming hardships due to droughts floods etc. are
an important part of the family history. However the Ploughmans enjoy their self-
reliant lifestyle and gain considerable satisfaction from continuing the family tradition
of successfully living off the land during an era when many family farms are being
abandoned or taken over by large agricultural corporations.
John Ploughman is the current manager of the farm while his wife Eunice runs
the house and manages the farm’s finances. John’s father Grandpa Ploughman lives
with them and still puts in many hours working on the farm. John and Eunice’s older
children Frank Phyllis and Carl also are given heavy chores before and after school.
The entire famiy can produce a total of 4000 person-hours worth of labor during
the winter and spring months and 4500 person-hours during the summer and fall. If
any of these person-hours are not needed Frank Phyllis and Carl will use them to
work on a neighboring farm for 5 per hour during the winter and spring months and
5.50 per hour during the summer and fall.
The farm supports two types of livestock: dairy cows and laying hens as well as
three crops: soybeans corn and wheat. All three are cash crops but the corn also is
a feed crop for the cows and the wheat also is used for chicken feed. The crops are
harvested during the late summer and fall. During the winter months John Eunice
and Grandpa make a decision about the mix of livestock and crops for the coming year.
Currently the family has just completed a particularly successful harvest which
has provided an investment fund of 20000 that can be used to purchase more live-
stock. Other money is available for ongoing expenses including the next planting of
crops. The family currently has 30 cows valued at 35000 and 2000 hens valued at
5000. They wish to keep all this livestock and perhaps purchase more. Each new cow
would cost 1500 and each new hen would cost 3.
CASE 6.2 FARM MANAGEMENT

slide 330:

Over a year’s time the value of a herd of cows will decrease by about 10 percent
and the value of a flock of hens will decrease by about 25 percent due to aging.
Each cow will require 2 acres of land for grazing and 10 person-hours of work per
month while producing a net annual cash income of 850 for the family. The corre-
sponding figures for each hen are: no significant acreage 0.05 person-hour per month
and an annual net cash income of 4.25. The chicken house can accommodate a max-
imum of 5000 hens and the size of the barn limits the herd to a maximum of 42 cows.
For each acre planted in each of the three crops the following table gives the num-
ber of person-hours of work that will be required during the first and second halves of
the year as well as a rough estimate of the crop’s net value in either income or sav-
ings in purchasing feed for the livestock.
CASE 6.2 FARM MANAGEMENT 305
Data per acre planted
Soybeans Corn Wheat
Winter and spring person-hours 1.0 0.9 0.6
Summer and fall person-hours 1.4 1.2 0.7
Net value 70 60 40
To provide much of the feed for the livestock John wants to plant at least 1 acre
of corn for each cow in the coming year’s herd and at least 0.05 acre of wheat for each
hen in the coming year’s flock.
John Eunice and Grandpa now are discussing how much acreage should be planted
in each of the crops and how many cows and hens to have for the coming year. Their
objective is to maximize the family’s monetary worth at the end of the coming year
the sum of the net income from the livestock for the coming year plus the net value
of the crops for the coming year plus what remains from the investment fund plus the
value of the livestock at the end of the coming year plus any income from working on
a neighboring farm minus living expenses of 40000 for the year.
a Identify verbally the components of a linear programming model for this problem.
b Formulate this model. Either an algebraic or a spreadsheet formulation is acceptable.
c Obtain an optimal solution and generate the additional output provided for performing postop-
timality analysis e.g. the Sensitivity Report when using Excel. What does the model pre-
dict regarding the family’s monetary worth at the end of the coming year
d Find the allowable range to stay optimal for the net value per acre planted for each of the
three crops.
The above estimates of the net value per acre planted in each of the three crops
assumes good weather conditions. Adverse weather conditions would harm the crops
and greatly reduce the resulting value. The scenarios particularly feared by the family
are a drought a flood an early frost both a drought and an early frost and both a
flood and an early frost. The estimated net values for the year under these scenarios
are shown on the next page.

slide 331:

e Find an optimal solution under each scenario after making the necessary adjustments to the
linear programming model formulated in part b. In each case what is the prediction re-
garding the family’s monetary worth at the end of the year
f For the optimal solution obtained under each of the six scenarios including the good weather
scenario considered in parts a to d calculate what the family’s monetary worth would
be at the end of the year if each of the other five scenarios occur instead. In your judgment
which solution provides the best balance between yielding a large monetary worth under
good weather conditions and avoiding an overly small monetary worth under adverse weather
conditions.
Grandpa has researched what the weather conditions were in past years as far back
as weather records have been kept and obtained the following data.
306 6 DUALITY THEORY AND SENSITIVITY ANALYSIS
With these data the family has decided to use the following approach to making
its planting and livestock decisions. Rather than the optimistic approach of assuming
that good weather conditions will prevail as done in parts a to d the average net
value under all weather conditions will be used for each crop weighting the net val-
ues under the various scenarios by the frequencies in the above table.
g Modify the linear programming model formulated in part b to fit this new approach.
h Repeat part c for this modified model.
i Use a shadow price obtained in part h to analyze whether it would be worthwhile for the
family to obtain a bank loan with a 10 percent interest rate to purchase more livestock now
beyond what can be obtained with the 20000 from the investment fund.
j For each of the three crops use the postoptimality analysis information obtained in part h
to identify how much latitude for error is available in estimating the net value per acre planted
for that crop without changing the optimal solution. Which two net values need to be esti-
mated most carefully If both estimates are incorrect simultaneously how close do the esti-
mates need to be to guarantee that the optimal solution will not change
Scenario Frequency
Good weather 40
Drought 20
Flood 10
Early frost 15
Drought and early frost 10
Flood and early frost 5
Net Value per Acre Planted
Scenario Soybeans Corn Wheat
Drought 10 15 0
Flood 15 20 10
Early frost 50 40 30
Drought and early frost 15 20 10
Flood and early frost 10 10 5

slide 332:

This problem illustrates a kind of situation that is frequently faced by various kinds
of organizations. To describe the situation in general terms an organization faces an
uncertain future where any one of a number of scenarios may unfold. Which one will
occur depends on conditions that are outside the control of the organization. The or-
ganization needs to choose the levels of various activities but the unit contribution of
each activity to the overall measure of performance is greatly affected by which sce-
nario unfolds. Under these circumstances what is the best mix of activities
k Think about specific situations outside of farm management that fit this description. De-
scribe one.
CASE 6.3 ASSIGNING STUDENTS TO SCHOOLS REVISITED 307
Reconsider Case 4.3.
The Springfield School Board still has the policy of providing bussing for all mid-
dle school students who must travel more than approximately 1 mile. Another current
policy is to allow splitting residential areas among multiple schools if this will reduce
the total bussing cost. This latter policy will be reversed in Case 12.4. However be-
fore adopting a bussing plan based on parts a and b of Case 4.3 the school board
now wants to conduct some postoptimality analysis.
a If you have not already done so for parts a and b of Case 4.3 formulate and solve a lin-
ear programming model for this problem. Either an algebraic or a spreadsheet formulation
is acceptable.
b Generate a sensitivity analysis report with the same software package as used in part a.
One concern of the school board is the ongoing road construction in area 6. These
construction projects have been delaying traffic considerably and are likely to affect the
cost of bussing students from area 6 perhaps increasing them as much as 10 percent.
c Use the report from part b to check how much the bussing cost from area 6 to school 1
can increase assuming no change in the costs for the other schools before the current op-
timal solution would no longer be optimal. If the allowable increase is less than 10 percent
re-solve to find the new optimal solution with a 10 percent increase.
d Repeat part c for school 2 assuming no change in the costs for the other schools.
e Now assume that the bussing cost from area 6 would increase by the same percentage for
all the schools. Use the report from part b to determine how large this percentage can be
before the current optimal solution might no longer be optimal. If the allowable increase is
less than 10 percent re-solve to find the new optimal solution with a 10 percent increase.
The school board has the option of adding portable classrooms to increase the ca-
pacity of one or more of the middle schools for a few years. However this is a costly
move that the board would consider only if it would significantly decrease bussing
costs. Each portable classroom holds 20 students and has a leasing cost of 2500 per
year. To analyze this option the school board decides to assume that the road con-
struction in area 6 will wind down without significantly increasing the bussing costs
from that area.
CASE 6.3 ASSIGNING STUDENTS TO SCHOOLS REVISITED

slide 333:

f For each school use the corresponding shadow price from the report obtained in part b to
determine whether it would be worthwhile to add any portable classrooms.
g For each school where it is worthwhile to add any portable classrooms use the report from
part b to determine how many could be added before the shadow price would no longer
be valid assuming this is the only school receiving portable classrooms.
h If it would be worthwhile to add portable classrooms to more than one school use the re-
port from part b to determine the combinations of the number to add for which the shadow
prices definitely would still be valid. Then use the shadow prices to determine which of these
combinations is best in terms of minimizing the total cost of bussing students and leasing
portable classrooms. Re-solve to find the corresponding optimal solution for assigning stu-
dents to schools.
i If part h was applicable modify the best combination of portable classrooms found there
by adding one more to the school with the most favorable shadow price. Find the corre-
sponding optimal solution for assigning students to schools and generate the corresponding
sensitivity analysis report. Use this information to assess whether the plan developed in part
h is the best one available for minimizing the total cost of bussing students and leasing
portable classrooms. If not find the best plan.
308 6 DUALITY THEORY AND SENSITIVITY ANALYSIS

slide 334:

309
7
Other Algorithms for
Linear Programming
The key to the extremely widespread use of linear programming is the availability of an
exceptionally efficient algorithm—the simplex method—that will routinely solve the large-
size problems that typically arise in practice. However the simplex method is only part
of the arsenal of algorithms regularly used by linear programming practitioners. We now
turn to these other algorithms.
This chapter focuses first on three particularly important algorithms that are in fact vari-
ants of the simplex method. In particular the next three sections present the dual simplex
method a modification particularly useful for sensitivity analysis parametric linear pro-
gramming an extension for systematic sensitivity analysis and the upper bound technique
a streamlined version of the simplex method for dealing with variables having upper bounds.
Section 4.9 introduced another algorithmic approach to linear programming—a type
of algorithm that moves through the interior of the feasible region. We describe this inte-
rior-point approach further in Sec. 7.4.
We next introduce linear goal programming where rather than having a single ob-
jective maximize or minimize Z as for linear programming the problem instead has sev-
eral goals toward which we must strive simultaneously. Certain formulation techniques
enable converting a linear goal programming problem back into a linear programming
problem so that solution procedures based on the simplex method can still be used. Sec-
tion 7.5 describes these techniques and procedures.
The dual simplex method is based on the duality theory presented in the first part of Chap.
6. To describe the basic idea behind this method it is helpful to use some terminology in-
troduced in Tables 6.10 and 6.11 of Sec. 6.3 for describing any pair of complementary ba-
sic solutions in the primal and dual problems. In particular recall that both solutions are
said to be primal feasible if the primal basic solution is feasible whereas they are called
dual feasible if the complementary dual basic solution is feasible for the dual problem.
Also recall as indicated on the right side of Table 6.11 that each complementary basic
solution is optimal for its problem only if it is both primal feasible and dual feasible.
The dual simplex method can be thought of as the mirror image of the simplex method.
The simplex method deals directly with basic solutions in the primal problem that are pri-
mal feasible but not dual feasible. It then moves toward an optimal solution by striving
7.1 THE DUAL SIMPLEX METHOD

slide 335:

to achieve dual feasibility as well the optimality test for the simplex method. By con-
trast the dual simplex method deals with basic solutions in the primal problem that are
dual feasible but not primal feasible. It then moves toward an optimal solution by striv-
ing to achieve primal feasibility as well.
Furthermore the dual simplex method deals with a problem as if the simplex method
were being applied simultaneously to its dual problem. If we make their initial basic so-
lutions complementary the two methods move in complete sequence obtaining comple-
mentary basic solutions with each iteration.
The dual simplex method is very useful in certain special types of situations. Ordi-
narily it is easier to find an initial basic solution that is feasible than one that is dual fea-
sible. However it is occasionally necessary to introduce many artificial variables to con-
struct an initial BF solution artificially. In such cases it may be easier to begin with a dual
feasible basic solution and use the dual simplex method. Furthermore fewer iterations may
be required when it is not necessary to drive many artificial variables to zero.
As we mentioned several times in Chap. 6 as well as in Sec. 4.7 another important
primary application of the dual simplex method is its use in conjunction with sensitivity
analysis. Suppose that an optimal solution has been obtained by the simplex method but
that it becomes necessary or of interest for sensitivity analysis to make minor changes
in the model. If the formerly optimal basic solution is no longer primal feasible but still
satisfies the optimality test you can immediately apply the dual simplex method by start-
ing with this dual feasible basic solution. Applying the dual simplex method in this way
usually leads to the new optimal solution much more quickly than would solving the new
problem from the beginning with the simplex method.
The dual simplex method also can be useful in solving huge linear programming prob-
lems from scratch because it is such an efficient algorithm. Recent computational expe-
rience with the latest versions of CPLEX indicates that the dual simplex method often is
more efficient than the simplex method for solving particularly massive problems en-
countered in practice.
The rules for the dual simplex method are very similar to those for the simplex method.
In fact once the methods are started the only difference between them is in the criteria
used for selecting the entering and leaving basic variables and for stopping the algorithm.
To start the dual simplex method for a maximization problem we must have all the
coefficients in Eq. 0 nonnegative so that the basic solution is dual feasible. The basic
solutions will be infeasible except for the last one only because some of the variables
are negative. The method continues to decrease the value of the objective function always
retaining nonnegative coefficients in Eq. 0 until all the variables are nonnegative. Such
a basic solution is feasible it satisfies all the equations and is therefore optimal by the
simplex method criterion of nonnegative coefficients in Eq. 0.
The details of the dual simplex method are summarized next.
Summary of the Dual Simplex Method.
1. Initialization: After converting any functional constraints in form to form by
multiplying through both sides by 1 introduce slack variables as needed to con-
struct a set of equations describing the problem. Find a basic solution such that the co-
efficients in Eq. 0 are zero for basic variables and nonnegative for nonbasic variables
so the solution is optimal if it is feasible. Go to the feasibility test.
310 7 OTHER ALGORITHMS FOR LINEAR PROGRAMMING

slide 336:

2. Feasibility test: Check to see whether all the basic variables are nonnegative. If they are
then this solution is feasible and therefore optimal so stop. Otherwise go to an iteration.
3. Iteration:
Step 1 Determine the leaving basic variable: Select the negative basic variable
that has the largest absolute value.
Step 2 Determine the entering basic variable: Select the nonbasic variable whose
coefficient in Eq. 0 reaches zero first as an increasing multiple of the equation con-
taining the leaving basic variable is added to Eq. 0. This selection is made by check-
ing the nonbasic variables with negative coefficients in that equation the one contain-
ing the leaving basic variable and selecting the one with the smallest absolute value
of the ratio of the Eq. 0 coefficient to the coefficient in that equation.
Step 3 Determine the new basic solution: Starting from the current set of equa-
tions solve for the basic variables in terms of the nonbasic variables by Gaussian elim-
ination. When we set the nonbasic variables equal to zero each basic variable and Z
equals the new right-hand side of the one equation in which it appears with a coeffi-
cient of 1. Return to the feasibility test.
To fully understand the dual simplex method you must realize that the method pro-
ceeds just as if the simplex method were being applied to the complementary basic solu-
tions in the dual problem. In fact this interpretation was the motivation for constructing
the method as it is. Step 1 of an iteration determining the leaving basic variable is equiv-
alent to determining the entering basic variable in the dual problem. The negative vari-
able with the largest absolute value corresponds to the negative coefficient with the largest
absolute value in Eq. 0 of the dual problem see Table 6.3. Step 2 determining the en-
tering basic variable is equivalent to determining the leaving basic variable in the dual
problem. The coefficient in Eq. 0 that reaches zero first corresponds to the variable in
the dual problem that reaches zero first. The two criteria for stopping the algorithm are
also complementary.
We shall now illustrate the dual simplex method by applying it to the dual problem
for the Wyndor Glass Co. see Table 6.1. Normally this method is applied directly to the
problem of concern a primal problem. However we have chosen this problem because
you have already seen the simplex method applied to its dual problem namely the primal
problem
1
in Table 4.8 so you can compare the two. To facilitate the comparison we shall
continue to denote the decision variables in the problem being solved by y
i
rather than x
j
.
In maximization form the problem to be solved is
Maximize Z 4y
1
12y
2
18y
3
subject to
y
1
3y
3
3
2y
2
2y
3
5
and
y
1
0 y
2
0 y
3
0.
7.1 THE DUAL SIMPLEX METHOD 311
1
Recall that the symmetry property in Sec. 6.1 points out that the dual of a dual problem is the original primal
problem.

slide 337:

Since negative right-hand sides are now allowed we do not need to introduce artificial
variables to be the initial basic variables. Instead we simply convert the functional con-
straints to form and introduce slack variables to play this role. The resulting initial set
of equations is that shown for iteration 0 in Table 7.1. Notice that all the coefficients in
Eq. 0 are nonnegative so the solution is optimal if it is feasible.
The initial basic solution is y
1
0 y
2
0 y
3
0 y
4
3 y
5
5 with Z 0
which is not feasible because of the negative values. The leaving basic variable is y
5
5 3
and the entering basic variable is y
2
12/2 18/2 which leads to the second set of equa-
tions labeled as iteration 1 in Table 7.1. The corresponding basic solution is y
1
0
y
2
5
2
y
3
0 y
4
3 y
5
0 with Z 30 which is not feasible.
The next leaving basic variable is y
4
and the entering basic variable is y
3
6/3 4/1
which leads to the final set of equations in Table 7.1. The corresponding basic solution is
y
1
0 y
2
3
2
y
3
1 y
4
0 y
5
0 with Z 36 which is feasible and therefore
optimal.
Notice that the optimal solution for the dual of this problem
1
is x
1
2 x
2
6
x
3
2 x
4
0 x
5
0 as was obtained in Table 4.8 by the simplex method. We suggest
that you now trace through Tables 7.1 and 4.8 simultaneously and compare the comple-
mentary steps for the two mirror-image methods.
312 7 OTHER ALGORITHMS FOR LINEAR PROGRAMMING
TABLE 7.1 Dual simplex method applied to the Wyndor Glass Co. dual problem
Coefficient of:
Basic Right
Iteration Variable Eq. Zy
1
y
2
y
3
y
4
y
5
Side
Z 0 1 4 12 18 0 0 0
0 y
4
1 0 10 310 3
y
5
2 0 0 2 201 5
Z 0 1 4 0 6 0 6 30
1 y
4
1 0 10 310 3
y
2
2 0 0 1 1 0 1
2
5
2
Z 0 1 2 0 0 2 6 36
2 y
3
1 0 1
3
01 1
3
01
y
2
2 0 1
3
10 1
3
1
2
3
2
At the end of Sec. 6.7 we described parametric linear programming and its use for con-
ducting sensitivity analysis systematically by gradually changing various model parame-
ters simultaneously. We shall now present the algorithmic procedure first for the case
where the c
j
parameters are being changed and then where the b
i
parameters are varied.
7.2 PARAMETRIC LINEAR PROGRAMMING
1
The complementary optimal basic solutions property presented in Sec. 6.3 indicates how to read the optimal so-
lution for the dual problem from row 0 of the final simplex tableau for the primal problem. This same conclu-
sion holds regardless of whether the simplex method or the dual simplex method is used to obtain the final tableau.

slide 338:

Systematic Changes in the c
j
Parameters
For the case where the c
j
parameters are being changed the objective function of the or-
dinary linear programming model
Z n
j 1
c
j
x
j
is replaced by
Z n
j 1
c
j j
x
j
where the j
are given input constants representing the relative rates at which the coeffi-
cients are to be changed. Therefore gradually increasing from zero changes the coeffi-
cients at these relative rates.
The values assigned to the j
may represent interesting simultaneous changes of the
c
j
for systematic sensitivity analysis of the effect of increasing the magnitude of these
changes. They may also be based on how the coefficients e.g. unit profits would change
together with respect to some factor measured by . This factor might be uncontrollable
e.g. the state of the economy. However it may also be under the control of the decision
maker e.g. the amount of personnel and equipment to shift from some of the activities
to others.
For any given value of the optimal solution of the corresponding linear program-
ming problem can be obtained by the simplex method. This solution may have been ob-
tained already for the original problem where 0. However the objective is to find the
optimal solution of the modified linear programming problem maximize Z subject to
the original constraints as a function of . Therefore in the solution procedure you need
to be able to determine when and how the optimal solution changes if it does as in-
creases from zero to any specified positive number.
Figure 7.1 illustrates how Z the objective function value for the optimal solution
given changes as increases. In fact Z always has this piecewise linear and con-
7.2 PARAMETRIC LINEAR PROGRAMMING 313
Z
0
1
2
FIGURE 7.1
The objective function value
for an optimal solution as a
function of for parametric
linear programming with
systematic changes in the
c
j
parameters.

slide 339:

vex
1
form see Prob. 7.2-7. The corresponding optimal solution changes as increases
just at the values of where the slope of the Z function changes. Thus Fig. 7.1 de-
picts a problem where three different solutions are optimal for different values of the
first for 0
1
the second for 1
2
and the third for
2
. Because the
value of each x
j
remains the same within each of these intervals for the value of Z
varies with only because the coefficients of the x
j
are changing as a linear function of
. The solution procedure is based directly upon the sensitivity analysis procedure for in-
vestigating changes in the c
j
parameters Cases 2a and 3 Sec. 6.7. As described in the
last subsection of Sec. 6.7 the only basic difference with parametric linear programming
is that the changes now are expressed in terms of rather than as specific numbers.
To illustrate suppose that 1
2 and 2
1 for the original Wyndor Glass Co.
problem presented in Sec. 3.1 so that
Z 3 2 x
1
5 x
2
.
Beginning with the final simplex tableau for 0 Table 4.8 we see that its Eq. 0
0 Z 3
2
x
4
x
5
36
would first have these changes from the original 0 coefficients added into it on the
left-hand side:
0 Z 2 x
1
x
2
3
2
x
4
x
5
36.
Because both x
1
and x
2
are basic variables appearing in Eqs. 3 and 2 respectively
they both need to be eliminated algebraically from Eq. 0:
Z 2 x
1
x
2
3
2
x
4
x
5
36
2 times Eq. 3
times Eq. 2
0 Z 3
2
7
6
x
4
1 2
3
x
5
36 2 .
The optimality test says that the current BF solution will remain optimal as long as
these coefficients of the nonbasic variables remain nonnegative:
3
2
7
6
0 for 0 9
7
1 2
3
0 for all 0.
Therefore after is increased past
9
7
x
4
would need to be the entering basic variable
for another iteration of the simplex method to find the new optimal solution. Then would
be increased further until another coefficient goes negative and so on until has been in-
creased as far as desired.
This entire procedure is now summarized and the example is completed in Table 7.2.
314 7 OTHER ALGORITHMS FOR LINEAR PROGRAMMING
1
See Appendix 2 for a definition and discussion of convex functions.

slide 340:

Summary of the Parametric Linear Programming Procedure for
Systematic Changes in the c
j
Parameters.
1. Solve the problem with 0 by the simplex method.
2. Use the sensitivity analysis procedure Cases 2a and 3 Sec. 6.7 to introduce the
c
j
j
changes into Eq. 0.
3. Increase until one of the nonbasic variables has its coefficient in Eq. 0 go negative
or until has been increased as far as desired.
4. Use this variable as the entering basic variable for an iteration of the simplex method
to find the new optimal solution. Return to step 3.
Systematic Changes in the b
i
Parameters
For the case where the b
i
parameters change systematically the one modification made
in the original linear programming model is that b
i
is replaced by b
i
i
for i 1
2... m where the i
are given input constants. Thus the problem becomes
Maximize Z n
j 1
c
j
x
j
7.2 PARAMETRIC LINEAR PROGRAMMING 315
TABLE 7.2 The c
j
parametric linear programming procedure applied to the
Wyndor Glass Co. example
Coefficient of:
Range Basic Right Optimal
of Variable Eq. Zx
1
x
2
x
3
x
4
x
5
Side Solution
Z 0 1 0 0 0 9 6
7
3 3
2 36 2 x
4
0
x
5
0
0 9
7
x
3
1 0 0 0 1 1
3
1
3
2 x
3
2
x
2
2 0 0 1 0 1
2
06 x
2
6
x
1
3 0 1 0 0 1
3
1
3
2 x
1
2
Z 0 1 0 0 9
2
7 0 5 2
27 5 x
3
0
x
5
0
9
7
5 x
4
1 0 0 0 31 16 x
4
6
x
2
2 0 0 1 3
2
0 1
2
3 x
2
3
x
1
3 0 1 0 10 04 x
1
4
Z 0 1 0 5 3 2 0 012 8 x
2
0
x
3
0
5 x
4
1 0 0 2 01 012 x
4
12
x
5
2 0 0 2 30 16 x
5
6
x
1
3 0 1 0 10 04 x
1
4

slide 341:

subject to
n
j 1
a
ij
x
j
b
i
i
for i 1 2... m
and
x
j
0 for j 1 2... n.
The goal is to identify the optimal solution as a function of .
With this formulation the corresponding objective function value Z always has
the piecewise linear and concave
1
form shown in Fig. 7.2. See Prob. 7.2-8. The set of
basic variables in the optimal solution still changes as increases only where the slope
of Z changes. However in contrast to the preceding case the values of these variables
now change as a linear function of between the slope changes. The reason is that in-
creasing changes the right-hand sides in the initial set of equations which then causes
changes in the right-hand sides in the final set of equations i.e. in the values of the final
set of basic variables. Figure 7.2 depicts a problem with three sets of basic variables that
are optimal for different values of the first for 0
1
the second for 1
2
and the third for
2
. Within each of these intervals of the value of Z varies with
despite the fixed coefficients c
j
because the x
j
values are changing.
The following solution procedure summary is very similar to that just presented for
systematic changes in the c
j
parameters. The reason is that changing the b
i
values is equiv-
alent to changing the coefficients in the objective function of the dual model. Therefore
the procedure for the primal problem is exactly complementary to applying simultane-
ously the procedure for systematic changes in the c
j
parameters to the dual problem. Con-
sequently the dual simplex method see Sec. 7.1 now would be used to obtain each new
optimal solution and the applicable sensitivity analysis case see Sec. 6.7 now is Case
1 but these differences are the only major differences.
316 7 OTHER ALGORITHMS FOR LINEAR PROGRAMMING
1
See Appendix 2 for a definition and discussion of concave functions.
0
Z
1
2
FIGURE 7.2
The objective function value
for an optimal solution as a
function of for parametric
linear programming with
systematic changes in the
b
i
parameters.

slide 342:

Summary of the Parametric Linear Programming Procedure for
Systematic Changes in the b
i
Parameters.
1. Solve the problem with 0 by the simplex method.
2. Use the sensitivity analysis procedure Case 1 Sec. 6.7 to introduce the b
i
i
changes to the right side column.
3. Increase until one of the basic variables has its value in the right side column go
negative or until has been increased as far as desired.
4. Use this variable as the leaving basic variable for an iteration of the dual simplex
method to find the new optimal solution. Return to step 3.
To illustrate this procedure in a way that demonstrates its duality relationship with
the procedure for systematic changes in the c
j
parameters we now apply it to the dual
problem for the Wyndor Glass Co. see Table 6.1. In particular suppose that 1
2 and
2
1 so that the functional constraints become
y
1
3y
3
3 2 or y
1
3y
3
3 2 2y
2
2y
3
5 or 2y
2
2y
3
5 .
Thus the dual of this problem is just the example considered in Table 7.2.
This problem with 0 has already been solved in Table 7.1 so we begin with the
final simplex tableau given there. Using the sensitivity analysis procedure for Case 1 Sec.
6.7 we find that the entries in the right side column of the tableau change to the values
given below.
Z yb 2 6
36 2
b Sb
.
Therefore the two basic variables in this tableau
y
3
3 3
2 and y
2
9 6
7 remain nonnegative for 0
9
7
. Increasing past
9
7
requires making y
2
a leaving
basic variable for another iteration of the dual simplex method and so on as summarized
in Table 7.3.
We suggest that you now trace through Tables 7.2 and 7.3 simultaneously to note the
duality relationship between the two procedures.
1 2
3
3
2
7
6
3 2 5
0
1
2
1
3
1
3
3 2 5
7.3 THE UPPER BOUND TECHNIQUE 317
It is fairly common in linear programming problems for some of or all the individual x
j
variables to have upper bound constraints
x
j
u
j
where u
j
is a positive constant representing the maximum feasible value of x
j
. We pointed
out in Sec. 4.8 that the most important determinant of computation time for the simplex
7.3 THE UPPER BOUND TECHNIQUE

slide 343:

method is the number of functional constraints whereas the number of nonnegativity
constraints is relatively unimportant. Therefore having a large number of upper bound
constraints among the functional constraints greatly increases the computational effort
required.
The upper bound technique avoids this increased effort by removing the upper bound
constraints from the functional constraints and treating them separately essentially like
nonnegativity constraints. Removing the upper bound constraints in this way causes no
problems as long as none of the variables gets increased over its upper bound. The only
time the simplex method increases some of the variables is when the entering basic vari-
able is increased to obtain a new BF solution. Therefore the upper bound technique sim-
ply applies the simplex method in the usual way to the remainder of the problem i.e.
without the upper bound constraints but with the one additional restriction that each new
BF solution must satisfy the upper bound constraints in addition to the usual lower bound
nonnegativity constraints.
To implement this idea note that a decision variable x
j
with an upper bound con-
straint x
j
u
j
can always be replaced by
x
j
u
j
y
j
where y
j
would then be the decision variable. In other words you have a choice be-
tween letting the decision variable be the amount above zero x
j
or the amount below
u
j
y
j
u
j
x
j
. We shall refer to x
j
and y
j
as complementary decision variables.
Because
0 x
j
u
j
318 7 OTHER ALGORITHMS FOR LINEAR PROGRAMMING
TABLE 7.3 The b
i
parametric linear programming procedure applied to the dual of
the Wyndor Glass Co. example
Coefficient of:
Range Basic Right Optimal
of Variable Eq. Zy
1
y
2
y
3
y
4
y
5
Side Solution
Z 0 1 2 0 0 2 6 36 2 y
1
y
4
y
5
0
0 9
7
y
3
1 0 1
3
01 1
3
0 3 3
2 y
3
3 3
2 y
2
2 0 1
3
10 1
3
1
2
9 6
7 y
2
9 6
7 Z 0 1 0 6 0 4 3 27 5 y
2
y
4
y
5
0
9
7
5 y
3
1 0 0 1 1 0 1
2
5 2
y
3
5 2
y
1
2 0 1 30 1 3
2
9
2
7 y
1
9
2
7 Z 0 1 0 12 6 4 0 12 8 y
2
y
3
y
4
0
5 y
5
1 0 0 2 201 5 y
5
5
y
1
2 0 1 0 3 10 3 2 y
1
3 2

slide 344:

it also follows that
0 y
j
u
j
.
Thus at any point during the simplex method you can either
1. Use x
j
where 0 x
j
u
j
or 2. Replace x
j
by u
j
y
j
where 0 y
j
u
j
.
The upper bound technique uses the following rule to make this choice:
Rule: Begin with choice 1.
Whenever x
j
0 use choice 1 so x
j
is nonbasic.
Whenever x
j
u
j
use choice 2 so y
j
0 is nonbasic.
Switch choices only when the other extreme value of x
j
is reached.
Therefore whenever a basic variable reaches its upper bound you should switch choices
and use its complementary decision variable as the new nonbasic variable the leaving ba-
sic variable for identifying the new BF solution. Thus the one substantive modification
being made in the simplex method is in the rule for selecting the leaving basic variable.
Recall that the simplex method selects as the leaving basic variable the one that would
be the first to become infeasible by going negative as the entering basic variable is in-
creased. The modification now made is to select instead the variable that would be the
first to become infeasible in any way either by going negative or by going over the up-
per bound as the entering basic variable is increased. Notice that one possibility is that
the entering basic variable may become infeasible first by going over its upper bound so
that its complementary decision variable becomes the leaving basic variable. If the leav-
ing basic variable reaches zero then proceed as usual with the simplex method. However
if it reaches its upper bound instead then switch choices and make its complementary de-
cision variable the leaving basic variable.
To illustrate consider this problem:
Maximize Z 2x
1
x
2
2x
3
subject to
4x
1
x
2
12
2x
1
x
3
4
and
0 x
1
4 0 x
2
15 0 x
3
6.
Thus all three variables have upper bound constraints u
1
4 u
2
15 u
3
6.
The two equality constraints are already in proper form from Gaussian elimination for
identifying the initial BF solution x
1
0 x
2
12 x
3
4 and none of the variables in
this solution exceeds its upper bound so x
2
and x
3
can be used as the initial basic variables
without artificial variables being introduced. However these variables then need to be elim-
inated algebraically from the objective function to obtain the initial Eq. 0 as follows:
Z 2 2x
1
x
2
2x
3
0
Z 2 4x
1
x
2
2x
3
12
Z 2 2x
1
x
2
x
3
4
0 Z 2 2x
1
x
2
2x
3
20.
7.3 THE UPPER BOUND TECHNIQUE 319

slide 345:

To start the first iteration this initial Eq. 0 indicates that the initial entering basic
variable is x
1
. Since the upper bound constraints are not to be included the entire initial
set of equations and the corresponding calculations for selecting the leaving basic vari-
ables are those shown in Table 7.4. The second column shows how much the entering ba-
sic variable x
1
can be increased from zero before some basic variable including x
1
be-
comes infeasible. The maximum value given next to Eq. 0 is just the upper bound
constraint for x
1
. For Eq. 1 since the coefficient of x
1
is positive increasing x
1
to 3 de-
creases the basic variable in this equation x
2
from 12 to its lower bound of zero. For Eq.
2 since the coefficient of x
1
is negative increasing x
1
to 1 increases the basic variable
in this equation x
3
from 4 to its upper bound of 6.
Because Eq. 2 has the smallest maximum feasible value of x
1
in Table 7.4 the ba-
sic variable in this equation x
3
provides the leaving basic variable. However because x
3
reached its upper bound replace x
3
by 6 y
3
so that y
3
0 becomes the new nonbasic
variable for the next BF solution and x
1
becomes the new basic variable in Eq. 2. This
replacement leads to the following changes in this equation:
2 2x
1
x
3
4
→ 2x
1
6 y
3
4
→ 2x
1
y
3
2
→ x
1
y
3
1
Therefore after we eliminate x
1
algebraically from the other equations the second com-
plete set of equations becomes
0 Zx
2
x
2
y
3
22
1 Zx
2
x
2
2y
3
8
2 Zx
1
x
2
1
2
y
3
1.
The resulting BF solution is x
1
1 x
2
8 y
3
0. By the optimality test it also is an
optimal solution so x
1
1 x
2
8 x
3
6 y
3
6 is the desired solution for the orig-
inal problem.
1
2
320 7 OTHER ALGORITHMS FOR LINEAR PROGRAMMING
TABLE 7.4 Equations and calculations for the initial leaving basic variable in the
example for the upper bound technique
Initial Set of Equations Maximum Feasible Value of x
1
0 Z 2x
1
x
2
x
3
20 x
1
4 since u
1
4
1 Z 4x
1
x
2
x
3
12 x
1
1
4
2
3
2 Z 2x
1
x
2
x
3
4 x
1
6 2
4
1 minimum because u
3
6
In Sec. 4.9 we discussed a dramatic development in linear programming that occurred in
1984 the invention by Narendra Karmarkar of ATT Bell Laboratories of a powerful al-
gorithm for solving huge linear programming problems with an approach very different
7.4 AN INTERIOR-POINT ALGORITHM

slide 346:

from the simplex method. We now introduce the nature of Karmarkar’s approach by de-
scribing a relatively elementary variant the “affine” or “affine-scaling” variant of his al-
gorithm.
1
Your OR Courseware also includes this variant under the title Solve Automat-
ically by the Interior-Point Algorithm.
Throughout this section we shall focus on Karmarkar’s main ideas on an intuitive
level while avoiding mathematical details. In particular we shall bypass certain details
that are needed for the full implementation of the algorithm e.g. how to find an initial
feasible trial solution but are not central to a basic conceptual understanding. The ideas
to be described can be summarized as follows:
Concept 1: Shoot through the interior of the feasible region toward an optimal solution.
Concept 2: Move in a direction that improves the objective function value at the fastest
possible rate.
Concept 3: Transform the feasible region to place the current trial solution near its cen-
ter thereby enabling a large improvement when concept 2 is implemented.
To illustrate these ideas throughout the section we shall use the following example:
Maximize Z x
1
2x
2
subject to
x
1
x
2
8
and
x
1
0 x
2
0.
This problem is depicted graphically in Fig. 7.3 where the optimal solution is seen to be
x
1
x
2
0 8 with Z 16.
The Relevance of the Gradient for Concepts 1 and 2
The algorithm begins with an initial trial solution that like all subsequent trial solutions
lies in the interior of the feasible region i.e. inside the boundary of the feasible region.
Thus for the example the solution must not lie on any of the three lines x
1
0 x
2
0
x
1
x
2
8 that form the boundary of this region in Fig. 7.3. A trial solution that lies
on the boundary cannot be used because this would lead to the undefined mathematical
operation of division by zero at one point in the algorithm. We have arbitrarily chosen
x
1
x
2
2 2 to be the initial trial solution.
To begin implementing concepts 1 and 2 note in Fig. 7.3 that the direction of move-
ment from 2 2 that increases Z at the fastest possible rate is perpendicular to and to-
ward the objective function line Z 16 x
1
2x
2
. We have shown this direction by the
arrow from 2 2 to 3 4. Using vector addition we have
3 4 2 2 1 2
7.4 AN INTERIOR-POINT ALGORITHM 321
1
The basic approach for this variant actually was proposed in 1967 by a Russian mathematician I. I. Dikin and
then rediscovered soon after the appearance of Karmarkar’s work by a number of researchers including E. R.
Barnes T. M. Cavalier and A. L. Soyster. Also see R. J. Vanderbei M. S. Meketon and B. A. Freedman “A
Modification of Karmarkar’s Linear Programming Algorithm” Algorithmica 14 Special Issue on New Ap-
proaches to Linear Programming: 395–407 1986.

slide 347:

where the vector 1 2 is the gradient of the objective function. We will discuss gradi-
ents further in Sec. 13.5 in the broader context of nonlinear programming where algo-
rithms similar to Karmarkar’s have long been used. The components of 1 2 are just the
coefficients in the objective function. Thus with one subsequent modification the gradi-
ent 1 2 defines the ideal direction to which to move where the question of the distance
to move will be considered later.
The algorithm actually operates on linear programming problems after they have been
rewritten in augmented form. Letting x
3
be the slack variable for the functional constraint
of the example we see that this form is
Maximize Z x
1
2x
2
subject to
x
1
x
2
x
3
8
and
x
1
0 x
2
0 x
3
0.
In matrix notation slightly different from Chap. 5 because the slack variable now is in-
corporated into the notation the augmented form can be written in general as
Maximize Z c
T
x
subject to
Ax b
322 7 OTHER ALGORITHMS FOR LINEAR PROGRAMMING
0 468 2
2
4
6
8
x
2
x
1
0 8 optimal
Z 16 x
1
2x
2
3 4
2 2
FIGURE 7.3
Example for the interior-point
algorithm.

slide 348:

and
x 0
where
c x A 1 1 1 b 8 0 for the example. Note that c
T
1 2 0 now is the gradient of the objective function.
The augmented form of the example is depicted graphically in Fig. 7.4. The feasible
region now consists of the triangle with vertices 8 0 0 0 8 0 and 0 0 8. Points
in the interior of this feasible region are those where x
1
0 x
2
0 and x
3
0. Each of
these three x
j
0 conditions has the effect of forcing x
1
x
2
away from one of the three
lines forming the boundary of the feasible region in Fig. 7.3.
Using the Projected Gradient to Implement Concepts 1 and 2
In augmented form the initial trial solution for the example is x
1
x
2
x
3
2 2 4.
Adding the gradient 1 2 0 leads to
3 4 4 2 2 4 1 2 0.
However now there is a complication. The algorithm cannot move from 2 2 4 toward
3 4 4 because 3 4 4 is infeasible When x
1
3 and x
2
4 then x
3
8 x
1
x
2
1 instead of 4. The point 3 4 4 lies on the near side as you look down on the fea-
sible triangle in Fig. 7.4. Therefore to remain feasible the algorithm indirectly projects
the point 3 4 4 down onto the feasible triangle by dropping a line that is perpendicu-
lar to this triangle. A vector from 0 0 0 to 1 1 1 is perpendicular to this triangle so
the perpendicular line through 3 4 4 is given by the equation
x
1
x
2
x
3
3 4 4 1 1 1
where is a scalar. Since the triangle satisfies the equation x
1
x
2
x
3
8 this per-
pendicular line intersects the triangle at 2 3 3. Because
2 3 3 2 2 4 0 1 1
the projected gradient of the objective function the gradient projected onto the feasible
region is 0 1 1. It is this projected gradient that defines the direction of movement
for the algorithm as shown by the arrow in Fig. 7.4.
A formula is available for computing the projected gradient directly. By defining the
projection matrix P as
P I A
T
AA
T
1
A
the projected gradient in column form is
c
p
Pc.
0
0
0
x
1
x
2
x
3
1
2
0
7.4 AN INTERIOR-POINT ALGORITHM 323

so
c
p
.
Moving from 2 2 4 in the direction of the projected gradient 0 1 1 involves
increasing from zero in the formula
x 4 c
p
4
where the coefficient 4 is used simply to give an upper bound of 1 for to maintain fea-
sibility all x
j
0. Note that increasing to 1 would cause x
3
to decrease to
x
3
4 41 1 0 where 1 yields x
3
0. Thus measures the fraction used
of the distance that could be moved before the feasible region is left.
How large should be made for moving to the next trial solution Because the in-
crease in Z is proportional to a value close to the upper bound of 1 is good for giv-
ing a relatively large step toward optimality on the current iteration. However the prob-
lem with a value too close to 1 is that the next trial solution then is jammed against a
constraint boundary thereby making it difficult to take large improving steps during sub-
sequent iterations. Therefore it is very helpful for trial solutions to be near the center of
the feasible region or at least near the center of the portion of the feasible region in the
vicinity of an optimal solution and not too close to any constraint boundary. With this
in mind Karmarkar has stated for his algorithm that a value as large as 0.25 should
be “safe.” In practice much larger values for example 0.9 sometimes are used.
For the purposes of this example and the problems at the end of the chapter we have
chosen 0.5. Your OR Courseware uses 0.5 as the default value but also has
0.9 available.
A Centering Scheme for Implementing Concept 3
We now have just one more step to complete the description of the algorithm namely a
special scheme for transforming the feasible region to place the current trial solution near
its center. We have just described the benefit of having the trial solution near the center
but another important benefit of this centering scheme is that it keeps turning the direc-
tion of the projected gradient to point more nearly toward an optimal solution as the al-
gorithm converges toward this solution.
The basic idea of the centering scheme is straightforward—simply change the scale
units for each of the variables so that the trial solution becomes equidistant from the
constraint boundaries in the new coordinate system. Karmarkar’s original algorithm uses
a more sophisticated centering scheme.
For the example there are three constraint boundaries in Fig. 7.3 each one corre-
sponding to a zero value for one of the three variables of the problem in augmented form
namely x
1
0 x
2
0 and x
3
0. In Fig. 7.4 see how these three constraint boundaries
intersect the Ax b x
1
x
2
x
3
8 plane to form the boundary of the feasible re-
0
1
1
2
2
4
2
2
4
0
1
1
1
2
0
1
3
1
3
2
3
1
3
2
3
1
3
2
3
1
3
1
3
7.4 AN INTERIOR-POINT ALGORITHM 325

slide 351:

gion. The initial trial solution is x
1
x
2
x
3
2 2 4 so this solution is 2 units away
from the x
1
0 and x
2
0 constraint boundaries and 4 units away from the x
3
0 con-
straint boundary when the units of the respective variables are used. However whatever
these units are in each case they are quite arbitrary and can be changed as desired with-
out changing the problem. Therefore let us rescale the variables as follows:
x
1
x
2
1
x
2
x
2
2
x
3
x
4
3
in order to make the current trial solution of x
1
x
2
x
3
2 2 4 become
x
1
x x
2
x x
3
1 1 1.
In these new coordinates substituting 2x
1
for x
1
2x
2
for x
2
and 4x
3
for x
3
the problem
becomes
Maximize Z 2x
1
4x
2
subject to
2x
1
2x x
2
4x
3
8
and
x
1
0 x
2
0 x
3
0
as depicted graphically in Fig. 7.5.
Note that the trial solution 1 1 1 in Fig. 7.5 is equidistant from the three constraint
boundaries x x
1
0 x
2
0 x
3
0. For each subsequent iteration as well the problem is
rescaled again to achieve this same property so that the current trial solution always is
1 1 1 in the current coordinates.
326 7 OTHER ALGORITHMS FOR LINEAR PROGRAMMING
4
2
4
1 1 1
5
7
1
4 4 2
0
x
3
x
1
x
2
0 4 0 optimal
FIGURE 7.5
Example after rescaling for
iteration 1.

slide 352:

Summary and Illustration of the Algorithm
Now let us summarize and illustrate the algorithm by going through the first iteration for
the example then giving a summary of the general procedure and finally applying this
summary to a second iteration.
Iteration 1. Given the initial trial solution x
1
x
2
x
3
2 2 4 let D be the corre-
sponding diagonal matrix such that x Dx
so that
D .
The rescaled variables then are the components of
x
D
1
x .
In these new coordinates A and c have become
Ã AD 1 1 1 2 2 4
c
Dc .
Therefore the projection matrix is
P I Ã
T
ÃÃ
T
1
Ã
P
224
1
224
P
2
1
4
so that the projected gradient is
c
p
Pc
.
Define v as the absolute value of the negative component of c
p
having the largest absolute
value so that v 2 2 in this case. Consequently in the current coordinates the
1
3
2
2
4
0
1
3
1
3
1
3
1
6
5
6
1
3
5
6
1
6
1
3
1
3
1
3
1
3
1
6
5
6
1
3
5
6
1
6
1
3
8
8
16
4
4
8
4
4
8
0
0
1
0