SUMMARY
This chapter has introduced three classes of linear programming models: allocation, covering,
and blending. To some extent, these elementary models allow us to discuss the basic scenarios
that lend themselves to linear programming models, so allocation, covering, and blending
models might well be taken as the “ABC” of model building with linear programming.
Allocation, covering and blending models are also important as building blocks for more com-
plex models because many practical applications are combinations of these structures.
Linearity in both the objective function and constraints is the key structural assumption in
linear programming. In the process of building a linear programming model, it is desirable to
revisit the requirements of proportionality, additivity, and divisibility, to confirm that their prop-
erties apply. Another less prominent assumption is the presumption of certainty in the elements
of a linear programming model. Most of the time, linear programs are applied in situations where
uncertainty can be suppressed without undermining the value of the model. Nevertheless,
advanced forms of linear programming extend to situations where the uncertainty cannot be
avoided. Appendix 4 introduces Stochastic Programming, to suggest how linear programming
can be adapted to problems containing uncertainty.
Classification of linear programming models provides some immediate benefits. When we
are trying to understand someone else’s model, our ability to classify may help us appreciate
either the overall structure of a model or some of its major parts. Also, when we are trying to
develop a model from scratch, we can accelerate the process if we can classify the model or
at least one portion of it. Model building requires that we recognize situations that lend them-
selves to representation in a model. Familiarity with the elementary scenarios that go with allo-
cation, covering, and blending helps us to recognize structure in an actual situation. Finally,
when we are debugging our own model, classification allows us to compare what we have
built with the standard template. That comparison helps us to detect mistakes we may have
made in constraint coefficients and constants or perhaps even in objective function coefficients.
Also included in this chapter were a number of suggestions for debugging that apply throughout
the remainder of the book.
The classification of linear programs is not as precise as, say, biological classification. As
we saw, a linear program can combine types. Although we will encounter additional classes of
models in the next three chapters, we will not attempt to classify every possible linear program.
Instead, the purpose is to appreciate the kinds of situations that lend themselves well to linear
programming. Then, when we encounter similar situations in the world around us, we’ll be
able to think about those situations in terms of a corresponding linear programming structure.
Armed with knowledge of these building blocks, we can analyze new situations by recognizing
familiar structures within them, thus identifying some of the important elements (variables and
constraints) of the eventual model.
EXERCISES
2.1. Brown Furniture Revisited Revisit the Brown Furniture allocation example of this
chapter. As plans are being made for a new quarter, a revised set of figures on resource
availabilities is compiled. The new resource limits are as follows.
Fabrication hours 2000
Assembly hours 1800
Machining hours 1600
Wood supply 9400
Exercises 57