• TABLE OF CONTENTS
HIDE
 Title Page
 Dedication
 Acknowledgement
 Table of Contents
 Abstract
 Introduction
 Unimodular and totally unimodular...
 A field guide to indentifying network...
 Circular 1's and cyclic staffi...
 What does it all mean?
 Inverting a nonsingular graph...
 Recognizing a general matching...
 Bibliography
 Biographical sketch
 Copyright














Title: Scheduling via networks, unnetworks, and almost networks
CITATION THUMBNAILS PAGE IMAGE ZOOMABLE
Full Citation
STANDARD VIEW MARC VIEW
Permanent Link: http://ufdc.ufl.edu/UF00090220/00001
 Material Information
Title: Scheduling via networks, unnetworks, and almost networks
Series Title: Scheduling via networks, unnetworks, and almost networks
Physical Description: Book
Creator: Bartholdi, John Joseph,
 Record Information
Bibliographic ID: UF00090220
Volume ID: VID00001
Source Institution: University of Florida
Holding Location: University of Florida
Rights Management: All rights reserved by the source institution and holding location.
Resource Identifier: alephbibnum - 000063571
oclc - 04212991

Table of Contents
    Title Page
        Page i
    Dedication
        Page ii
    Acknowledgement
        Page iii
        Page iv
    Table of Contents
        Page v
        Page vi
    Abstract
        Page vii
    Introduction
        Page 1
        Page 2
        Page 3
    Unimodular and totally unimodular matrices
        Page 4
        Page 5
        Page 6
    A field guide to indentifying network flow and matching problems
        Page 7
        Page 8
        Page 9
        Page 10
        Page 11
        Page 12
        Page 13
        Page 14
        Page 15
        Page 16
        Page 17
        Page 18
        Page 19
        Page 20
        Page 21
        Page 22
        Page 23
        Page 24
        Page 25
        Page 26
        Page 27
        Page 28
        Page 29
        Page 30
        Page 31
        Page 32
        Page 33
        Page 34
        Page 35
        Page 36
        Page 37
        Page 38
        Page 39
        Page 40
        Page 41
        Page 42
        Page 43
        Page 44
        Page 45
        Page 46
        Page 47
        Page 48
        Page 49
        Page 50
        Page 51
        Page 52
        Page 53
        Page 54
    Circular 1's and cyclic staffing
        Page 55
        Page 56
        Page 57
        Page 58
        Page 59
        Page 60
        Page 61
        Page 62
        Page 63
        Page 64
        Page 65
        Page 66
        Page 67
        Page 68
        Page 69
        Page 70
        Page 71
        Page 72
        Page 73
        Page 74
        Page 75
    What does it all mean?
        Page 76
        Page 77
        Page 78
    Inverting a nonsingular graph matrix
        Page 79
        Page 80
        Page 81
        Page 82
        Page 83
        Page 84
    Recognizing a general matching problem
        Page 85
        Page 86
    Bibliography
        Page 87
        Page 88
        Page 89
        Page 90
    Biographical sketch
        Page 91
        Page 92
        Page 93
    Copyright
        Copyright
Full Text
















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 392-4924). 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 N0014-76-C-0096 and

the Army Research Office under contract number DAHC04-75-G-

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 Round-Off 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 0-1 constraint matrices. Since

the general integer linear program is NP-complete, 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 continuous-valued results cleverly

rounded-off 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 NP-complete 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 minimum-cost 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

graph-theoretical 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 row-rank 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
+ B-N -1
+ B N = B (B, xN) > 0} has integer extreme points

for all integer b. Since B is unimodular, B-lb 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 b-matching 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-

teger-constrained 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 [28-30]. 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 "inner-directed." 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 node-arc 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 integer-valued, and

Requirement 2: The constraint matrix is the node-arc 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 row-rank 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 row-rank 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 arc-chain 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 arc-chain inci-

dence matrix.

Proof: Since each step of the argument can be made "if-and-

only-if," 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 arc-chain 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


arc-chain 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 arc-chain 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 b-matching problem

and so solvable with guaranteed efficiency. Again, let A be

a 0, 1 matrix and b, c integer-valued 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 integer-valued, and

Requirement 2: The constraint matrix is the node-arc 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 row-rank 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 "inner-directed." 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


6-1


Such an arc will be called "outer-directed."










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 outer-directed, 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 inner-directed.

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

inner-directed 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 inner-directed 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 inner-directed 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 arc-path incidence matrix such that each path

(i) has inner-directed 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 "if-and-

only-if," 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 arc-path 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 b-matching 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 inner-directed 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 0-1 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 time-off 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, time-off 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 0-1 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. [E-A]y < s b (3.4)

y> 0, integer


Note that the matrix E-A = 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 [E-A]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 [E-A]y = [E-A]y* +


