SCHEDULING
VIA NETWORKS, UNNETWORKS, AND ALMOST NETWORKS
By
JOHN J. BARTHOLDI III
A DISSERTATION PRESENTED TO THE GRADUATE COUNCIL OF
THE UNIVERSITY OF FLORIDA
IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE
DEGREE OF DOCTOR OF PHILOSOPHY
UNIVERSITY OF FLORIDA
1977
It aeems almost embaAnassingty misplaced
to have a mushy dedication orn a forbiddingly
technical work. But then this was witten by
a mushy peAon ... me. So:
To my Mothea, my FatheA, my BrotheA.
And to the Oid PoopeAoo. Foh all of you.
P.S., Hi, Mom!
ACKNOWLEDGMENTS
I hope my appreciation has been sufficiently expressed
in a more personal manner, so here I formally record my
thanks to my mentors now colleagues and friends,
... Donald Ratliff, Advisor Extraordinaire, for his
generous support indulgence, even during my doctoral
research. His avuncular advice has been much appreciated.
... Thom Hodgson, for investing many hours listening
to my ideas, and for snoozing during my proposal, thereby
helping me keep a sense of perspective.
... Richard Francis, for his careful, critical reading
of my papers.
... Gary Koehler, Timothy Lowe, and Michael Thomas for
their interest, encouragement, comments.
... Donald Hearn, for initially supporting and encour
aging me in this field of study.
Roswitha Zamorano has been a wonderful battlefield
typist cool, precise, and punctual; I heartily recommend
her (call 3924924). Also I blow a handful of kisses to
the secretaries of the ISE department. Bless their hearts!
Finally, to my friends whom I have neglected past all
apology, I dedicate myself anew.
iii
This research was supported in part by the Office of
Naval Research under contract number N001476C0096 and
the Army Research Office under contract number DAHC0475G
0150.
TABLE OF CONTENTS
Page
ACKNOWLEDGMENTS . ... . . . . . .. .. iii
ABSTRACT . . . . . . . . .. . . vii
INTRODUCTION . . . .... . . . ... . 1
CHAPTER
I UNIMODULAR AND TOTALLY UNIMODULAR MATRICES .. 4
II A FIELD GUIDE TO IDENTIFYING NETWORK FLOW AND
MATCHING PROBLEMS . . . . . . . 7
2.1 Introduction . . . . . . . 7
2.2 Equivalence of Linear Programs . . 7
2.3 Network Flows in Disguise . . . . 8
2.4 Matchings, Incognito . . . ... 21
III UNNETWORKS, WITH APPLICATIONS TO IDLE TIME
SCHEDULING . . . .. . . . . . 32
3.1 Introduction . . . . . ... 32
3.2 Motivation .............. .32
3.3 A Primal Problem and Its Complement .. 35
3.4 An Algorithm Based on the Complementary
Problem . . . . . . . .. 38
3.5 Efficiency of the Algorithm . . .. 40
3.6 RoundOff Result . . . . . .. 42
3.7 Some Scheduling Models . . . .. 43
3.8 Another Staffing Problem . . . .. 46
3.9 Extensions . . . . . ... .49
3.10 Applications . . ... . . 54
IV CIRCULAR 1'S AND CYCLIC STAFFING . . .. 55
4.1 Two Fundamental Staffing Models . 55
4.2 Transformations of Variables . . .. 58
4.3 Almost a Network . . . . ... 59
4.4 Properly Compatible l's . ... . 62
4.5 Stalking the Wild y . . . . ... 66
4.6 A Solution Technique . . . . .. 67
4.7 Efficiency of the Algorithm . . .. 68
4.8 A Special Objective Function . . .. 69
4.9 Close Enough . . . . . ... 71
4.10 Two Staffing Models . . . . ... 72
CHAPTER Page
V WHAT DOES IT ALL MEAN? . .. . . . 76
APPENDIX
1 INVERTING A NONSINGULAR GRAPH MATRIX . .79
2 RECOGNIZING A GENERAL MATCHING PROBLEM .. 85
BIBLIOGRAPHY . . . . . . . . . . 87
BIOGRAPHICAL SKETCH . . . . . . ... 91
Abstract of Dissertation Presented to the Graduate Council
of the University of Florida
in Partial Fulfillment of the Requirements
for the Degree of Doctor of Philosophy
SCHEDULING
VIA NETWORKS, UNNETWORKS, AND ALMOST NETWORKS
By
John J. Bartholdi III
August 1977
Chairman: H. Donald Ratliff
Major Department: Industrial and Systems Engineering
Some current scheduling/staffing problems are modeled
as integer linear programs in which job/processor avail
ability is represented by 01 constraint matrices. Since
the general integer linear program is NPcomplete, we look
for special matrix structures,particularly network related
ones, that permit efficient solutions. Criteria are de
veloped to aid in recognizing different representations of
these structures. Some problems are revealed to contain
substantial cores of special structure with the remaining,
incompatible portions of small, fixed size. This happy
fact enables us to solve these problems as comfortably
finite and reassuringly predictable series of efficiently
solvable subproblems, such as minimum cost network flow
problems. A gratuitous result is that some of the studied
problems may be solved by the simplex method of linear
programming and the continuousvalued results cleverly
roundedoff to optimal integer answers.
vii
INTRODUCTION
In this study, a class of scheduling/staffing problems
is approached from the general point of view of integer
linear programming. The strategy which inspires this ap
proach is that of supplementing one's combinatorial intui
tion for these problems with the added power of algebraic
techniques.
Unfortunately, however, we have no solution procedure
of guaranteed efficiency for the general integer linear
program. Indeed, we are unlikely to ever possess such a
scheme since the general integer linear program belongs to
the class of NPcomplete problems[32]. Since membership in
this class constitutes strong circumstantial evidence of in
tractability, we temper our ambitions and seek exploitable
special structure that permits efficient solution. In par
ticular, we concern ourselves with familiar special struc
ture and find it in some unexpected places. Thus we ex
tend the applicability of some basic concepts and so contrib
ute to a unified and coherent theory of scheduling as well
as integer programming.
Special structure in integer linear programming that
has proven most important is of three types, all conditions
on the constraint matrix. The most basic condition is that
of unimodularity or total unimodularity, since for the
appropriate constraints, all extreme points of the solution
space are integer (e.g., Dantzig and Veinott [9]). One can
always solve such a problem with at least expected effi
ciency by the simplex method of linear programming. Given
the wide availability of simplex codes and their generally
observed (though not guaranteed) efficiency, such a solu
tion is of definite practical value.
A special kind of totally unimodular matrix is the
constraint matrix of a network flow problem [17]. One is
pleased to recognize such a problem since it is solvable
with guaranteed efficiency via the minimumcost network
flow algorithm [16]. Equally well met is the matrix of a
matching problem, a generalization of network flows [15].
The matching algorithm guarantees efficient solution for
this type of problem even though the constraint matrix need
not be unimodular.
Chapters I and II are concerned with how to recognize
these special conditions. While total unimodularity has
been much studied, unimodularity seems to have been ne
glected. In Chapter I we clarify the relationship between
the two. Chapter II develops from a new approach Iri's re
sult [28] on when a linear program is a network flow problem.
Then it continues on to determine when a linear program is
a matching problem. Both results extend one's intuition
and modeling imagination.
3
In Chapters III and IV, the insights of the first
part are used to solve some current problems of scheduling
and staffing. The problems studied have the interesting
property of being "almost networks" in the sense that a
very large part but not all of each matrix has underlying
network or matching structure.
CHAPTER I
UNIMODULAR AND TOTALLY UNIMODULAR MATRICES
A square matrix* M is unimodular iff Idet MI = 1.
An m x n matrix A is totally unimodular iff every non
singular submatrix of A is unimodular. The importance of
these concepts to integer programming is established by
the following fundamental characterizations [9,27],
Property 1: Every basis of A is unimodular iff all extreme
points of {x Ax = b, x > 0} are integral for any integral b.
Property 2: A is totally unimodular iff.all extreme points
of {x Ax < b, x > 0} are integral for any integral b.
Clearly every totally unimodular matrix has all bases
unimodular. However, a matrix all of whose bases are uni
modular is not necessarily totally unimodular (e.g., Gar
finkel and Nemhauser [20]).
A standard way of approaching an integer linear program
is to first determine whether the solution set has integer
extreme points. If all extreme points are integer, then at
least the problem can be solved using the simplex method of
linear programming. From the preceding results, determining
integer extreme points is tantamount to establishing for the
*Lower case lettersrepresent vectors and upper case let
ters represent matrices. All vectors and matrices in this
discussion have integer entries.
4
constraint matrix either unimodularity of bases or total uni
modularity, as appropriate to the constraints. Total uni
modularity is the more easily determined property since sev
eral very general sufficient conditions are known (e.g. Iri
[30], Hoffman and Kruskal [27]). Less readily applicable;
but still'potentially helpful are the several algebraic and
graphtheoretical characterizations of total unimodularity
(e.g. Padberg [38]). Unimodularity of bases, however, is a
more general condition as well as a more useful property,
since any system of inequalities may be enlarged to a system
of qualities by the addition of slack and surplus variables.
But at the same time, unimodularity of bases is difficult to
test for since every basis must be examined. The following
observations help to determine integer extreme points by
relating unimodularity of bases to total unimodularity.
Theorem 1.1: Let the m x n (m < n) matrix A = [B, N] be of
full rowrank and let B be a unimodular basis of A. Then
l
all bases of A are unimodular if and only if B N is totally
unimodular.
Proof: From Property 1, all bases of A are unimodular iff
{(xB, N) x BxB + NxN = b, (x xN) > 0} has integer extreme
points for all integer b, or equivalently {(x XN) N IxB
+ BN 1
+ B N = B (B, xN) > 0} has integer extreme points
for all integer b. Since B is unimodular, Blb is integer
for all integer b. Also, any (m x 1) integer vector b' can
be expressed as b' = B b for some integer b. Therefore
{(XB, x) IXB + B1 = b', (Xg, XN) > 0} has integer
{( ,x Ix +B xN= (xB, xN) 2 0} has integer
extreme points for all integer b iff A has all unimodular
bases. Now by the correspondence of extreme points,
{xN I BNNx < b', XN > 0} has integer extreme points iff
1
A has all unimodular bases. Hence from Property 2, B N is
totally unimodular iff A has all unimodular bases.
Q.E.D.
Thus to establish that A has all unimodular bases, it
is sufficient to show that some basis B is unimodular and
the m x (n m) matrix B N is totally unimodular. Note
also that any problem with a constraint matrix having all
unimodular bases may be transformed to a problem with a
totally unimodular constraint matrix.
Using a similar proof technique, one may easily derive
the following results that are also of use in determining
whether a problem has integer extreme points: (i) a square
nonsingular matrix B is totally unimodular iff B 1 is totally
unimodular. (ii) a matrix A is totally unimodular iff
every basis of A is totally unimodular.
These results may also be deduced from the work of
Heller [26] who defined and studied unimodular sets of vectors.
CHAPTER II
A FIELD GUIDE TO IDENTIFYING
NETWORK FLOW AND MATCHING PROBLEMS
2.1 Introduction
Since we have no solution technique of guaranteed
efficiency for a general integer program, one typically
attempts to solve a given problem by exploiting special
structure. Most optimistically, one hopes to recognize
the problem as amenable to one of the special algorithms
of guaranteed efficiency, such as the minimum cost net
work flow algorithm [17] or the maximum bmatching algo
rithm [13,15]. Indeed, many papers have "solved" problems
by revealing their hidden network flow or matching struc
ture (e.g., Bratley et al. [5], Dantzig and Fulkerson [8],
de Werra [10], Dorsey et al. [12], Fujii et al. [18], Love
and Vemuganti [36], Veinott and Wagner [41]). The pro
blems are considered solved because they are "equivalent"
to network flow or matching models, which are themselves
efficiently solvable. We formalize the notion of equivalence
and develop conditions to aid in recognizing it.
2.2 Equivalence of Linear Programs
Consider the linear program
max cx
s.t. Ax < b (2.1)
x > 0
which we may write with the addition of slack variables as
max cx
s.t. [A, I] x = b (2.2)
x > 0
Now if T is a nonsingular matrix, the transformed problem
max cx
s.t. [TA, T] x = Tb (2.3)
x > 0
is equivalent to (2.2) in the sense that x is feasible to
(2.2) iff x is feasible to (2.3). In the same way the in
tegerconstrained versions of (2.2) and (2.3) are equivalent.
We have changed merely the representation and not the essen
tial structure of the problem. Thus solving one version of
the problem solves the other. This suggests that we identify
conditions on (2.2) that enable us to transform it to an
equivalent network flow or matching problem.
2.3 Network Flows in Disguise
In an important series of papers, M. Iri has explored
conditions under which a linear program may be solved by the
network flow algorithm [2830]. Unfortunately his results
seem to be little known in the MS/IE/OR community. This
is due in part to the limited availability of the journal
which he favored. Also his work is couched in the special
terminology of electrical engineering, which might have
limited its accessibility. Recently some of his results
were independently rediscovered by the author. Our approach,
however, represents a slightly different viewpoint, one
which we think may be of more immediate intuitive appeal.
In the interest of sharing Iri's results, the following
recapitulation, reflecting our particular perspective, is
offered.
Terminology
As in Johnson [31], a graph with directed arcs (i.e.,
a head at one end and a tail at the other) is a network.
A graph having only arcs which are undirected will be re
ferred to simply as a graph. As in Edmonds et al. [15], un
directed arcs may be imagined to have a tail at each end and
may be considered "innerdirected." A path is a sequence of
arcs al, a2' ..". ak such that successive arcs are incident
at the same node. For a network, a chain is a path such
that successive arcs enter and leave, respectively, their
common node. A cycle is a path such that arcs al and ak are
incident at a common node. A tree is a network or a graph
with no cycles (whether a network or a graph will be plain
from the context). A bloom is a graph with exactly one
cycle, that cycle consisting of an odd number of arcs.
Finally, due to the unique correspondence between a network
or graph G and its nodearc incidence matrix, we will refer
to the matrix as G also. Again, context will identify G as
a network/graph or a matrix.
Now consider the integer linear program
max ex
s.t. Ax < b (2.4)
x < 0, integer
where A is an m x n matrix whose every entry is 0, 1
(this may be generalized to account for scaling, as in Iri
[28], but is not important to the development). Further
more all entries of b and c are assumed to be integer.
By Ford and.Fulkerson [17], the network flow algorithm
applies to a linear program which satisfies
Requirement 1: All data are integervalued, and
Requirement 2: The constraint matrix is the nodearc in
cidence matrix of a network; that is, each column has no
more than two nonzero entries, one a +1 and one a 1. We
refer to such a matrix as a network matrix.
We seek conditions under which for some T the problem
max cx
s.t. [TA, T]x = Tb, T nonsingular (2.5)
x > 0, integer
(an equivalent form of (2.4)), satisfies Requirements 1 and
2. For (2.5) to satisfy Requirement 2, it is clear that T
in particular must be a network matrix.
Lemma 2.1: A network matrix is nonsingular iff it is the
full rowrank matrix of a tree (e.g., Johnson [31]).
We call such a matrix a tree matrix (see Example 2.1a).
Observe that it has m columns, corresponding to m arcs of
the tree. Similarly, its m rows correspond to m nodes of
the tree. The (m+ 1)t node, or root node, is implicitly
given by minus the sum of the other rows of the matrix [31].
Now to analyze TA we shall ascribe a natural network
related interpretation to A. Since T is a tree matrix, the
columns correspond to the arcs of the tree T. We may imagine
that through matrix multiplication this correspondence is
inherited by the rows of A (i.e. each row of A corresponds
to an arc of the tree T). But then it is natural to inter
pret each column of A as identifying.some subset of arcs of
T in the following manner. For column a. of A (see Example
2.1b),
(i) a.. = +1 identifies arc i as a member of
the set a..
(ii) a.. = 1 identifies as a member of a. an arc
parallel to arc i, but oppositely directed.
(iii) ai = 0 indicates that arc i is not a member
of a..
With this interpretation imputed to A, consider the product
TA. As a network matrix, each row ti of T gives the degrees
of incidence of arcs of T at node i; that is,
(i) t.. = 1 iff the tail of arc j.is incident
at node i.
Consider the tree given by the matrix
which determines to the network,
with root node F.
Example 2.la: A full rowrank tree matrix.
t
Column a. = [+1, 0, 1, 01 indicates the set of
arcs {1, 2, 4} and orients them as
A
1
B Q
2
D
4
Example 2.1b: Each column of A determines a set of arcs
and their orientation.
(ii) t.. = 1 iff the head of arc j is incident
at node i.
(iii) tij = 0 iff arc j is not incident at node 1.
Therefore the vector product tiaj gives the net degree of
node i in the set of arcs a. (see Example 2.1c); and Ta.
is the vector of net degrees of the nodes of T (excluding,
of course, the root node) in the set a..
Now in order for TA to be a network matrix, it is
necessary that no column Ta. have more than two nonzero
elements. We will argue that as a consequence, the arcs of
a. must form a path in T. Clearly no more than two nodes
of T, plus possibly the root node, can have nonzero net
degrees in aj. Thus no more than two nodes of T, plus pos
sibly the root node, can have an odd number of arcs of a.
incident to them. But for any graph, the number of nodes
of odd degree is even [25]. Therefore no more than two
nodes of T, including the root node, can have nonzero net
degree in a.. Hence the arcs of a. must form a path [25].
In particular a. must form a simple path, i.e.,one without
cycles, since T is without cycles.
Now we argue that the path in T specified by a. must
possess additional special structure. First assume the path
aj does not contain the root node. Then if the net degree
of the initial node is +1, that of the terminal node must be
1, and those of interior nodes must be 0. But then a.
orients the arcs of the path to form a chain, i.e.,a sequence
of arcs which meet head to tail. Similarly, if the initial
node is of net degree 1, a. must still be a chain.
J
t
Ta. = [+1, 2, 0, +2, 1] which gives the net
degrees of the nodes of T in the set of arcs determined
by a..
+1 A
OB B0
2 D
+1 E \FI
Example 2.1c: The net degree of each node of T in a..
3
Since aj forms a simple path, if it includes the root
node, it is divided into two parts by the root node. By
the above argument, each part is a chain. But the chains
are aligned, since otherwise the net degrees of the initial
and terminal nodes of a. are the same. Then, since the two
chains are aligned, aj itself must be a chain.
Since each column of A chooses and orients arcs of T
to form a chain, A must be an arcchain incidence matrix
for a tree T. Finally we note that since T is an integer
matrix, all data of problem (2.5) are integer, so that
Requirement 1 is met. We have therefore
Theorem 2.2: Problem (2.5) is a network flow problem iff
there exists some tree T for which A is an arcchain inci
dence matrix.
Proof: Since each step of the argument can be made "ifand
onlyif," the conclusion holds.
Q.E.D.
See Example 2.2 for an illustration. Also note that for A
already a network matrix, A must describe chains of arcs on
the tree given by T = I (see Example 2.3).
By this result, recognizing network flow problems is
tantamount to recognizing arcchain incidence matrices for
trees. Iri [29] has developed an 0(m6) algorithm to do just
this. In fact his algorithm either transforms a problem to
a network flow problem or else, by halting, concludes that
such a transformation is not possible. Special cases of this
have since been investigated by several authors, e.g.,Glover
and Klingman [22], Glover et al. [23], Klingman [33].
Consider the following instance of problem (2.2),
s.t. 1
2
3
4
5
max
1
1
1
0
0
0 0
1 0
0 1
0 0
o o
x > 0,
0 0
0 0
0 0
1 0
0 1
integer
x =
Matrix A may be interpreted as an
tree
arcchain matrix on the
F
Example 2.2: Transforming to a network flow problem.
with tree matrix
1 0 0 0 0
1 1 0 0 0
T= 0 0 1 0 0
0 1 1 1 1
0 0 0 1 0
in the following manner,
Example 2.2 (continued)
Thus, transforming the problem via the corresponding
tree matrix gives this instance of (2.3),
max ex
1 1 0
0 0 0
1 0 1
0. 0 0
0 0 1
0
0
0
0
1
1 0 0 0 0
1 1 0 0 0
0 0 1 0 0
0 1 1 1 1
0 0 0 1 0
x > 0, integer
x = Tb
which is a network flow problem on the network
Ta4
Example 2.2 (continued)
s.t.
Suppose A is already a network matrix, e.g.,
1 0
A = 1 1
0 1
Then A describes chains of arcs on the tree given by T = I
in the following manner,
O
Example 2.3
To some extent recognition of arcchain matrices for
trees can be accomplished by some easily acquired intuition.
Fortunately the idea of "chains on a tree" has a certain
amount of graphic appeal that may be lacking in "primitive
cutsets of a network" in which Iri's statement of the theorem
is phrased. As an example, consider the matrices of conse
cutive l's studied by Veinott and Wagner[41] (Example 2.4);
it is easy to see that these matrices describe chains on a
tree and so possess underlying network structure.
2.4 Matchings, Incognito
In the same spirit as Iri, we now ask when an integer
linear program is equivalent to a maximum bmatching problem
and so solvable with guaranteed efficiency. Again, let A be
a 0, 1 matrix and b, c integervalued vectors. Consider the
problem
max cx
s.t. Ax < b (2.6)
x > 0, integer
and the equivalent, transformed version
max cx
s.t. [AT, T]x = Tb, T nonsingular (2.7)
x > 0, integer
Now by Edmonds [13], the basic matching algorithm is
applicable to (2.7) when the following are satisfied:
A matrix with consecutive l's in columns, such as
1 1 0 0
1 1 1 0
A=
0 1 1 0
6 0 1 1
describes chains on a tree like this
in the following manner,
in the following manner,
0 0 O O
Example 2.4
Requirement 1: All data are integervalued, and
Requirement 2: The constraint matrix is the nodearc in
cidence matrix of a graph; that is, no column may have more
than two nonzero elements, each a +1. We refer to such a
matrix as a graph matrix.
An expanded form of the matching algorithm [15] will in fact
apply even when Requirement 2 is relaxed to
Requirement 2': For any column c. of the constraint matrix,
SIc.. < 2. Thus, each column contains all O's except for
i 1
one +1, or one 1, or one +2, or one 2, or two +l's, or two
l's, or a +1 and a 1.
We restrict ourselves to the simpler case in order to
more clearly present the ideas involved. Extension to the
more general form of the algorithm is straightforward and is
indicated in Appendix 2.
The derivation of conditions is analogous to that of
Section 2.2. In this case, it is clear that T must be a
graph matrix.
Lemma 2.3: A graph matrix is nonsingular iff it is the graph
matrix of a bloom, or the full rowrank graph matrix of a tree.
Proof: Without loss of generality we may assume T is con
nected, since otherwise problem (2.7) is separable. Then
since T has at most m arcs and at least m nodes, T contains
at most one cycle. But this cannot be an even cycle. If it
were, with arcs (columns of matrix T) E, 2' "'"' t2k, then
2k
S(1) t. = 0, a contradiction 'to T nonsingular. Thus, T
j=l 3
contains either no cycles and is a tree, or else contains
exactly one odd cycle, and is a bloom.
To see that such matrices are indeed nonsingular, see
Appendix 1 for a simple inversion scheme.
Q.E.D.
Note that when the more general definition of a matching
matrix is used (Requirement 2'), an appropriately more
general version of Lemma 2.3 ensues (see Appendix 2).
Again, as in Section 2.2, we may interpret each col
umn a. as picking out and orienting a set of arcs in the
tree/bloom T. However, to maintain the graphical metaphor,
as in Edmonds et al. [15], we interpret an undirected arc,
i.e., one corresponding to a column with two +l's, as having
a tail on each end, as in
+1
+1
Such an arc will be called "innerdirected." Thus, when arc
i is reoriented by aij = 1 for some j, it has a head on each
end, and corresponds to a column with two l's, as in
.1
1
61
Such an arc will be called "outerdirected."
As before, Ta: gives the net degrees of each of the
nodes of T (except for the root node when T is a tree) in
the set of arcs a.. Thus, the reasoning of the previous
section establishes that the arcs of a. form a (not neces
sarily simple) path in T. To discover the additional spe
cial structure of a., consider the following,
Case 1: T a tree
Assume the path a. does not contain the root node.
Then since the net degrees of nodes interior to the path
must be zero, a. must orient the arcs o the path to form
3
an alternating path, that is, one in which successive arcs
are alternately inner and outerdirected, as in
+1 0 0 +1 : net degrees of
nodes in a.
S   r : alternating path a
Furthermore, so that the net degrees of the terminal nodes
are +1, the terminal arcs must be innerdirected.
If the path a. does contain the root node, then since
aj is a simple path, it is divided into two subpaths by the
root node. But by the previous argument, each of these sub
paths must be alternating and have terminal arcs which are
innerdirected as in
 ... J 1: path a.
root
+1 0 node 0 +1 : net degrees_of
nodes in a.
3
Therefore, a must describe a path with innerdirected arcs
such that each path is either
(i) an alternating path, or else
(ii) a path divided by the root node into two
alternating subpaths.
Case 2: T a bloom
The previous argument shows that a. must orient arcs
to form an alternating path in T with terminal arcs that
are inner directed. However, since a bloom contains a
cycle C, an extra stipulation is needed: the alternating
path cannot be only the cycle C, since then one node would
have net degree +2, as in
+2
0 0
Thus a. must describe an alternating path on the bloom T
3
with innerdirected terminal arcs and with distinct ter
minal nodes.
Finally, we observe that since T is an integer matrix,
all of the data of problem (2.7) are integer so that Re
quirement 2 is satisfied.
Therefore, we have
Theorem 2.4: Problem (2.7) is a matching problem (restricted
version) iff there exists some tree or bloom T for which A
is an arcpath incidence matrix such that each path
(i) has innerdirected terminal arcs, and
(ii) has distinct terminal nodes, and
(iii) is either alternating or else is divided
by the root node into two alternating subpaths.
Proof: Since each step of the argument can be made "ifand
onlyif," the conclusion follows.
Q.E.D.
See Example 2.5. Also note that for A already a matching
matrix, A must describe paths on the tree given by T = I
(Example 2.6). Finally, we observe that conditions (i) and
(ii) are necessary only for the restricted version of the
matching algorithm. Any problem which meets all the condi
tions of the theorem but not (i) and (ii) is still solvable
via the generalized matching algorithm.
Consider the following instance of problem (2.1),
max cx
1 0 0 1
1 1 0 1
0 1 0 1
1 1 0 0
0 1 1 0
0 1 0 0
1 0
0 1
.0 0
0 0
0 0
0 0
0 0 0 0
0 0 0 0
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
x > 0, integer
Matrix A may be realized as an arcpath incidence matrix
on the bloom
Example 2.5: Transformation to a matching problem.
s.t. 1
2
3
4
5
6
x=b
with bloom matrix
1 2 3 4 5 6
1 0 0 0 0 0
1 1 0 0 0 0
0 0 0 0 0 1
0 1 1 0 1 1
0 0 1 1 0 0
0 0 0 1 1 0
in the following manner,
where all paths of A meet the conditions of the theorem.
Example 2.5 (continued)
Thus we may transform the problem by T to
max cx
0 1
0 0
0 1
1 0
0 0
1 0
1 0 0 0 0 0
1 1 0 0 0 0
0 0 0 0 0 1
0 1 1 0 1 1
0 0 1 1 0 0
0 0 0 1 1 0
x > 0, integer
x = Tb
which is a maximum bmatching problem on the graph
A Ta
Ta2
B C
T1
Example 2.5 (continued)
s.t. A
B
C
D
E
F
Suppose A is already a matching matrix, e.g.,
0
1
1
1 j
1
1
0
Then on the tree given by T = I, A describes paths
with innerdirected terminal arcs such that the paths are
divided by the root node into two alternating subpaths, as in
Example 2.6
CHAPTER III
UNNETWORKS, WITH APPLICATIONS TO
IDLE TIME SCHEDULING
3.1 Introduction
In solving an integer linear program with a 01 con
straint matrix, sufficient conditions for tractability
seem to emphasize the pattern of l's within the matrix
(e.g. Hoffman and Kruskal [271, Iri [30]). But by the
same token, the pattern of O's may predispose a problem to
tractability. In general this has been overlooked, per
haps because of the natural tendency to concentrate on
"what is there" rather than on what is not. We make a
simple change of focus to define a complementary problem;
by so doing, we identify a previously unrecognized class
of efficiently solvable integer linear programs.
3.2 Motivation
Recently a manpower scheduling problem studied by
Tibrewala, Philippe, and Browne [39] has generated con
siderable discussion in the literature [2,6,7,37]. The
problem is to minimize the number of workers needed to meet
daily requirements with the added proviso that each worker
must be allowed two consecutive days off each week. This
may be modeled as an integer linear program,
32
min Ix
s.t. 0 1 1 1 1 1 0 b
1
0 0 1 1 1 1 1 b
1 0 0 1 1 1 1 b
1 1 0 0 1 1 1 x > b4 (3.1)
1 1 1 0 0 1 1 b
5
1 1 1 1 0 0 1 b
6
1 1 1 1 1 0 0 b
7
x > O, integer
where each column represents a possible pattern of days
off, x. represents the number'of workers on work pattern j,
and b. is the number of workers required on day i.
Now while Tibrewala et al. have in fact developed a
simple numerical algorithm for solving this problem the in
teger linear program formulation is, on first glance, some
what distressful: the constraint matrix displays none of
those immediately commendable virtues for which one might
hope, i.e., it is not unimodular, balanced, or even perfect
[38]. Nevertheless, its special structure is appealing.
We observe that there are two zeros in each column. Re
calling that a network may be uniquely associated with a
matrix having two ones in each column, we may imagine that
our matrix determines everything but a network an unnetwork,
if you will.
Consider now the complementary problem, which is a sort
of negative image of the original,
max ly
s.t. 1 0 0 0 0 0 1 s b
1 1 0 0 0 0 0 s b2
0 1 1 0 0 0 0 s b
0 0 1 1 0 0 0 y <. s b (3.2)
0 0 0 1 1 0 0 s b5
0 0 0 0 1 1 0 s b
6
0 0 0 0 0 1 1 s b
y 0, integer
Imagine s to be a workforce size (positive integer, of
course); then s b. represents the maximum number of wor
kers who may be idle on day i. We then have formulated the
following problem: given a workforce of size s, maximize
the number of workers who may be given two consecutive days
off each week. Clearly, if for given s, the solution satis
fies ly < s, the workforce is too small to meet daily staf
fing requirements and still allow everyone time off. On the
other hand, if for fixed s we find ly 1 s, we may conclude
that the workforce is adequate. If in fact ly > s, we may
interpret this to say that too many workers have been assigned
time off. A feasible timeoff schedule for a work force of
size s may be easily found, however, by simply reducing the
entries in y to yr such that lyr = s; that is, timeoff is
assigned to no more than s workers. What we seek then is the
smallest integer s = s* for which the corresponding solution
to (3.2) satisfies Iy* > s*, i.e., the smallest adequate work
force. We are encouraged to search for this s* by the happy
fact that the derived problem is a familiar one, viz. a
maximum matching problem on a graph [13].
Let us take a more general and formal view of the idea
suggested here.
3.3 A Primal Problem and Its Complement
Let A be a 01 matrix of m rows and n columns, and let
b be a compatibly dimensioned vector with all entries in
teger. Consider the integer linear program,
min ix
s.t. Ax > b (3.3)
x > 0, integer
where, without loss of generality, we may assume b > 0.
Let E be the m x n matrix whose every entry is 1, and
let 1 and s be compatibly dimensioned vectors whose every
entry is 1 and s, respectively. Then the following integer
linear program which we call the complement of (3.3) is
of interest.
max ly
s.t. [EA]y < s b (3.4)
y> 0, integer
Note that the matrix EA = Ac (read "A complement") has
l's wherever A has 0's and has 0's wherever A has l's.
The following results then pertain,
Theorem 3.1: Let s* be the smallest integer s for which the
corresponding solution y* to (3.4) satisfies ly* > s*. Reduce
the entries in y* arbitrarily though maintaining inte
grality and nonnegativity to y* such that ly* = s*.
Then x* = y* solves problem (3.3) and the optimal objective
function value is Ix* = ly* = s*.
r
Proof: By construction y* > 0 and integer, and since
0 < Y* < y*, we have that [EA]y* < s* b. This together
r r
with ly* = s* iff Ey* = s*, implies that Ay* > b, so that
r r r
y* is feasible to problem (3.3). Now if y* is not optimal
r r
to (3.3), there must exist some y feasible to (3.3) such
that ly < iy* = s*. But then y is feasible to problem (3.4)
for s = s' = ly, so that the optimal solution y' to (3.4)
for s = s' satisfies ly' > ly = s'. But this contradicts
the assumption that s* is the smallest integer value of s
for which such a solution exists.
Q.E.D.
Therefore, if we can locate the smallest s = s* for
which the corresponding solution y* to problem (3.4) satis
fies iy* > s*, the solution to the original problem is at
hand. In addition, when Iy* > s*, Theorem 3.1 implies that
we have great freedom in moving to an optimal solution y*.
Hence, we have a host of easily attainable alternative op
tima from which we may choose in order to satisfy secondary
criteria.
A famous recipe for hare stew begins, "First you catch
a hare.... In this case we must locate s*. Fortunately
an efficient trap is provided by the several results to
follow. Let b denote the largest entry in b. Then
max
Lemma 3.2: bmax < s* < min(Ib, nbmax).
Proof: To establish the upper bound, notice that at optimal
ity every variable in problem (3.3) appears in some tight
constraint, since otherwise that variable could be reduced
and feasibility maintained. Summing the set T of tight
constraints yields a..xt = bi; but lb > b. =
iET j 1 iCT iT
S aijx > xt = Ix = s*. Also, letting b. = a..x* be
J J
3 3 3 3
a tight constraint in which x* appears, we have that b. =
j 1
Sa..x* > xt so that certainly b > xt and nb > Ix* = s*
3 j max 3 max
To show the lower bound, it is sufficient to observe
that since x > 0, Ex > Ax > b so that Ix > b. V j. Thus
s* = ix* > b
max
Q.E.D.
Incidentally, these bounds are in general the best pos
sible, since if A = E, then s* = b while if A = I, s* = b.
max
Of course, for specially structured matrices A, tighter bounds
may be derived. At any rate, we may conclude that both the
range and the magnitude of the integer s* are bounded by a
polynomial in the values of the problem data.
Lemma 3.3: For fixed integer s', let y' be the corresponding
solution to problem (3.4). Then ly' < s' iff s' < s*, where
s* is defined in Theorem 3.1.
Proof: If s' < s* then ly' < s' since s* is the smallest
integer less than or equal to its corresponding optimal objec
tive function value ly*.
On the other hand, suppose ly' < s' but s* < s'. Then
y = y* + s's*] satisfies y > 0, and [EA]y = [EA]y* +
[EA] sI's*j < s* B + E s's* = .+ s' s* =
s' b; thus y is feasible to problem (3.4) with s = s'.
Moreover ly = ly* + s' s* > s* + s' s* > s' > ly',
which contradicts y' solving (3.4) for s = s'.
Q.E.D.
Corollary: For fixed integer s', let y' be the corresponding
solution to (3.4). Then ly' > s' iff s* < s'.
Thus the relationship between s and its associated
optimal objective function value for problem (3.4) may be
illustrated as in Figure 3.1.
3.4 An Algorithm Based on the Complementary Problem
We incorporate the preceding results in
A Complementary Algorithm
Step 0: Given the problem
min lx
s.t. Ax > b (3.3)
x > 0, integer
form the complementary problem
max ly
s.t. [EA]y < s b (3.4)
y > 0, integer
ly' > s'
K
b
max
Figure 3.1: Behavior of s' and associated optimal
solution y' (see Lemma 3.3 and corollary).
ly' < s'
I
I
Step 1: Search for s*.
A. Restrict s* to the interval bm < s* < min(lb, nbmax)
max max
where s* is an integer.
B. Perform binary search [1] through this interval to locate
s*. At each iteration s is fixed at a value s' and the
corresponding version of problem (3.4) is solved; then the
optimal objective function value ly' is compared to s' and
Lemma 3.3 invoked to further restrict the location of s* to
s* < s' or s' < s*.
Having determined s* and the corresponding solution y*
to problem (3.4), proceed to step 2.
Step 2: Construct the optimal solution to the original
problem, (3.3).
A. By Theorem 3.1, we may reduce entries in y* arbitrarily
 though maintaining integrality and nonnegativity to
construct y* such that ly* = s*. Then x* = y* is the solu
r r r
tion to the original problem, (3.3).
3.5 Efficiency of the Algorithm
An algorithm may be considered formally efficient if its
worst case performance can be bounded above by a polynomial
in the size of an encoding of the problem data [1]. Accor
dingly, we may consider an algorithm binary efficient if it
is efficient with respect to a binary encoding; similarly,
unary efficient if efficient with respect to a unary en
coding. The minimum cost network flow algorithm for instance
is binary efficient [16] and the maximum bmatching is unary
efficient [14].
Lemma 3.4: If, for any fixed s, the complementary problem,
(3.4), is efficiently solvable with respect to a binary en
coding of the problem data, then the complementary algorithm
solves the primal problem, (3.3), with formal efficiency
relative to a binary encoding.
Proof: Since assumed efficiently solvable with respect to
a binary encoding, suppose the complementary problem (3.4)
is solvable in no more than 0(p(n, log2 Ib, log2 s)) steps
for some polynomial p, which we may assume to be nondecreasing
in its variables, n, log2 15, log2 s. Since by Lemma 3.2,
s* < Ib, it must be that log2 s* < log2 lb. Thus each com
plementary problem solved by the algorithm requires no.more
than 0(p(n, log2 Ib, log2 Ib)) steps or simply 0(^(n, log2 Ib))
for some polynomial P.
Now to perform binary search for s* in the interval
bmax < s* < Ib, we need solve no more than 0(log2 ib) com
plementary problems; thus, no more than 0(log2 Ib p(n, log2
Ib)) steps are required to find s* and the accompanying solu
tion to the appropriate complementary problem.
Finally, constructing y* as described in Theorem 3.1 is
r
a simple 0(n) process. Therefore, no more than 0(log2 Ib
p(n, log2 ib) + n) steps are required by the complementary
algorithm to solve the primal problem. Clearly this is poly
nomial in terms of a binary encoding of the data of the primal
problem.
Q.E.D.
Corollary: If, for any fixed s, the complementary problem
(3.4) is efficiently solvable with respect to a unary en
coding of the problem data, then the complementary algorithm
solves the primal problem, (3.3), with formal efficiency
relative to a unary encoding.
To efficiently solve the primal then, it is enough
that there exist some efficient solution technique for the
complement.
3.6 RoundOff Result
A rather surprising roundoff result, similar to that
obtained by Weinberger [42], holds for special versions of
problem (3.3).
Consider the continuousvalued relaxations of problems
(3.3) and (3.4),
min Ix
s.t. Ax > b (3.5)
x> 0
and
max ly
s.t. [EA]y < s b (3.6)
y 0
respectively. Then letting z* be the optimal function value
of the continuousvalued problem (3.5) and s* that of the
integerrestricted version (3.3),
Theorem 3.5: If for any integral s, Problem (3.6) has an
optimal point that is integral, then rz* = s*, where Frl
is rounded up to the closest integer.
Proof: Let x* solve (3.5) with Ix* = z*. Then by an argu
ment similar to that of Lemma 3.2, y' = x* + [Fz* z* is
feasible to (3.6) for s = Fz*1 and ly' = Fz1 Thus the
optimal solution to (3.6) for s = z*1 must satisfy Iy z*1 .
Moreover, by the assumed property of (3.6), we may take
this solution to be integer and therefore feasible to (3.4).
But then by the corollary to Lemma 3.3, we have that
s* ( z* But since (3.5) is a relaxation of (3.3), z* < s*.
Therefore we conclude that s* = z* .
Q.E.D.
For matrices such that EA is totally unimodular, (3.6)
has integral extreme points and the roundoff result applies.
A particular class of such matrices are those for which the
complementary problems are solvable by the minimum cost net
work flow algorithm. Iri [28] has given a characterization
of such matrices along with a proof of their total unimodular
ity. The problem of 3.7B in the following section illustrates
this property.
3.7 Some Scheduling Models
A. To return to the two consecutive days off scheduling
problem, (3.1): it is clear that this may be solved by
the complementary algorithm as a bounded series of maxi
mum bmatchings (or, in this case, maximum s b matchings.
It may be further observed that the complement, (3.2),
poses the matching problem on a special graph, a seven
node simple cycle. Moreover it is not difficult to
see that the algorithms of Tibrewala et al. and Chen
are essentially maximum matching algorithms for a sim
ple cycle with node constraints s b. Thus their
algorithms may be considered a special implementation
of the complementary algorithm where the search for s*
is speeded up by special structure.
For the cases in which ly* > s*, the complementary
algorithm offers us, in addition to alternative solu
tions, some special insight into the staffing problem.
We may interpret the condition of ly* being much
greater than s* to indicate an incompatibility between
the work patterns and the pattern of manpower require
ments. For such cases, it may be advisable for the
manager to consider differently structured work patterns,
or else reconsider the data in b.
Incidentally, it is clear that the complementary
algorithm will also efficiently solve this problem even
when two nonconsecutive days off are allowed. In this
case, the complement simply poses a matching problem on
a graph more general than a simple cycle.
B. Consider a set of machines that are to be scheduled
over a finite horizon to meet machine requirements b.
Each machine has peculiar to itself some number of con
secutive time periods during which it must remain idle
 for preventive maintenance for instance. To find
the minimum number of machines necessary, we may model
the problem as in this example,
s.t.
min
0
0
0
1
1
1
1
1
1
1
0
0
0 or
(3.7)
where column j reflects the availability of machine j
over the discretized planning horizon, and where, in
any solution, x. = 1 corresponds to utilizing machine
j. The key feature of this example is that A possesses
the property of consecutive 0's in columns.
For (3.7) the complement is
x
s.t.
max
1
1
1
0
0
0
0
0
0
0
1
1
0 or
(3.8)
for which the constraint matrix possesses the well
known "consecutive l's" property [19]. Thus (3.8) is
transformable to a minimum cost network flow problem
as in Veinott and Wagner [41]. We conclude then that
(3.7) is efficiently solvable as a bounded series of
minimum cost network flow problems, and, moreover,
that the roundoff result of Section 3.6 holds.
3.8 Another Staffing Problem
To indicate the flexibility of the preceding approach,
consider a problem studied by Brownell and Lowerre [6].
They seek to minimize the number of workers required to
meet daily staffing requirements where each worker is al
lotted two days off each week including every other weekend.
They solve the special case in which all weekday staffing
requirements are identical and weekend requirements are
identical. However, for the more general case of arbitrary
daily requirements, a variation of the complementary algo
rithm provides .an efficient solution.
The problem may be posed as an integer program with
0 1 constraint matrix thusly,
min ixl + 1x2
s.t. (1st week) E b
A 1
 2 
(1st aekend) 0 x b
 > (3.9)
(2nd week) E x b
A1 
(2nd weekend) 0
x1' x2 > 0, integer
where each column represents a possible pattern of days
off, xl corresponds to shifts with the first weekend off,
and x2 corresponds to shifts with the second weekend off.
Furthermore, A1 and A2 are 0 1 matrices with exactly two
zeros in each column, corresponding to two days off for
the week.
Now let sl be the number of workers on shift 1 (first
weekend off) and let s2 be the number of workers on shift 2,
so that s = sl + s2 is the size of the total workforce. We
observe that during the weekdays of the first week both
shift 1 and shift 2 workers are employed; thus to meet staf
fing requirements, no more than s b1 = sl + s2 b workers
(entrywise) may be given time off on these days. On the
days of first weekend, only shift 2 workers are on duty, so
that no more than s2 b2 workers (entrywise) may be off
those days. Similarly, sl + s2 b3 and s b4 give upper
bounds on the number of workers who may be off during the
days of the second week.
As in Section 3.1 we may ask: for a given workforce of
size s, partitioned into two shifts sl and s2 (s = sl + s2),
what is the maximum number of people who may be given time
off according to the work patterns and requirements above?
Again, analogously to Section 3.1 this may be posed mathe
matically as
max ly, + ly2
0
EA2
0
EA1
1Yl
Y1
' Y2
Y1
Y2 J 
> 0, intege
 0, intege
s + s bl
b2
s b
s2 3
sl + s2 b3
S 4
r
r
which may be decoupled into the two problems
max ly1
s.t. [E A ]y1
yl
< s + s b
 s1 2 3
s 4
1 integer
> 0 integer
max ly2
s.t. [E A]y < s + S2 b
2 2 1i
y2 > 0, integer
Y2 
(3. lb)
Problems (3.11a and b) are similar to that discussed
in Section 3.7A. In this case an adequate workforce s = s
+ s2 must have corresponding solutions to (3.11a and b)
which satisfy lyI > s and ly2 s Thus we must search
Ih f 1 F2 2
for the smallest integer s together with a partition s = sl
+ s2 for which these conditions are satisfied. Such an s
and accompanying partition may be found by applying two
dimensional binary search in the following manner: for fixed
s.t.
(3.10)
and
(3.11a)
s, s is restricted to the interval 0 < s < rs/21; on
this interval binary search is performed, solving at each
step the appropriate versions of (3.11a and b); if an accep
table partition, s = sl + S2, is found, then s is an adequate
workforce and s* < s; if no acceptable partition is found
then s is not adequate and s < s*. Finally, having deter
mined s* = s* + s* and the corresponding solutions y* and
y* to (3.11a and b), an optimal solution to (3.9) is con
structed as in Theorem 3.1. In a manner analogous to Sec
tion 3.3, the proceeding may be formally argued.
If 0(^(n, log2 Ib)) reflects the complexity of problem
(3.11), then as in Section 3.6, it may be argued that this
solves the Brownell and Lowerre problem in no more than
 2
0((log21b) (n, log2 Ib) + n) steps. Again this is for
mally efficient with respect to a unary encoding since the
problems (3.11) are matching problems.
Additionally, it should be noted that this approach
solves the "k 1 out of k" weekend problem in no more than
k
0((log2 b)k (n, log2 Ib) + n) steps.
3.9 Extensions
While the preceding analysis was carried out for (3.1),
a minimization problem with ">" constraints, similar results
hold for a maximization problemwith "<" constraints. In
addition several technical extensions of this approach are
possible. For instance, in some cases one may choose to
flip the O's and l's in just a portion of the constraint
matrix, as was done in Section 3.8.
For the case of weighted objective functions cx, a
smaller but still interesting class of problems may be
solved by a similar idea. Consider the problem
min cx
s.t. Ax > b (3.12)
x > 0, integer
where again A is a 0 1 matrix and b, c are vectors with
all entries integer. Without loss of generality we may take
b, c > 6. Then the problem
min cx
s.t. [EA]x < s b
(3.13)
Ix = s
x > 0, integer
is of interest due to
Observation 3.1: Problems (3.12) and (3.13) are equivalent
in the sense that if x solves (3.12) then x and s = Ix solve
(3.13); similarly, if x and s solve (3.13), then x solves
(3.12).
Therefore we may solve (3.12) by solving (3.13). Note that
since x is integervalued, s must be an integer. Further
more, the bounds established by Lemma 3.2 hold for s. Now if
for fixed s, problem (3.13) is efficiently solvable, an ob
vious solution technique is to solve'a version of (3.13) for
each of the 0(ib) allowable values of s. Then from among
these solutions the best may be chosen, thus solving (3.12).
As in Section 3.5, it may be argued that this solves the
problem with unary efficiency.
For the special case where the constraint matrix of
(3.13) is totally unimodular, the search for the best solu
tion may be made even more efficient. For fixed integral s,
let the optimal objective value of (3.13) be z*(s). Then
we have
Lemma 3.6: z*(s) is convex in s over b < s < lb.
max 
Proof: Since the constraint matrix of (3.13) is assumed to
be totally unimodular, the integral restriction may be
dropped. Then the desired conclusion follows from similar
results for continuousvalued linear programs (e.g., Geoffrion
and Nauss [21]).
Q.E.D.
Therefore an efficient convex search technique suchas
Fibonacci search [43] may be employed. In this case no more
than 0(log3 Ib) versions of (3.13) need be solved.
To illustrate the proceeding, imagine an eighthour work
day with fixed staff requirements b. for each hour i. Each
man must have one hour of idle time in the morning and one
hour of idle time in the afternoon. What is the minimum cost
staffing solution (number of men and their assignment to
shifts) which meets the staff requirements? We formulate the
problem as
min ex
s.t. 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1
1 1 11 0 0 0 0 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1
1 1 1 1 1 1 1 1 1 1 11 0 0 0 0
x > b (3.14)
0 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1
1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1
1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1
1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0
x > 0, integer
The corresponding.version of (3.13) is
min cx
s.t. 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1
x< s b
1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0
0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0
(3.15)
0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0
0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1
lx = s
x 0, integer
This problem is equivalent to a network flow problem since
the matrix describes chains of arcs on a tree (see Figure
3.1). Thus we may solve the original problem by solving
0(log3 ib) network flow problems like (3.15).
 these arcs correspond to
the upper rows of the
matrix.
 this arc corresponds to
the constraint lx = s.
 these arcs correspond to
the lower rows of the
matrix.
Figure 3.2: Chains of arcs on a tree.
* *
* *
3.10 Applications
The particular applicability of this technique seems
to lie in scheduling/staffing problems, where it appears
natural to model job/processor availability by 0 1
matrices. Many of the fundamental problems display appeal
lingly patterned matrices, which suggest the possibility of
exploitable special structure. This is especially true of
idle time scheduling, where the complementary approach
makes explicit use of the observation that idle time is the
complement of production time.
In another vein, an area of applicability would be to
linear programs with dense 0 1 matrices. The complements
would be sparse and therefore amenable to (at least empir
ically) efficient solution.
CHAPTER IV
CIRCULAR l's AND CYCLIC STAFFING
4.1 Two Fundamental Staffing Models
Consider the integer linear program
min cx
s.t. Ax > b (4.1)
x > 0, integer
where, throughout the paper, b and c are vectors with all
entries integer and A is an m x n matrix with all entries
0 or 1. Without loss of generality, we may assume b, c > 0.
To represent continuous workshifts in linear time, a
common staffing model has A possess the property of conse
cutive l's in columns (e.g., Veinott and Wagner [41]).
Such matrices are happily met since they are known to be
totally unimodular; moreover, for such matrices, problem
(4.1) is equivalent under linear transformation to the
minimumcost network flow problem
min cx
s.t. [TA, T]x = Tb (4.2)
x > 0, integer
where T is the m x m matrix
1 1
T = 1 '. (4.3)
1
1 1
and where "equivalence" means here that x solves (4.1) if
and only if x solves (4.2) [28,29]. Transforming (4.1) by
T to reveal its network structure corresponds to succes
sively rowreducing the constraints of (4.1) [41].
Since the minimum cost network flow algorithm is formally
efficient [16], we may consider (4.1) to be efficiently
solvable in its guise (4.2).
The second basic staffing model represents continuous
workshifts in cyclical time [3]. For this model the matrix
A possesses the property of circular l's in columns [40],
as for instance in Example 4.1, where the strings of l's
may be imagined to wrap around the matrix. Such matrices
are in general neither unimodular, balanced, nor perfect [38].
Indeed they are notorious for the fractional extreme points
which they induce in (4.1) [34].
A special n x n circular l's matrix has in each column
a band of k l's permuted cyclically (see Examples 4.2 and
4.3). We will call these (k, n) matrices.
The most fundamental of the cyclic staffing models is
given by
min ix
s.t. Ax > b (4.4)
x > 0, integer
1 0
1 1
1 1
0 1
0 1
0 0
Example 4.1: A matrix with "circular l's in columns."
1 1 0
110
1 0 1
0 1 1
Example 4.2: A (2, 3) matrix.
Example 4.3: A (3, 5) matrix.
where A is a (k, n) matrix. The objective corresponds to
minimizing the total workforce size necessary to meet
period manpower requirements b. For A a (5, 7) matrix,
this problem was studied by Tibrewala, Philippe, and Browne
[39] (also by various others [2,4,7,37]), where the (5, 7)
matrix represents workshifts with two consecutive days off
each week. They observe that their solution generalizes
to A a (k, k + 2) constraint matrix. A rather more complex
solution technique is proposed by Guha [24] for general (k, n)
matrices. In this study we generalize problem (4.4) in two
ways and offer considerably simpler and formally efficient
solutions.
4.2 Transformations of Variables
Consider the problem
min cx
s.t. Ax > b (4.5)
x> 0
which we may write as
min cx
s.t. [A b (4.6)
I 
Now let T be a nonsingular matrix and consider the change
of variable x = Ty. Since T is nonsingular, (4.6) is equiv
alent to
min (cT)y
s.t. AT ] [ b ]
[ > (4.7)
T 0
y unrestricted
1
in the sense that if x is feasible to (4.6), then T x is
feasible to (4.7), and if y is feasible to (4.7), then Ty
is feasible to (4.6). If in addition T is unimodular, then
1if x has all integer entries, Tx has all integer entries,
and if x has all integer entries, T x has all integer entries,
and if y has all integer entries Ty has all integer entries.
Therefore,
Observation 4.1: For T nonsingular and unimodular the in
tegerconstrained versions of problems (4.6) and (4.7) are
1
equivalent in the sense that x solves (4.6) iff y = T x
solves (4.7).
We will use this insight to construct equivalent integer
programs wherein special, exploitable structure is displayed.
4.3 Almost a Network
Consider again problem (4.1), where for simplicity of
presentation A is assumed to be a (k, n) matrix. Problem
(4.8) below, where A is a (3, 5) matrix, will provide a con
tinuing illustration. Later we will observe that the ideas
to follow generalize easily.
min C x1 + c2x2 + c33 + c4x4 + 5 x
s.t. 1 0 0 1 1
1 1 0 0 1
1 1 1 0 0
0 1 1 1 0
0 0 1 1 1
x > (4.8)
1 0 0 0 0
0 1 0 0 0
0 0 1 0 0
0 0 0 1 0
S0 0 0 0 1
x integer
where the nonnegativity constraints are expressed by the lower
portion of the matrix. Perform the change of variable given
by x = Ty where T is defined in (4.3). Such a change of
variable corresponds to successive column reduction of matrix
A, and results in
min (clc2)y1 + (c2c3)2 + (c3c4)Y3 + (c4c5)4 + c5Y5
s.t. 1 0 1 0 1
0 1 0 1 1
0 0 1 0 0
1 0 0 1 0
0 1 0 0 1
y (4.9)
1 0 0 0 0
1 1 0 0 0
0 1 1 0 0 0
0 0 1 1 0
0 0 .0 1 1
y unrestricted but integer
Moreover, since such a T is both nonsingular and unimodular,
(4.9) is equivalent to (4.8) as an integer linear program.
Thus solving (4.9) solves (4.8). We solve (4.9), on the
strength of the following,
Observation 4.2: With the exception of the last column,
that corresponding to y5, problem (4.9) is the linear pro
gramming dual of a network flow problem.
That is, if we fix (temporarily) y5, problem (4.9) may
be written as
c5Y5 + min (c1c2)1 + (c2c3)Y2 + (c3c4)Y3 + (c4c5)Y4
s.t. 1 0 1 0 b Y5
0 1 0 1 b2 5
0 0 1 0 b
1 0 0 1 y b4
1 4
0 1 0 0 y b y
2 5 5
(4.10)
1 0 0 0 y3 0
1 1 0 0 y4 0
0 1 1 0 0
0 0 1 1 0
0 0 0 1 Y
y1' Y2' Y3, Y4 unrestricted but integer
which is the linear programming dual of a network flow
problem. The obvious idea is to fix values of y5 over its
allowable range and solve corresponding network flow pro
blems until the best objective value is found. Let us re
fine and extend this idea.
4.4 Properly Compatible l's
Following Tucker [40], we define a 0 1 matrix A
to have properly compatible circular l's in columns if
and only if (i) the l's in each column are circular, and
(ii) for any two columns a. and ak, if the first (in a
3 k
cyclic sense) entry in aj precedes that of ak, then the
last (in a cyclic sense) entry in ak does not precede
that of a.. Roughly speaking, if a circular band starts
3
later than another, it can end no earlier. The matrix of
Example 4.4 displays properly compatible circular l's in
columns. For matrices with this property, a natural
ordering of the columns suggests itself,
Column Ordering Algorithm
1. Order columns in groups, where group i consists
of those aj whose first (in a cyclic sense) 1 appears in
row i. Then,
2. Within each group, order columns so that a. pre
cedes ak if the last (in a cyclic sense) 1 of a. precedes
that of ak. The columns of Example 4.4 have been so
ordered. Henceforth, we assume, without loss of generality,
that a matrix with properly compatible l's in columns has
its columns ordered as above. Important for us shortly will
be
Observation 4.3: A matrix with properly compatible circular
l's in columns has the property of circular l's in rows.
Consider now the problem
1 1 0 0 1 1 1
1 1 1 0 0 1 1
0 1 1 1 1 0 0
0 0 1 1 1 1 0
0 0 0 0 1 1 1
Example 4.4a: Properly compatible circular l's in columns.
1 0 0 1 1
1 1 0 0 1
0 1 1 0 1
S0 0 1 1 1
Example 4.4b: A circular l's matrix, the columns of which
are not properly compatible.
min cx
s.t. Ax >
x >_ integer
(4.11)
where A has properly compatible l's in columns. Perform
the change of variables given by x = Ty, where T is the non
singular unimodular matrix defined in (4.3). Then, we have
an equivalent integer linear program
min (cT)y
s.t. AT r
T y unrestricted but integer
y unrestricted but integer
(4.12)
Since A has circular 1's in rows, each row r. of A has
1
either consecutive l's or consecutive O's [40]. Therefore
each r. is of the form
1
(i) r. = (0,...,0, 1,..., 0,...,0), or
(ii) r = (1,...,i, 0,...,0, ,...,i) or
1
(iii) r. = (1,...,i, 0,...,0), or
1
(iv) ri = (0,...,0, 1,...,1)
But then each row r.T of AT is of the form
1
(i) r.T = (0,...,0, 1, 0,...,0, 1, 0,...,0), or
(ii) r.T = (0,...,0, 1, 0,...,0, 1, 0,...,0, 1), or
1
(iii) r.T = (0,...,0, 1, 0,...,0), or
(iv) riT = (0,...,0, 1, 0,...,0, 1), respectively.
Note that except for the n entry, each row riT of AT has at
most two nonzero entries, one a +1 and one a 1. We further
note that T enjoys this same property. Thus, excluding the
n column, each row of AT has at most one +1 and one 1,
T
all other entries being 0.
For notational convenience, let us partition T into
its n column and the remainder of the matrix: T = [T tn]
th
= [T, e ], since the n column of T is e = (0,...,0, 1).
Similarly partition y = (y y ). Then problem (4.12) may
be rewritten as
min (CT )Yr + c nn
s.t. AT a y b
AT>r a nr > (4.13)
r n Yn 0
yr' Y unrestricted but integer
Now we can formally state
Lemma 4.1: If for problem (4.11), A has properly compatible
circular l's in columns, then under the prescribed change of
variables ATr is the transpose of a network matrix.
That is, for fixed integral yn, the resultant version of (4.13)
min (cTr)y
Tr 0 e ny
r n n (4.14)
Yr unrestricted but integer
is the linear programming dual of a network flow problem.
Thus, problem (4.14) is efficiently solvable, at least through
its dual. This suggests the idea of searching through the
allowable values of yn, solving a tractable subproblem (4.14)
each time, to find a (y*, y*) which minimizes (cT )Y + c y
r n r r n n*
4.5 Stalking the Wild y
First we determine the allowable range of the integer
yn. Let y* be a value of y in some optimal solution to
(4.12), and let bmax be the largest entry in b. Then
max
Lemma 4.2: b < y* < min(lb, nb )
max n max
1
Proof: Since y = T x, and
Tl= L i.:
1 1
T
1 1...1
we have that yn = ix. But then Lemma 3.2 gives the desired
bounds.
Q.E.D.
To remind us of its dependence on y let the objective
function of problem (4.14) be written as (cT )y = z(y)
and let the optimal value, for fixed yn, be z*(y ).
Lemma 4.3: z*(y ) is convex in y over b < y < b.
n n max n 
Proof: Since the constraint matrix of problem (4.14.) is
totally unimodular, the integral restrictions may be dropped.
Then the desired conclusion follows from similar results
for continuousvalued linear programs (e.g., Geoffrion and
Nauss [21]).
Q.E.D.
Lemma 4.4: The optimal function value (cT)y of problem
(4.12) is convex in yn over b < y < 1b.
Proof: Clearly c yn is convex in yn; z*(y ) is convex in
y by Lemma 4.3, so since sums of convex functions are convex,
z*(yn) + CnYn is convex in yn. But this is the optimal
function value of problem (4.13) and therefore of problem
(4.12).
Q.E.D.
4.6 A Solution Technique
Given the problem
min cx
s.t. Ax > b (4.15)
x > 0, integer
where A has properly compatible circular l's in columns,
the proceeding results justify the following solution
procedure,
Step 0: Perform the change of variables
Let x = Ty, where T is defined by (4.3) to form the equivalent
problem
min (cT)y
s.t. FAT Fbi
T. Y > 0 (4.16)
y unrestricted but integer
Step 1: Solve the equivalent problem, (4.16)
A. Note bounds on integer y*: b < y* < ib.
n max n 
B. Minimize z*(yn) + c ny = (cT)y over this interval.
Since yn is integer and z*(y ) + c y is convex in yn'
an efficient technique such as Fibonacci search [43] may be
used. Furthermore, for fixed yn, z*(y n) is efficiently
calculated by solving
68
z*(yn) = min (cTr) Y
rAT a nYn
Yr > 0 (4.17)
T r e y (417)
r n n
yr unrestricted but integer
Since this is the dual of a minimum cost network flow prob
lem, it is readily solvable. Let (cT)y* = min z*(y ) + c nn
Yn
and let (y* y*) = y* be the associated solution; then 9*
solves (4.16) and (cT)y* is the optimal function value.
Step 2: Construct the optimal solution to (4.15) by
the change of variables x* = Ty*.
4.7 Efficiency of the Algorithm
This solution procedure works efficiently, even for
pessimists, by the following worstcase analysis.
Step 0, the initial change of variables, requires no
more than O(mn) steps.
Step 1 requires the solution of (4.17) for fixed y n
But the network flow algorithm solves (4.17) in a number of
steps which is bounded above by a polynomial in the size of
the encoding of the problem data [16]. We may take this
polynomial to be p(m, n, log2 Ib, log2 Ic, yn). But since
y* 1b5, log2y* < log2 Ib, so that we may consider the solu
tion to (4.17) to require no more than 0( (m, n, log2 ib,
log2 Ic)) for some polynomial p. And since Fibonacci search
.requires that we consider no more than 0(log3 Ib) values of
yn, we may determine y* = (y* y*) is no more than O(log3Ib
Sp(m, n, log2 Ib, log2 Ic)) steps.
Step 2, the final change of variables, requires 0(n)
steps.
Therefore the solution procedure solves (4.15) in at
worst 0(mn + log3 Ib p(m, n, log2 Ib, log2 Ic)) steps.
Since this is polynomial in a binary encoding of the pro
blem data [1], we have proven
Lemma 4.5: Problem (4.15) is solved by the solution tech
nique with formal efficiency relative to a binary encoding
of the problem data.
4.8 A Special Objective Function
For a special objective function, a wider class of
problems may be solved and additional results discovered.
Consider
min Ix
s.t. Ax > b (4.18)
x > 0, integer
where A displays the property of circular l's in columns
(not necessarily properly compatible).
We say that column a. of A dominates column ak if
a. > a entrywise. Consider two such columns and let
S k
x*= (x* ...,xx*,...,x*) solve (4.18). Then
1 3 k n
(x*,...,x* + x,...,0k ,x*) is feasible to (4.18) and,
1 3 k K ..n*)
moreover, has the same (optimal) objective value. Therefore
Lemma 4.6: An optimal solution to problem (4.18) exists
for which none of the columns corresponding to nonzero
variables are dominated by any other column of A.
Therefore we may reduce (4.18) by eliminating any columns
of A (and associated variables) which are dominated. But
then the resulting matrix displays properly compatible cir
cular l's in columns, so that the problem is solvable by
the approach just presented. (Note that, in fact, it is
sufficient for this conclusion to assume socalled "agree
able" costs, for which c. < ck iff a. > ak (cf., [35])).
a3 k  3 k
Let us assume that the matrix A has been pruned of
dominated columns. Then the special properties of the
transformed problem are of interest. In particular, the
new objective function is (cT)y = e y = Oyr + y Thus
solving the transformed problem (4.16) is tantamount to
finding the smallest integer y for which the constraints
of (4.17) have a feasible solution. Equivalently, we seek
the smallest integer yn for which the dual network flow
problem to (4.17) is not unbounded, i.e., is free of cycles
of positive net cost.
For the special objective function cx such that
c > c > > > cn_ (which includes the objective function
1 2 n1
ix), a particularly simple solution technique applies to the
transformed problem (4.17). The new objective function has
the property (cT ) > 0; furthermore A has no more than
one +1 in each row, and at least one +1 in each column. Thus
this version of (4.17) is solvable by the simple recursive
substitution scheme of Dorsey, Hodgson, and Ratliff [11].
4.9 Close Enough
For the transformed version of problem (4.18), an
interesting roundoff result holds (see similar results in
[4,42]). Recall that the transformed, equivalent version of
(4.18) is
min Oyr + yn
s.t. ATr a n y b
>_ (4.19)
Tr en Yn
yr' Yn unrestricted but integer
Lemma 4.7: Let y' = (yi" ',yn') solve the continuousvalued
relaxation of (4.19); then y* = (y' y,1 ...,Fy') solves
the integerrestricted problem (4.19).
Proof: Clearly Fynl is a lower bound on the optimal function
value of (4.19). Moreover (Fy; yj ,...,y' ) is an integer
valued vector which achieves this value. To see that this
vector is feasible to (4.19), we will show that it satisfies
each of the constraints, of which there are three types:
(i) j Yk > bi
(ii) Yj Yk + Yn > bi
(iii) y. > b.
First observe that for any two numbers a and b,
Fal = [aJ (4.20)
and
Fal + Fbl > Fa+bl (4.21)
By (4.21), rabi + Fbl > [al so that Fbi [al Fabl = [baJ
by (4.20). Then by the last inequality we have
(i) rl Fy > L yk j I = bi since b
is integer.
(ii) Fy;! y + Fy >_ ryi+y>l Fyk;1
LY y+Yj > Lb J = b. since bi integer.
(iii) ry y Y' > b.
Hence, each of the constraints of (4.19) is satisfied and
(Ffl,F 1 ,..., rYl) is an optimal feasible solution.
Q.E.D.
Therefore problem (4.18) may be solved by the following
simple application of linear programming:
(i) Solve the continuousvalued relaxation of
(4.18) by, for example, the simplex method of linear program
ming. Let the solution be x'.
1
(ii) Transform the solution via y' = T x', for T
as in (4.3).
(iii) Roundup y* = ([yI [y, 1 [y ).
(iv) Transform back to x* = Ty*. Then x* solves
the integer program (4.18).
4.10 Two Staffing Problems
A.. A basic staffing problem involves a facility such as a
hospital that operates 24 hours each day. Assume there are
fixed hourly staff requirements b., and that there are three
basic work shifts, each of eight hours duration: 07001500,
15002300, and 23000700. Overtime of up to an additional
eight hours is possible for each shift. What is the minimum
cost number of workers and their shifts such that all staff
requirements are met? This problem may be formulated as
in Figure 4.1, where the constraint matrix displays pro
perly compatible circular l's in columns. Thus the problem
is efficiently solvable by a bounded series of network flow
problems.
B. Consider again the problem of Brownell and Lowerre [6]
discussed in Section 3.8. For the special case in which
days off during the week must be consecutive, the constraint
matrix demonstrates a more complicated cyclic structure than
simple circular l's (Figure 4.2). Nevertheless, the same
sort of transformation of variables changes the problem to
an efficiently solvable form since the constraint matrix has
circular l's in rows, as illustrated in Figure 4.2 and of
course the roundoff result of Section 4.9 holds.
mln cx
s.t.
07 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 11 1111
08 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 00 1 1 1 1 1 1
09 1 1 1 1 1 11 1 1 00 0 0 0 0 0 0 0 00 1 1 1 1 1 1
10 1 1 1 11 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1
11 1 1 1 1 1 11 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1
12 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 000000111
13 1 1 1 1 1 1111 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
14 1 1 1 11 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
15 0 1 1 11 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0
16 00 1 1 1 1111 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0
17 00 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0
18 00 0 1 1 1 11 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0
19 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0
20 0 0 0 0 0 0 1 1 1 1 1 11 1 1 1 1 1 0 0 0 0 0 0 0 0 0
21 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0
22 0 0 0 0 0 0 0 0 1 11 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0
23 0 0 0 0 0 0 0 00 0 1 1 1 1 1 1 11 1 1 1 1 1 1 1 1 1
24 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 11 1 1 1 1 1 1
01 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 11 1 1 1 1 1 1 1 1 1
02 0 0 0 0 0 0 0 0 0 000011111 1 1 1 1 1 1 1 1 1
03 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 11 1 1 1 1 1 1 111
04 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 11 1 1 1 1 1 1 1 1
05 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 1 1 1 1 1 1 1 1
06 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 11 1 1 1 111 11
x integer
Figure 4.1: A cyclic staffing problem with overtime.
min c1X1 + c2x2
Sx
x2 
x1, x2 > 0, integer
Figure 4.2: A version of the Brownell and Lowerre problem.
s.t.
I
CHAPTER V
WHAT DOES IT ALL MEAN?
Since the general integer linear program is probably
intractable [32], it makes sense to attempt to exploit
special structure. In Chapters I and II, rather than
having analyzed new structures, we have learned how to re
cognize familiar ones. This study of equivalent linear
systems suggests that we view totally unimodular, network,
and matching matrices as merely canonical forms. We may
imagine them to represent underlying structures that are
more fundamental than their representations. With this
enhanced awareness, no doubt more problems will be seen to
be equivalent to familiar, efficiently solvable ones. In
particular we expect more scheduling and staffing problems
to be recognized as network flow problems, since the meta
phor of "chains on a tree" models rather nicely a kind of
generalized Gantt chart. Also, on another level, networks
seem apt for such problems. Networks are a special kind of
binary relation and thus express the binary relation between
job and processor.
In Chapters III and IV, we have gone beyond simple re
cognition of special structure to matters of potentially much
greater importance. The interesting feature of the problems
of these chapters is that they are almost but not entirely 
one of the familiar special structures, such as a network.
We were. able to partition each problem into two portions,
a recognizably solvable part and the incompatible remainder.
Of course, any integer linear program can be so divided, the
tractable portion efficiently solved and the incompatible
portion enumerated. Such an approach, while certainly
reasonable, is however without guaranteed efficiency. What
makes the problems of Chapters III and IV special is that the
incompatible portion not only is small but also is of a
fixed size which is independent of the size of the problem.
Thus the enumeration, and ultimately the entire solution, is
of reassuringly bounded complexity. In fact, in many cases
the enumeration of the incompatible portion could be greatly
speeded up by a convex search technique, such as binary or
Fibonacci search. Thus, the problems of Chapters III and IV
represent the first steps away from the familiar, efficiently
solvable structures in that they contain such structures as
their core. They are solvable by "metaalgorithms" which
contain, for instance, the network flow or matching algorithm
as a subroutine. Clearly this indicates a direction for
future research. Most immediately, we wonder what other
classes of problems can be identified for which all but a
fixed portion are specially structured. And more generally,
given an integer linear program, can we learn to recognize
some kernel of tractability contained therein? Can we iden
tify the largest possible tractable core? Such consideration
would be of considerable importance in the intelligent
construction of customtailored branchandbound algorithms.
The roundoff results of Chapters III and IV also
encourage further research. How pleasing it is to know
that the simplex method of linear programming, that Volks
wagen of algorithms, is sufficient for an integer program!
The result of Section 4.9 suggests the intriguing possibil
ities that lie beyond the obvious hope of simply rounding
off continuousvalued answers.
Thus two major avenues of inquiry are indicated:
tractable kernels and roundoff.techniques. The potential
importance of such considerations is enhanced by the NP
completeness of the general integer program and the general
scheduling problem. Special techniques for special problems
are necessary. Let us make full and clever use of the tools
at our disposal.
APPENDIX 1
INVERTING A NONSINGULAR GRAPH MATRIX
Inverting a nonsingular graph matrix is similar to
inverting a nonsingular network matrix [31].. We consider
the two cases:
(i) Let T be the m x m full rowrank graph matrix
of a tree and let r be the root (implicit) node. Then
since T is a tree, for any node i there is a unique path
Pi to node r. Let pi be the 0, 1 vector that picks out
the arcs in P. and orients them so that they are alter
1
nating, with the arc incident at node i innerdirected.
Then in pi the net degree of node i is +1 and that of all
other nodes is 0 (see Example Al.1), so that Tp. = e..
Then if P is the m x m matrix whose ith colum is p., we
11
have TP = I, so that P = T
(ii) Suppose T is the m x m graph matrix of a bloom.
In this case the odd cycle plays a role similar to that of
a root node. For any node i there is a unique path P. to
1
the odd cycle C. Now let Pi be the vector that identifies
arcs by entries 1 for arcs in Pi, 1/2 for arcs in C, and
0 for all other arcs of T. Furthermore let the signs of
the entries in pi be chosen to orient the arcs of P. u C
to form an alternating path with the arc incident at node i
80
innerdirected. Then in pi the net degree of node i is +1
and that of all other nodes is 0 (see Example Al.2), so
that Tpi = e.. Then if P is the m x m matrix whose ith
1co
column is pi, TP = I so that P = Ti
Let T =
1 2 3 4 5
1 0 0 0 0
1 1 0 0 0
0 0 1 0 0
0 1 1 .1 1
L0 0 0 1 0
corresponding to the tree
2 3
IF\
'1
with root node F.
Example Al.1: The inverse of a tree matrix.
Then pa = [+1, 1, 0, 0, +1]t, corresponding to the
alternating path
A
+1
B
1
D
+1
I\
in which only node A has net degree f 0, so that Tp =
a
[1, 0, 0, 0, 0t.
Continuing, we compute
1
T
PA
1
1
0
1
PB
0
1
0
1
PC
0
0
1
1
PE
0
0
0
1
Example Al.1 (continued)
83
1 2 3 4 5 6
A 1 0 0 0 0 0
B 1 1 0 0 0 0
C 0 0 1 0 0 0
Let T =
D 0 1 1 1 1 0
E 0 0 0 1 0 1
F 0 0 0 0 1 1
corresponding to the bloom
Example Al.2: The inverse of a bloom matrix.
84
Then p = [+1, 1, 0, +, +, ], corresponding to the
weighted alternating path
A
+1
B
1
D
E F
in which only node A has net degree 3 0, so that Tp =
a
[1, 0, 0, 0, 0, 0]t
Continuing, we compute
1
T =
PA
1
1
i
0

PB
0

0
2
PC
0
0
1


%
PD
0
0
0
1
2
2
1
PE
0
0
0
2

PF
0
0
0

1
Example A1.2 (continued)
APPENDIX 2
RECOGNIZING A GENERAL MATCHING PROBLEM
The most general form of a matching matrix, that of
Requirement 2', may be interpreted as the nodearc incidence
matrix of a socalled "bidirected" graph [15]. According
to this scheme, the rows of the matrix correspond to nodes
of the graph, and the columns to arcs, where
(i) a column with one +1 and one 1 corresponds to a
directed arc, i.e., one with a tail on one end and a head
on the other.
(ii) a column with two +1's (l's) corresponds to an
inner (outer) directed arc, i.e., one with a tail (head)
at each end.
(iii) a column with one +1 (1) corresponds to a "spike,"
i.e., an arc with a tail (head) at the node end.
(iv) a column with one +2 (2) corresponds to a loop,
i.e., an arc with both ends incident at the same node, with
a tail (head) at each end. Such arcs are inner (outer)
directed.
With this enlarged metaphor, it is possible to extend Lemma
2.3 to
Lemma 2.3': A bidirected graph matrix is nonsingular iff
it is the full rowrank matrix of a bidirected graph with at
86
most one cycle, that cycle having an odd number of undirected
(i.e., inner or outerdirected) arcs.
We will call the graph of Lemma 2.3' a bidirected bloom.
Then the same sort of argument as Section 2.4 establishes
Theorem 2.4': Problem (2.7) is a matching problem (general
ized version) iff there exists some bidirected bloom for
which A describes paths such that the net degree of any
interior node (other than possibly a root node) is 0.
BIBLIOGRAPHY
[1] Aho, A. V., J. E. Hopcroft, J. D. Ullman, The Design
and Analysis of Computer Algorithms, AddisonWesley
Publishing Company, Reading, Massachusetts, 1974.
[2] Baker, K. R., "Scheduling a FullTime Work Force to
Meet Cyclic Staffing Requirements," Management Science
Vol. 20, No. 12, August 1974.
[3] Baker, K. R., "Workforce Allocation in Cyclical
Scheduling Problems: Models and Applications," Paper
No. 122, June 1975, Graduate School of Business
Administration, Duke University, Durham, N.C.
[4] Bartholdi, J. J. and H. D. Ratliff, "Unnetworks, with
Applications to Idle Time Scheduling," Research Report
No. 774, April 1977, Inductrial and Systems
Engineering Department, University of Florida, Gaines
ville, Florida.
[5] Bratley, P., M. Florian, and P. Robillard, "Scheduling
with Earliest Start and Due Date Constraints," Naval
Research Logistics Quarterly, Vol. 18, No. 4, December
1971, pp. 51119.
[6] Brownell, W. S. and J. M. Lowerre, "Scheduling of Work
force Required in Continuous Operations Under Alternative
Labor Policies," Management Science, Vol. 22, No. 5,
January 1976, pp. 597605
[7] Chen, D. S., "A Simple Manpower Scheduling Algorithm
for Two Consecutive Days Off," presented at the ORSA/
TIMS Joint National Meeting, Miami, Florida, November
1976.
[8] Dantzig, G. B. and D. R. Fulkerson, "Minimizing the
Number of Tankers to Meet a Fixed Schedule," Naval
Research Logistics Quarterly, Vol. 1, 1964, pp. 21722.
[9] Dantzig, G. B. and A. F. Veinott, "Integral Extreme
Points," SIAM Review, Vol. 10, No. 3, July 1968, pp.
3712.
[10] de Werra, D., "On Some Combinatorial Problems
Arising in Scheduling," Working Paper No. 20, N.D.,
Department of Management Science, University of
Waterloo, Waterloo, Ontario.
[11] Dorsey, R. C., T. J. Hodgson, H. D.Ratliff, "An
Efficient Integer Programming Algorithm for a Multi
Facility, MultiProduction Production Scheduling
Problem," Research Report No. 738, January 1973,
Industrial and Systems Engineering Department, Univer
sity of Florida, Gainesville, Florida.
[12] Dorsey, R. C., T. J. Hodgson, and H. D. Ratliff, "A
Network Approach to a MultiFacility, MultiProduct
Production Scheduling Problem without BackOrdering,"
Management Science, Vol. 21, No. 7, March 1975, pp.
81322.
[13] Edmonds, J., "Paths, Trees, and Flowers," Canadian
Journal of Mathematics, Vol. 17, 1965, pp. 44967.
[14] Edmonds, J. and E. L. Johnson, "Matching: A Well
Solved Class of Integer Linear Programs," in Combina
torial Structures and Their Applications, Gordon and
Breach, New York, 1970, pp. 8992.
[15] Edmonds, J., E. L. Johnson, and S. C. Lockhart, "Blossom
I: A Computer Code for the Matching Problem," from a
series of instructional lectures entitled "Optimum
Matching and Polyhedral Combinatorics," given by J.
Edmonds and W. Pulleyblank at the Johns Hopkins
University, Baltimore, Maryland, June 26, 1975.
[16] Edmonds, J. and R. M. Karp., "Theoretical Improvements
in Algorithmic Efficiency for Network Flow Problems,"
Journal for the Association of Computing Machinery,
Vol. 19, No. 2, April 1972, pp. 24864.
[17] Ford, L. R. and D. R. Fulkerson, Flows in Networks,
Princeton University Press, Princeton, New Jersey, 1962.
[18] Fujii, M., T. Kasami, and K. Ninomiya, "Optimal Sequencing
of Two Equivalent Processors," SIAM Journal of Applied
Mathematics, Vol. 17, No. 4, July 1969, pp. 7849.
[19] Fulkerson, D. R. and O. A. Gross, "Incidence Matrices
and Interval Graphs," Pacific Journal of Mathematics,
Vol. 15, No. 3, 1965, pp. 83555.
[20] Garfinkel, R. and G. Nemhauser, Integer Programming,
John Wiley and Sons, New York, New York, 1972.
[21] Geoffrion, A. and R. Nauss, "Parametric and Post
optimality Analysis in Integer Linear Programming,"
Management Science, Vol. 23, No. 5, January 1977,
pp. 45366.
[22] Glover, F. and D. Klingman, "On the Equivalence of
Some Generalized Network Problems to Pure Network
Problems," Mathematical Programming, Vol. 4, No. 3,
June 1973, pp. 26978.
[23] Glover, F., D. Klingman, and G. T. Ross, "Finding
Equivalent Transportation Formulations for Constrained
Transportation Problems," Research Report CS 107,
Center for Cybernetic Studies, University of Texas,
Austin, Texas, January 1973.
[24] Guha, D., "An Optimal Procedure for Allocating Man
power with Cyclic Requirements: General Case,"
Working Paper, February 1976, courtesy of D. Guha,
The Port Authority of New York and New Jersey, One
Path Plaza, Third Floor, Jersey City, N. J. 07306.
[25] Harary, F., Graph Theory, AddisonWesley Publishing
Company, Inc., Reading, Massachusetts, 1969.
[26] Heller, I., "On Unimodular Sets of Vectors," in R. L.
Graves and P. Wolfe (eds.), Recent Advances in Math.
Programming, McGrawHill, New York, New York, 1963.
[27] Hoffman, A. J. and J. B. Kruskal, "Integral Boundary
Points of Convex Polyhedra," in H. W. Kuhn and A. W.
Tucker (Eds.), Linear Inequalities and Related Systems,
Annals of Mathematics Studies, No. 38, Princeton, N. J.,
1956.
[28] Iri, M., "A Criterion for the Reducibility of a Linear
Programming Problem to a Linear Network Flow Problem,"
RAAG Research Notes, Third Series, No. 98, February
1966.
[29] Iri, M., "On the Synthesis of Loop and Cutset Matrices
and the Related Problems," RAAG Memoirs, Vol. 4, 1968,
pp. 438.
[30] Iri, M., Network Flow, Transportation, and Scheduling,
Academic Press, New York, New York, 1969.
[31] Johnson, E., "Programming in Networks and Graphs,"
ORC 651, Operations Research Center, University of
California at Berkeley, Berkeley, California, January
1965.
[32] Karp, R. M., "Reducibility Among Combinatorial
Problems," in R. Miller, J. Thatcher, and J.
Bohlinder (eds), Compexity of Computer Computations,
Plenum Press, New York, 1972, pp. 85103.
[33] Klingman, D., "Equivalent Network Formulations for
Constrained Networks," Management Science, Vol. 23,
No. 7, March 1977, pp. 73744.
[34] Koehler, G., "yb n Matrices," Working Paper, August
1976, Department'of Management, University of Florida,
Gainesville, Florida.
[35] Lawler, E., "Sequencing the Weighted Number of Tardy
Jobs," Rev. Francaise Automat. Informat. Recherche
Operationelle, to appear.
[36] Love,.R. R., Jr. and R. R. Vermuganti, "SinglePlant
MultiCommodity Production and Distribution Scheduling
with Capacity and Changeover Restrictions," Working
Paper, 1975.
[37] Orlin, J., "Quick Optimal Weekly Scheduling with Two
Consecutive Days Off," Technical Report 771, January
1977, Department of Operations Research, Stanford
University, Stanford, California.
[38] Padberg, M. W., "Characterizations of Totally Uni
modular, Balanced, and Perfect Matrices," in B. Roy
(ed.), Combinatorial Programming: Methods and Applica
tions, B. Reidel Publishing Co., Dordrecht, Holland,
1975.
[39] Tibrewala, R., D. Philippe, and J. Browne, "Optimal
Scheduling of Two Consecutive Idle Periods,"
Management Science, Vol. 19, No. 1, September 1972,
pp. 715.
[40] Tucker, A., "Matrix Characterizations of Circular Arc
Graphs," Pacific Journal of Mathematics, Vol. 39, No.
2, 1971, pp. 53545.
[41] Veinott, A. F., Jr. and H. M. Wagner, "Optimal Capacity
Scheduling I and II," Operations Research, Vol. 10,
No. 4, 1962, pp. 51846.
[42] Weinberger, D. B., "Network Flows, Minimum Coverings,
and the Four Color Conjecture," Operations Research,
vol. 24, No. 2, MarchApril 1976, pp. 27290.
[43] Wilde, D. J., Optimum Seeking Methods, PrenticeHall,
Inc., Englewood Cliffs, N. J., 1964.
BIOGRAPHICAL SKETCH
John Bartholdi was born 20 January, 1947, in San
Diego, California. Most of his early education was in
the public school system of Pensacola, Florida, where
his father retired from the Navy to raise greyhounds.
The family dogs helped support him through his under
graduate studies at the University of Florida, where
he majored in mathematics and received a B.A. with High
Honors in 1968. At the same time he was elected to Phi
Beta Kappa and named a Woodrow Wilson Fellow. In 1969
he was commissioned an officer in the Navy as had been
his father and grandfather before him. During three years
as a paratrooper in Beach Jumper Unit One, he made two
deployments to Southeast Asia, where he took cheerful ad
vantage of opportunities to travel through Borneo, Singa
pore, the Philippine Islands, Hong Kong, Okinawa, and Japan.
On rejoining civilian life in 1971, he returned to the
University of Florida to study mathematics (M.S., 1973)
and Industrial and Systems Engineering (M.S., 1976; Ph.D.,
1977).
John's tastes tend to fanaticisms rather than hobbies,
and include reading, longdistance running, and cooking for
his friends.
I certify that I have read this study and that in my
opinion it conforms to acceptable standards of scholarly
presentation and is fully adequate, in scope and quality,
as a dissertation for the degree of Doctor of Philosophy.
H. Donald Ratliff, Chair
Professor of Industrial
Systems Engineering
I certify that I have read this study and that in my
opinion it conforms to acceptable standards of scholarly
presentation and is fully adequate, in scope and quality,
as a dissertation for the degree of Doctor of Philosophy.
Richard .L. Francis
Professor of Industrial and
Systems Engineering
I certify that I have read this study and that in my
opinion it conforms to acceptable standards of scholarly
presentation and is fully adequate, in scope and quality,
as a dissertation for the degree of Doctor of Philosophy.
Thornm J. Hod son
Associate PrOfessor of Industrial
and Systems Engineering
I certify that I have read this study and that in my
opinion it conforms to acceptable standards of scholarly
presentation and is fully adequate, in scope and quality,
as a dissertation for the degree of.Doctor of Philosophy.
Gary Koehler
Associate Professor of Management
I certify that I have read this study and that in my
opinion it conforms to acceptable standards of scholarly
presentation and is fully adequate, in scope and quality,
as a dissertation for the degree of Doctor of Philosophy.
Timothy J. owe
Associate Professor of Industrial
and Systems Engineering
This dissertation was submitted to the Graduate Faculty of
the College of Engineering and to the Graduate Council,
and was accepted as partial fulfillment of the requirements
for the degree of Doctor of Philosophy.
August 1977
ean, College of Engineering
Dean, Graduate School
'' *' i
