Scarf's Procedure for Integer Programming and a Dual Simplex Algorithm Author(s): Philip M. White, Andrew S. Caplin, Ludo Van Der Heyden Source: Mathematics of Operations Research, Vol. 10, No. 3 (Aug., 1985), pp. 439-449 Published by: INFORMS Stable URL: http://www.jstor.org/stable/3689638 Accessed: 09/07/2010 16:16 Your use of the JSTOR archive indicates your acceptance of JSTOR's Terms and Conditions of Use, available at http://www.jstor.org/page/info/about/policies/terms.jsp. JSTOR's Terms and Conditions of Use provides, in part, that unless you have obtained prior permission, you may not download an entire issue of a journal or multiple copies of articles, and you may use content in the JSTOR archive only for your personal, non-commercial use. Please contact the publisher regarding any further use of this work. Publisher contact information may be obtained at http://www.jstor.org/action/showPublisher?publisherCode=informs. Each copy of any part of a JSTOR transmission must contain the same copyright notice that appears on the screen or printed page of such transmission. JSTOR is a not-for-profit service that helps scholars, researchers, and students discover, use, and build upon a wide range of content in a trusted digital archive. We use information technology and tools to increase productivity and facilitate new forms of scholarship. For more information about JSTOR, please contact
[email protected].
INFORMS is collaborating with JSTOR to digitize, preserve and extend access to Mathematics of Operations Research.
http://www.jstor.org
MATHEMATICS OF OPERATIONS Vol. 10, No. 3, August 1985 Printed in U.S.A.
RESEARCH
SCARF'SPROCEDUREFOR INTEGER PROGRAMMING AND A DUAL SIMPLEXALGORITHM* PHILIP M. WHITE, t ANDREW S. CAPLIN$
AND
LUDO VAN DER HEYDEN?
Scarf has recently introduced an algorithm for integer programs based on the combinatorial concept of primitive set. We show that as the decision variables of the integer program become continuous and the integer program reduces to a linear program, the Scarf algorithm converges to a dual simplex algorithm for the limit linear programming problem. This result is robust in the sense that even before the limit is reached, the dual simplex path is contained in the path of primitive sets generated by the Scarf algorithm.
1. Introduction. In a recent paper Scarf [198 la] has developed an algorithm for solving (linear) integer programming problems. The fundamental objects in this approach are primitive sets, which are a combinatorial construct first introduced in the computation of economic equilibria [Scarf 1973]. In the context of integer programming, a primitive set is a finite set of, say, k integral points jointly verifying a dual feasibility property for the integer programming problem: one element in the primitive set is an optimal solution for the integer programming problem obtained by deleting all but k - 1 constraints in the original problem and by placing the remaining constraints at each of the other k - 1 integral points in the primitive set. To solve an integer programming problem the Scarf algorithm generates a path of primitive sets and terminates as soon as a primitive set is found having a feasible integral solution. The dual feasibility property of primitive sets then insures that this feasible solution is optimal. The difficulty in applying Scarf's algorithm to integer programming problems lies in describing the movement between primitive sets. Primitive sets have so far been characterized only for integer programs of low dimension [Scarf 1981b, 1982]. For larger problems the algorithm is still conceptual. When the requirement that a solution be integral is replaced by the requirement that a solution be rational with fixed integer denominator h, the set of feasible solutions is enlarged. For each grid size h there is a sequence of primitive sets which leads to the solution of the corresponding integer programming problem. In the limit as h becomes large, this integer program reduces to the corresponding linear program, i.e., the programming problem with the integral restriction omitted. In this paper we examine the properties of Scarf's integer programming algorithm in the limit. We show that as the grid is refined, primitive sets reduce to dual feasible solutions for the limit linear programming problem and the algorithm converges to a particular dual simplex algorithm. In general, dual simplex procedures for linear * Received March 26, 1984. AMS 1980 subject classification. Primary: 90C 10. Secondary: 90C05. OR/MS Index 1978 subject classification. Primary: 627 Programming/Integer. Key words. Scarf algorithm, integer programming, linear programming, dual simplex algorithm, primitive sets. tPrinceton University. Support from the Social Sciences and Humanities Research Council of Canada is gratefully acknowledged. *Harvard University. ?Yale University. Support from the Cowles Foundation and from the U.S. Office of Naval Research (Contract Number N00014-77C-0518) are gratefully appreciated. 439 0364-765X/85/1003/0439$01.25
Copyright ? 1985, The Institute of Management Sciences/Operations
Research Society of America
440
PHILIP M. WHITE, ANDREW S. CAPLIN & LUDO VAN DER HEYDEN
programmingmonotonicallyreducethe objectivefunctionwhile at any point violating ' a number of constraints,say jI cj, j = 0, 1 . . , m, is bounded. I
The threecomponentsof the algorithmare: (i) the definitionof a primitiveset, (ii) a replacementoperationwhich defines movementbetween adjacentprimitivesets, and (iii) a labeling rule for the lattice points which specifies a particularsequence of primitivesets followedby the algorithmto find the optimum. The definition of a primitive set is derived from the following constructive proce-
dure. Place the inequalitiesajx > c, j = 0, 1, . . ., m, so that the regionthey enclose is free of integerlatticepoints. Assumption(2.1) ensuresthat such a regionexists.Relax
SCARF'S ALGORITHM FOR INTEGER PROGRAMS
I a2>c2
~ X
/
"^
a.
/\i\ a A lattice
*
b.
> c
'ax
2 2A
*ax
441
1
>c0
\/ .
a
free region defined by the inequalities a x > c. , i * 0, 1, 2 .
"
2 >A
The primitive set {x x, x, of these inequalities. DIAGRAM
arising
from a relaxation
1
back one of the inequalitiesby decreasingthe value of its right-handside until it hits a lattice point which is accepted by the other inequalities.Leave this inequalityin its new position. The new larger region still has no lattice points in its interior.Relax anotherinequalityuntil it hits a lattice point which is acceptedby other inequalities. Continuethe processby successivelyrelaxingeach of the inequalitiesto its own lattice point. This procedure, which is illustrated in Diagram 1, identifies a particular primitiveset of latticepoints. In the courseof this construction,two difficultiesmay arise.First,it may be possible to remove an inequalityentirelywithout introducingany new lattice point. To deal with this case we introducea set of ideal lattice points called slackswhich allow us to say that everyinequalityrelaxesto its own latticepoint. DEFINITION 2.2 (Slack lattice points). The lattice points in Z" are augmented by m + 1 slacks s?,s. . s such that ais = - oo and as i = + oo for-7 j i. *
The second difficultyarisesif, as an inequalityrelaxes,it simultaneouslyhits several lattice points which are acceptedby the otherinequalities.It is readilyverifiedthat the followingnondegeneracyassumptionensuresthat the relaxedinequalityand the other inequalitiesadmit simultaneouslyat most a finite numberof lattice points. 2.3. Nondegeneracyassumption. Every n x n submatrix of the (m + 1) x n matrix A = [ao,at, ..., at]t has full rank. I
With this assumption,we can ensure that the lattice point first encounteredby an inequalityis well definedby adoptinga lexicographictie-breakingrule over the lattice points in the hyperplane aix = ci. DEFINITION 2.4 (Lexicographic tie-breaking rule). For any two points y and z, acy is lexicographicallylargerthan aiz, denotedacy>lexaiz, if (i) avy > aiz or
442
PHILIP M. WHITE, ANDREW S. CAPLIN & LUDO VAN DER HEYDEN
(ii) a,y = a,z
and for some k, 0 < k < m, ajy = ajz,j = 0,1, . ..,k1, aky >akz. I To summarize the above discussion, we formally define a primitive set. DEFINITION2.5 (Primitive set).
A set {x?o,
. ... , xm } of lattice points and slacks
is a primitive set if there is no lattice point x which satisfies all the inequalities I aix >lexlexmin=0, ..., m(aixj)fori=0,1,...,m. In a primitive set each inequality is placed at the lattice point where it attains its minimum, ties being broken lexicographically. Observe that each lattice point is thereby associated with precisely one inequality. Unless it is otherwise apparent, we shall adopt the notational convenience that the ith inequality attains its minimum on the primitive set at x'. A variety of different primitive sets may be obtained by commencing the above construction with different lattice free regions or by performing the relaxations in a different order. The reader may convince himself that assumptions 2.1 and 2.3 guarantee that the constructive procedure as described is well defined and will generate all possible primitive sets associated with the given matrix A. We now turn to the replacement operation defining movement between adjacent primitive sets. It is carried out as follows. An element, say x1, of a primitive set {x?,x . . ., x} is removed from the set by pressing in the ith inequality from x' until it hits some other element, say xk, of the primitive set. The replacement for xi is determined by then relaxing the kth inequality until it hits a lattice point, y, which using lexicographic tie-breaking rule (2.4) is strictly accepted by the other inequalities, including the ith in its new position at xk. A new primitive set has been obtained from the old one by replacing x' by y. It is useful to note that if y were now removed from the new primitive set, its replacement would be x'. Thus the operation is reversible. The replacement operation is illustrated in Diagram 2. The final element necessary for the full description of the algorithm is a labeling of each lattice point with an integer from the set {0,1 . . ., m}. Notice that the labeling gives slack si label i. DEFINITION2.6 (Labeling). Each lattice point x is given an integer label 1(x) equal to the index of the last violated constraint at x. That is 1(x) = i if a,x < bi and ajx > b. forj > i. If ajx > bj,j = 1,2,..., m, then l(x) =0. I The labeling associates with a primitive set {x?,x1, . . ., xm} a set of labels { 1(x?),1(xI), . . . l(x)}. Two types of primitive set are of particular interest.
/I
? //
2. The replacement for x? in the primitive set x?, x x2} is v. DIAGRAM
SCARF'S ALGORITHMFOR INTEGER PROGRAMS
443
DEFINITION 2.7 (Completely and almost completely labeled primitive sets). A primitive set is said to be completely labeled if its set of labels is {0, 1, . . ., m}. The
primitive set is said to be almost completely labeled if its label set misses only label 0. I
Finding a completely labeled primitive set is equivalent to solving the integer programming problem. In a completely labeled primitive set the lattice point with label 0 is the solution to the integer programming problem. By the nature of the labeling this lattice point is certainly feasible. The definition of a primitive set requires that there be no lattice point x satisfying all the inequalities aix >lexa,ix. Since one of the points in the primitive set bears label i, aix' < bi. Hence no lattice point x satisfies aix > bi,, i = 1,2, . . ., m, and aox >lex aoxO.This shows that l(x?) = 0 and that x? is the solution to the integer programming problem. In.Scarf's algorithm the search for a completely labeled primitive set proceeds through a sequence of almost completely labeled primitive sets. In such a primitive set two lattice points share a common label. At a typical position for the algorithm one of these two lattice points was just introduced into the primitive set and the other is removed according to the replacement operation described above. The algorithm terminates if the incoming lattice point bears label 0. If not, a new almost completely labeled primitive set is reached and the algorithm continues by removing from the primitive set the lattice point which shares a label with the incoming point. As demonstrated in Scarf [198 la], the family of all almost completely primitive sets is ordered by this procedure into a single sequence leading to the unique completely labeled primitive set. 3. The limit procedure. To motivate the limit algorithm, we provide a heuristic discussion of primitive sets and labeling for the linear programming problem. Recall from ?2 that for a placement of a subset of the inequalities to define a primitive set it is necessary that no lattice point be strictly accepted by all inequalities. In the limit no point, integral or not, can be strictly accepted by the inequalities, so that satisfaction of this condition forces the placement of the inequalities to define a region with empty interior. Thus under the nondegeneracy assumption the geometric picture of the limit analogue is a subset of the inequalities placed through a given point and accepting only that point. The inequalities not involved in this picture are at their respective slacks. Under the nondegeneracy assumption the condition that a group of inequalities placed at a single point accept no other point is equivalent to the existence of a positive linear combination of the normals of these inequalities which equals zero. As a special case, when the subset of inequalities includes the objective function and exactly n constraint functions, this corresponds to a dual feasible basis familiar from the simplex algorithm. We shall extend the standard definition of dual feasible basis to include any n + 1 rows of the matrix A which when placed through a point form a limit primitive set. DEFINITION 3.1 (Dual feasible basis). n + 1 rowsjo,j, ... ,jn of the matrix A form a dual feasible basis if there exists a positive vector p = (po, pj,..., pj) such that + = 0. I + + aj pj pj0a0opj..a, We later make use of the fact that when some additional inequality is introduced into a dual feasible basis, the nondegeneracy assumption ensures that one and only one of the other inequalities can be dropped while maintaining the remaining inequalities as a dual feasible basis. This operation, which is the limit form of the replacement of one slack by another in a primitive set, corresponds to a standard dual simplex pivot step. As the grid size is refined the nonslack lattice points in a primitive set for the
444
PHILIP M. WHITE, ANDREW S. CAPLIN & LUDO VAN DER HEYDEN
discrete problem become a single point with several inequalities passing through it. For this single point to maintain the label properties of primitive sets, the point must inherit all labels found in primitive sets converging to it. A limit point is therefore associated not only with its own label, but also with the labels of points arbitrarily close to it. Now consider a limit point, y, and let 0 < j, j, and either violates constraint jl or satisfies it with equality. The requirement thaty's label set also contain the indicesj2, j3 ,. . j, then forces the corresponding constraints to be met at y with equality. This discussion motivates the definition of the limit path which in later sections we demonstrate to have an intimate relationship with the path of the discrete algorithm. DEFINITION 3.2 (Limit path). The limit path consists of all points y for which there exist n constraints < jn such that jl < j2 < * satisfies all constraints with index greater than j: ajy > bj for allj > jl; (i) y .. . n and either violates or exactly satisfies satisfies constraints (ii) y exactly j23,j3 constraintjl: ajy = bj, for i = 2,3, .. ., n, a, y < bj,; (iii) Inequalities 0, l ^,2 ... ,nj form a dual feasible basis. I We now demonstrate that the limit path consists of a connected series of line segments leading to the optimal solution of the linear program. Consider tracing the path by moving from a representative point, y, toward the optimal solution. By definition y lies on the intersection of ajx = bj, for i = 2,3, . . ., n and satisfies the . . ,jn are placed throughy constraint a.x > bj forj >j,. When inequalities 0, jl,2, there are no other points accepted. We now perturb this system of inequalities by increasing the value of inequality j, and decreasing the objective function. The solutions for these inequalities lie on the line along which the equality constraints = a.x = b, for i 2,3, . . ., n intersect. This line is followed until one of two situations arises: (i) The path moves all the way to the intersection of the hyperplanes ajx = bj, for i = 1,2, . .. , n without violating any constraintj greater thanjl. At this stage, we have solved the linear program obtained by deleting constraints 1,2, . . . ,ji- 1. If in addition none of these constraints is violated then the intersection is the solution to the entire problem and the path ends. On the other hand, if some constraint with index less thanj, is violated, then the violated constraint with highest index, jo, is introduced into the dual feasible basis. One of the other inequalities drops out. If it is the objective function the problem is easily seen to be infeasible and the path terminates. Otherwise some inequality,jk, drops out and the path continues along the intersection of ajx = bj, for i = 1, . . . , k - 1, k + 1, . . . , n increasing the value of inequality jO and decreasing the value of the objective function. For the path to continue, this movement must satisfy constraint jk. To verify this, note that the replacement of inequalityjk with jo in the dual feasible basis implies that inequalities jk and jo increase in the same direction along the line ajx = b, for i = 1, . . ., k - 1,k + 1, . . . , n. Since the current position is left by increasing the value of inequality j0, the value of inequality jk must also increase, so that constraint jk remains satisfied. (ii) The second possibility is that as the point moves along the line ajx = bj, = i 2, 3, . . ., n, some inequality, say j0 with jo > j , becomes exactly satisfied. The path cannot move further along the line. Instead inequality j0 is brought into the dual feasible basis. If the objective function drops out of the dual feasible basis, then the problem is infeasible and the path terminates. Otherwise some other inequality drops
445
SCARF'S ALGORITHM FOR INTEGER PROGRAMS
t
DIAGRAM3. The limit path. The shaded region is the feasible region of the linear program whose constraints are represented by the inequalities 1,2, . . ., 6. The objective function (to be maximized) is represented by inequality 0. Vertex G is the optimal solution of this linear program. The limit procedure reaches G after visiting the vertices A, B, C, D. A standard dual simplex procedure, for which the pivoting rule was determined by the last violated constraint, successively visits the vertices A, B, E, F, G.
out. This inequality cannot be inequality j, for along the line ajx = bj for i = 2, 3, ..., n, inequalities jo and j, increase in opposite directions. Thus jo is not a . . j, Thereforea concandidate to replacejl in the dual feasible basis 0 jl2.,
straintjk with k > 2 drops out and the limit path continuesalong the line ajx = b,,
i = 0,2,3, .. ., k - 1,k + 1, ... , n, increasing the value of inequality jl and decreas-
ing the value of the objective function. An argumentsimilar to that above demonstratesthat moving in this directionkeeps constraintjk satisified. The limit procedurecorrespondsto a variantof the ordinarydual simplexmethod and can be carriedout with a sequence of dual simplex tableaux containingm + 1 columns and n + 1 rows. At a typical position in the ordinarydual simplexmethod, thereis a dual feasiblebasis includingthe objectivefunction.The algorithmrestsat the intersectionof the constraintsin the basis. An iterationinvolvesintroducinga violated constraintinto the dual feasiblebasis and movingto the intersectionof the constraints in the new basis. In the course of this step, no attention is paid to the violation of constraintsoutsidethe basis. In contrast,the limitprocedurewhen increasingthe value of the last violated constraintchangesdirectionso as not to violate a constraintwith higher index. The limit procedure and the ordinary dual simplex procedure are illustratedin Diagram3. The limit procedureis a special case of Van der Heyden'svariabledimension,i.e. constraintby constraint,algorithmfor the linear complementarityproblem[Van der Heyden 1980].Constraintby constraintsimplexmethodshave also recentlysurfaced in studies of the average computationalcomplexity of simplex methods for linear programming[Adler,Karp, and Shamir 1983].A parametricconstraintby constraint simplexmethod has been shown by severalauthorsto requirean expectednumberof steps which is at most quadraticin the numberof variables.We referto the final note in Adler, Karp, and Shamir[1983]for referenceson these noteworthydevelopments. 4. The limit path and the almost completelylabeled path. We now turn to our main resultswhich illuminatethe links betweenthe limit path and the path of almost completelylabeled primitivesets.
446
PHILIP M. WHITE, ANDREW S. CAPLIN & LUDO VAN DER HEYDEN
DEFINITION4.1.
Let
x?0,x',x2, . . , xm) be a primitive set. A pointy is said to be
contained in this primitive set if a,y > aix i, i = 0, 1,2, . . ., m. I THEOREM4.2. Everypoint on the limit path is contained inside a completely labeled or an almost completely labeled primitive set.
PROOF. Let y be on the limit path. Then there are inequalities1j < j2 < '' bj for j > j, and y is the only point satisfying ajx > ajy for j = 0, ji = 2,3, .... , n. j2, . . . ,n whereajiy= bi,for i
Considerthe placementof the inequalities
> 0,
aox > aoy+c, a x >b ,
0, ji
j
a.,x > aj,y.
The regiondefinedby these inequalitiesis empty.Constructa primitiveset by relaxing the inequalities
in the order 1,2,3, . . . I,I - l,0, j, j
+ 1, . . . , m. Inequalities
1
throughj, - I relax back to their own slacks since the region enclosed by the
remaining inequalities is empty. Thus the slacks si, i = 1,2, . . . , ji - 1, are members of the primitive set carrying labels 1 through j - 1.
The zeroth inequalityrelaxes to a lattice point or slack, x?, which satisfies constraints j, + 1 through m. Thus, 0 < l(x?) < j]. We also know that aoy > aox? since
the alternativewould leave the region empty at this stage. Thusy is containedin the closed regiondefined by the inequalitiesin theirpositionat this stage in the construction. This ensuresthaty is containedin the primitiveset which is obtainedby further relaxationof inequalitiesji throughm. It remainsto demonstratethat labelsj, throughm are elements of the label set. Inequalityjl relaxes to xi1 which satisfies constraintsj, + 1 throughm but violates constraint j, since ajxJ1 < ajy < bj. Thus 1(xJ') =l.
Similarly when inequality j is
relaxed for any j > j, it relaxes to a lattice point or slack, xJ, which satisfies all constraintswith index greaterthanj but violatesconstraintj. Thus l(xJ) =j. The constructed primitive set is (x?,si,s2,
. . . ,
I'xi',
+
..
x m}.
The
(m + 1) tuple of labels of this primitiveset is { l(x?),l(s'),
. . . , l(s -'),l(x),
lx'),
...,
(xm)}
=
l(x?), 1,2, . . . , m.
The primitiveset is completelylabeled if l(x?) = 0 and almost completelylabeled if l(x?) > O. I
It is interestingto note that the limit path is covered by a subset of the almost completelylabeledprimitivesets. In particularit is coveredby those primitivesets for which x? takes the doubled label and the doubled label is less than or equal to the index of the first nonslackelementaside from x?. These commentssuggestthat theremightbe almostcompletelylabeledprimitivesets which do not contain an element of the limit path. The following theoremdemonstratesthat this suggestionis false. 4.3. Every completely labeled or almost completely labeled primitive set THEOREM contains a point of the limit path. PROOF. Let {xO,sl
2,
.
, s
xj,1j+,.
.,
x m} be an almost completely la-
beled or completelylabeledprimitiveset for whichapartfromx?, whichmightbe s?,xi is the nonslackelementwith lowest indexj.
Since any point x satisfies aix > ais' = - oc, it suffices to show that there is a point
447
SCARF'S ALGORITHM FOR INTEGER PROGRAMS
of the limit path in the region defined by aox > a0x?,
akx > akxk
for
k > j.
(4.4)
Since some element in the primitive set bears label k, we know that akxk < bk for k > j. Thus l(xk) > k. Since slacks take their own label, label j is taken by either xJ or x?. Since akxk < bk for k > j, inequalities j + 1 through m in (4.4) can be pressed into their constraint position to obtain the smaller region aox > a0x?,
ajx > ajxj,
akx > bk
for
k > j.
This region is nonempty since either x? or xi satisfies constraintsj + 1 through m, and by the definition of a primitive set ao0x > aox? and ajx? > ajxJ. Now the zeroth inequality can be pressed in until a single pointy is left in the region. The pointy is the solution to the linear program maxa0x
s.t. ajx > ajxi,
akx > bk
for k > j.
This solution is associated with a dual feasible basis made up of the objective function and a subsetji < j2 < * * * bk for k > j and akJ= bk for k = j2, j3, . .n . If jl # j thena, y = b,. If j = j then ajy = ajx < bj. In either case, y lies on the limit path and by construction y is contained in the primitive set, proving Theorem 4.3. I Theorems 4.2 and 4.3 demonstrate the relationship between the limit path and the integer programming algorithm. The theorems hold regardless of grid size. For any fixed grid size the union of all points contained in the sequence of almost completely labeled primitive sets covers the limit path and each of these primitive sets contains a point of the limit path. Thus as the grid becomes finer the set of points contained in the almost completely labeled primitive sets converges to the limit path. 5. Monotonicity in the almost completely labeled path. Our purpose in this section is to demonstrate that certain monotonicity features of the limit path may also be discovered in the almost completely labeled path of the discrete problem. These properties of the discrete path are surprising since the Lemke and Howson argument [Lemke and Howson 1964] which establishes the path's convergence is purely combinatorial and does not involve monotonicity. In the limit procedure the violated constraint with highest index, jl, plays a distinguished role. Along the path, this index is monotonically nonincreasing. The algorithm moves to solve the linear program obtained by discarding constraints 1 through jl - 1, increasing the value of inequality jl while decreasing the value of the objective function. Having solved this subproblem, a new constraint with index less than j] replaces ji as the distinguished constraint. In order to show that the above features are present even before passing to the limit, we first define the value of an inequality at a primitive set. It is natural to assign to each inequality the value it assumes in its primitive set placement. The following definition continues to adopt the convention that over a primitive set {x?, x, .... ,xm} aix attains its (lexicographic) minimum at xi. DEFINITION5.1 (Value of an inequality at a primitive set). The value of the ith inequality at the primitive set x?,x', . . ., xm} is aix . * Scarf [1981a] already established that the value of the objective function is nonincreasing along the almost completely labeled path. His demonstration of this result is based on the ability to orient the graph of almost completely labeled primitive sets by examination of the labels. He observed that since one of the lattice points bears label k
448
PHILIP M. WHITE, ANDREW S. CAPLIN & LUDO VAN DER HEYDEN
for k > 1, akxk
k. This permits the definition of the increasing - i1, sequence of indices 0 = io < i1 < ? * < ip such that l(xh) = i^+l, h = 0,1, ....p and l(xJ) = j for j io, i . . . , ip . x'p- and x'P share label ip. At a typical position of the algorithm one of these two lattice points is about to be removed from the primitive set. To move in the direction of the completely labeled primitive set, one removes x'p- if p is even and x'p if p is odd. Given this orientation it becomes quite simple to demonstrate the monotonicity of the objective function in the discrete procedure. Recall that the value of the objective function at the primitive set {x?,xI, ... , xm} is aox?. The value of the objective function increases only if x? is replaced in the primitive set. This requires that x? and xi, share a label. But in this situation the orientation of the almost completely labeled path requires the replacement of xi' and not x?. Therefore the value of the objective function does not increase in the discrete procedure. To discuss the order in which constraints are resolved, we need to define the distinguished constraint at an almost completely labeled primitive set. DEFINITION 5.2 (Distinguished constraint). The distinguished constraint at an almost completely labeled primitive set is the constraint whose index is equal to the smallest of the labels of the nonslack lattice points in the primitive set. I
Let (x?,s1, s2.,
s.
k - 1xk,
xk + I . . .,
X')}
be an almostcompletelylabeledprimi-
tive set for which xk is the nonslack vector with lowest index aside from x?. Since l(xJ) > j, and slacks take their own labels, x? or xk must take label k. The index of the distinguished constraint equals k if l(x?) > k and equals l(x?) if l(x?) < k. To demonstrate that the index of the distinguished constraint never increases, it suffices to show that if only one nonslack point bears the label of the distinguished constraint, it is not removed from the primitive set. But if only one nonslack point bears this label and it is the double label, then l(x?) < k and x? shares the doubled label with a slack vector. In this case, the orientation requires the removal of the slack from the primitive set. This establishes the first similarity in the constraint resolution between the discrete and limit procedures. We now demonstrate that the value of the distinguished constraint does not decrease. Furthermore, the index of the distinguished constraint decreases only when the subproblem obtained by deleting constraints 1 to k - 1 has been solved. Notice that if 1(x?) < k then, as above, x? shares the doubled label with the l(x?)-slack, this slack is removed and the value of the distinguished constraint clearly increases. If l(x?) > k then the distinguished constraint is k. A replacement step removes xih with h = p - 1 if p is even and h = p if p is odd. In the course of the replacement, inequality ih is pressed in until it hits another element, say xi of the primitive set. The labeling of the elements in an almost completely labeled primitive set implies that either j = ih_ i or j > ih. The replacement of x h then proceeds by relaxing inequality j. Since 1 < k < iI, inequality k could be relaxed during a replacement step only if k = i1. But this requires that h = 0 or 2, which is excluded by the rules governing the replacement step. Thus the value of the distinguished constraint is nondecreasing. Let us consider the first time a replacement step introduces a lattice point, say x*, satisfying constraints k through m. Thus l(x*) < k and the index of the distinguished constraint decreases. To introduce such a point, xi' must have been replaced and in the course of the replacement step as inequality i, was pressed in, x? was the first point of the primitive set to be hit. Inequality 0 was subsequently relaxed until it hit x*. By the definition of a primitive set no lattice point satisfies all the inequalities: aoX > lex aox*,
ai,x >Iexai,x, aOX leX aOX* >
aix >lex aix ,
'~~~~~~~~~~~~~
i = O,i,.
SCARF'S ALGORITHM FOR INTEGER PROGRAMS
449
Inequalities1 to k - 1 are at theirown slacks.Since aixi < bi for i > k and aix? < bi,, no lattice point satisfies aox > lexaox*,
aix > bi ,
i > k.
Thus x* solves the subproblemobtainedby deletingthe first k - 1 constraints. THEOREM5.3. Along the path of almost completely labeled primitive sets the index of the distinguishedconstraint,k, never increases. Furthermore,the value of the distinguished constraint never decreases and the index of the distinguished constraint decreases only when the subproblemobtained by discarding constraints 1 throughk - 1 has been solved. I
References Adler,I., Karp,R. and Shamir,R. (1983).A Familyof SimplexVariantsSolvingan m x d LinearProgram in Expected Number of Pivot Steps Depending on d Only. Report No. UCB/CSD 83/157, ComputerScienceDivision(EECS),Universityof California,Berkeley. and Extensions,PrincetonUniversityPress,Princeton,N.J. Dantzig,G. B. (1963).LinearProgramming Scarf, H. E. (1973). With the collaboration of T. Hansen. The Computationof CompetitiveEquilibria, Yale
UniversityPress,New Haven. .(198 la). ProductionSets with Indivisibilities.PartI. Generalities.Econometrica 49, 1-32. . (198lb). ProductionSets with Indivisibilities.PartII. The Case of Two Variables.Econometrica 49, 395-423. . (1982). IntegralPolyhedrain Three Space. Cowles FoundationDiscussionPaperNo. 632, Yale University,New Haven. Van der Heyden, L. (1980). A VariableDimensionAlgorithmfor the LinearComplementarity Problem. Math. Programming 19, 328-346. WHITE: DEPARTMENT OF ECONOMICS, PRINCETON UNIVERSITY, PRINCETON, NEW JERSEY 08544 CAPLIN: DEPARTMENT OF ECONOMICS, HARVARD UNIVERSITY, CAMBRIDGE, MASSACHUSETTS 02138
VAN DER HEYDEN: SCHOOLOF ORGANIZATIONAND MANAGEMENT,YALE UNIVERSITY,NEW HAVEN,CONNECTICUT06520