[E-A] 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. [E-A]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 b-matching 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 Round-Off Result

A rather surprising round-off result, similar to that

obtained by Weinberger [42], holds for special versions of

problem (3.3).

Consider the continuous-valued relaxations of problems

(3.3) and (3.4),


min Ix

s.t. Ax > b (3.5)

x> 0

and

max ly

s.t. [E-A]y < s b (3.6)

y 0


respectively. Then letting z* be the optimal function value

of the continuous-valued problem (3.5) and s* that of the

integer-restricted 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 E-A is totally unimodular, (3.6)
has integral extreme points and the round-off 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 b-matchings (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 non-consecutive 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 round-off 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
E-A2


0
E-A1
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. [E-A]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 integer-valued, 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 continuous-valued linear programs (e.g., Geoffrion

and Nauss [21]).

Q.E.D.
Therefore an efficient convex search technique such-as

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 eight-hour 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

minimum-cost 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 row-reducing 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
-1-if 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-

teger-constrained 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 (cl-c2)y1 + (c2-c3)2 + (c3-c4)Y3 + (c4-c5)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 (c1-c2)1 + (c2-c3)Y2 + (c3-c4)Y3 + (c4-c5)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 continuous-valued 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 worst-case 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 so-called "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 n-1
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 round-off 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 continuous-valued

relaxation of (4.19); then y* = (y' y,1 ...,Fy') solves

the integer-restricted 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), ra-bi + Fbl > [al so that Fbi [al -Fa-bl = [b-aJ

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 continuous-valued 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) Round-up 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: 0700-1500,

1500-2300, and 2300-0700. 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 round-off 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 "meta-algorithms" 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 custom-tailored branch-and-bound algorithms.

The round-off 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 continuous-valued answers.

Thus two major avenues of inquiry are indicated:

tractable kernels and round-off.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 row-rank 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 inner-directed.

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


inner-directed. 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 = T-i

















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 node-arc incidence

matrix of a so-called "bi-directed" 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 bi-directed graph matrix is nonsingular iff

it is the full row-rank matrix of a bi-directed graph with at






86


most one cycle, that cycle having an odd number of undirected

(i.e., inner- or outer-directed) arcs.

We will call the graph of Lemma 2.3' a bi-directed 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 bi-directed 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, Addison-Wesley
Publishing Company, Reading, Massachusetts, 1974.

[2] Baker, K. R., "Scheduling a Full-Time 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. 77-4, 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. 511-19.

[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. 597-605

[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. 217-22.

[9] Dantzig, G. B. and A. F. Veinott, "Integral Extreme
Points," SIAM Review, Vol. 10, No. 3, July 1968, pp.
371-2.










[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, Multi-Production Production Scheduling
Problem," Research Report No. 73-8, 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 Multi-Facility, Multi-Product
Production Scheduling Problem without Back-Ordering,"
Management Science, Vol. 21, No. 7, March 1975, pp.
813-22.

[13] Edmonds, J., "Paths, Trees, and Flowers," Canadian
Journal of Mathematics, Vol. 17, 1965, pp. 449-67.

[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. 89-92.

[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 2-6, 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. 248-64.

[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. 784-9.

[19] Fulkerson, D. R. and O. A. Gross, "Incidence Matrices
and Interval Graphs," Pacific Journal of Mathematics,
Vol. 15, No. 3, 1965, pp. 835-55.

[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. 453-66.

[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. 269-78.

[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, Addison-Wesley 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, McGraw-Hill, 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. 4-38.

[30] Iri, M., Network Flow, Transportation, and Scheduling,
Academic Press, New York, New York, 1969.

[31] Johnson, E., "Programming in Networks and Graphs,"
ORC 65-1, 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. 85-103.

[33] Klingman, D., "Equivalent Network Formulations for
Constrained Networks," Management Science, Vol. 23,
No. 7, March 1977, pp. 737-44.

[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, "Single-Plant
Multi-Commodity 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 77-1, 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. 71-5.

[40] Tucker, A., "Matrix Characterizations of Circular Arc
Graphs," Pacific Journal of Mathematics, Vol. 39, No.
2, 1971, pp. 535-45.

[41] Veinott, A. F., Jr. and H. M. Wagner, "Optimal Capacity
Scheduling I and II," Operations Research, Vol. 10,
No. 4, 1962, pp. 518-46.

[42] Weinberger, D. B., "Network Flows, Minimum Coverings,
and the Four Color Conjecture," Operations Research,
vol. 24, No. 2, March-April 1976, pp. 272-90.

[43] Wilde, D. J., Optimum Seeking Methods, Prentice-Hall,
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, long-distance 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




University of Florida Home Page
© 2004 - 2010 University of Florida George A. Smathers Libraries.
All rights reserved.

Acceptable Use, Copyright, and Disclaimer Statement
Last updated October 10, 2010 - - mvs