may be forced to perform degenerate iterations that fail to reduce the objective ... the presence of degeneracy, and so that it discourages degenerate iterations or.
Mathematical Programming 41 (1988) 281-315 North-Holland
281
A SIMPLEX ALGORITHM FOR PIECEWISE-LINEAR P R O G R A M M I N G Ih FINITENESS, FEASIBILITY AND DEGENERACY Robert
FOURER
Department of Industrial Engineering and Management Sciences, Northwestern University, Evanston, IL 60208, USA Received March 1985 Revised manuscript received 11 May 1987
The simplex method for linear programming can be extended to permit the minimization of any convex separable piecewise-linear objective, subject to linear constraints. Part I of this paper has developed a general and direct simplex algorithm for piecewise-linear programming, under convenient assumptions that guarantee a finite n u m b e r of basic solutions, existence of basic feasible solutions, and nondegeneracy of all such solutions. Part II now shows how these assumptions can be weakened so that they pose no obstacle to effective use of the piecewise-linear simplex algorithm. The theory of piecewise-linear programming is thereby extended, and n u m e r o u s features of linear programming are generalized or are seen in a new light. An analysis of the algorithm's computational requirements and a survey of applications will be presented in Part III.
Key words: Linear programming, simplex methods, piecewise-linear programming, nondifferentiable optimization.
1. Introduction
A piecewise-linear program minimizes a convex separable piecewise-linear objective function, subject to linear constraints. Part I of this paper [8] has developed a version of the simplex algorithm that solves piecewise-linear programs directly. Although this piecewise-linear simplex algorithm differs in certain ways from familiar linear simplex methods, it has substantially the same steps and computational requirements as the algorithm that is commonly applied to solve linear programs in bounded variables. The derivations in Part I rely on three restrictive assumptions about the nature of piecewise-linear programs. Part II now shows how these assumptions can be weakened so that they pose no obstacle to effective use of the piecewise-linear simplex algorithm. The theory of piecewise-linear programming is thereby extended, and numerous features of linear programming are generalized or are seen in a new light. The stage is thus set for a detailed analysis of the algorithm's computational requirements, in Part III [9] of this paper. This research has been supported in part by the National Science Foundation under grant DMS8217261.
282
R. Fourer / A simplex
method
for piecewise-linear
programming
Outline The remainder of this introduction briefly reviews the terminology and properties of piecewise-linear programming that will be required in the sequel, and restates the piecewise-linear simplex algorithm. Subsequent sections consider relaxing or removing Part I's three assumptions, in the reverse of the order in which they were imposed. According to the third assumption, nondegeneracy, every basic variable in every basic solution must lie strictly within one of the objective function's intervals of linearity. At bases that violate this restriction, the piecewise-linear simplex algorithm may be forced to perform degenerate iterations that fail to reduce the objective. Section 2 shows how the algorithm may be extended so that it is well-defined in the presence of degeneracy, and so that it discourages degenerate iterations or executes them in an efficient way. Section 3 then describes how the algorithm can be further modified, by extension of well-known perturbational and combinatorial approches, to prevent infinite cycles of degenerate iterations. The second assumption says that every piecewise-linear program has a basic feasible solution, if it has any feasible solutions at all. Section 4 demonstrates that a basic (but perhaps infeasible) solution can be constructed in all but certain exceptional situations that are easily circumvented. Once any basic solution is known, a basic feasible solution can be found by minimizing a piecewise-linear penalty function or by adding weighted penalty terms to the true objective, much as in bounded-variable linear programming. If penalties are added then the required size of their weights has a simple relation to the optimal dual values. Under the first assumption, the objective function of a piecewise-linear program must be defined by only finitely many intervals of linearity. Section 5 shows that the piecewise-linear simplex algorithm remains well-defined under much weaker conditions that permit an infinite number of intervals. These conditions must again be somewhat strengthened, however, if the algorithm is to retain its property of finite termination. The principal difficulty in the analysis is that, although the relaxation of finiteness need not affect the local nature of piecewise-linear functions, it does significantly expand their range of asymptotic behavior.
Piecewise-linear programs A closed proper convex piecewise-linear (P-L) function [c/Y]k of Xk is characterized (to within an additive constant) by an increasing sequence of breakpoints y~h), ...
"fNp -- O ~ TN %r},
and the basic variables XBi must also lie between certain breakpoints: 3,+(r~-1)
Bi
~
+{r~} ~ "YBi- Oysi ~< _yB~ for each YB~< 0,
and
YB}r'-l}> ~B~- Oy~ >1y?}r,} for each Ym > 0. The rate o f increase in the objective as XNj ~ YUj + O, or the rate o f decrease in the objective as Xuj ~ Y N - 0 , is given by an effective reduced cost d ) v ( 0 ) or dNp(O): +
+{r.
dNp(O)=C+N~} - Y. CBi'
1}
YBi-- 2
YBi 0,
R. Fourer / A simplex method for piecewise-linearprogramming
286
+oo
lfdNp~O ,
y N~pl~= --00
if d)p > O,
y~{p1}
then the objective can decrease without bound. Stop. (6) Select a leaving variable: Choose any variable XBq and breakpoint y~%/ or y)~q%~such that +(r },,
(a)
(ffBq--YBq ~ )/YBq = 0 and YBq < 0 ,
(b)
(XBq-- TB~%I)/yBq = 0 and y,q > 0;
or choose XNp and any breakpoint y ~ / o r (c) (d)
- ( Y u p - ) ' u p +~r~j= ~7 and dueO;
provided 0 is small enough that d+Np 0 .
(7) Update the basic solution: Reset "~B ~ XB -- OyB
XNp ('" 'YNp + ~
if
+ % O. dNp
XNp 0.
(8) C h a n g e the basis, according to the choice made in step (6): If (a) or (b): Replace aBq by aNp in B. +~r~ (if d ~ p < 0 ) or CNp= ~Np Set CNp = Cup . lr~ (if d-Np> 0). Set YBq = Y+S~r'~ (if YBq < 0) or YBq = YB~%~ (if YBq > 0). If (c) or (d): +{r} (if dNp + < O) or ~/Np = r. N p/r~ (if dNp>O). Set YNp : ~rNp The piecewise-linear simplex algorithm carries out a series of these iterations, each starting from the B, %, YN, and )~ determined at the end of the preceding iteration. The algorithm stops when, at some iteration, the termination conditions of step (2) or step (5) are satisfied.
2. Degeneracy Suppose that the nondegeneracy assumption is dropped. Then the algorithm defined above may encounter a basic feasible solution in which certain basic variables
R. Fourer / A simplex method fbr piecewise-linear programming
287
(s~)
lie exactly at finite breakpoints. For each i such that 2B~ = Tu~, the variable xB~ cannot be associated with a unique slope cu~; the slope of [c/'y]u~xBi is either c %) Bi or c~i ~ depending on Whether xu~ increases or decreases from 2si. The vector # and the reduced costs d~j and d~j are thus ill-defined in steps (1)-(3), and the algorithm cannot proceed. To deal with this difficulty, the piecewise-linear simplex algorithm may arbitrarily (s i 1) choose cB~ as either c ~ ~ or cB~ whenever 2Bi = y~)~. The first part of this section shows that the algorithm can then be applied unambiguously, even though it may encounter degenerate iterations at which the objective value fails to decrease. The termination conditions of steps (2) and (5) are also seen to remain valid. The remainder of this section takes a closer look at the consequences of degeneracy in P-L simplex steps. An iteration is shown to compute both true reduced costs that determine whether the objective can be reduced, and nominal reduced costs that determine optimality. The arrangements for computing these quantities can have a substantial effect upon both the complexity of an iteration and the path of iterations. Further modifications are necessary to insure that the algorithm cannot fall into an endless cycle of degenerate iterations. Criteria for the prevention of cycling are derived in Section 3 below. A c c o m m o d a t i o n o f degenerate bases
Suppose the that P-L simplex algorithm is modified so that a finite slope cB~ is assigned arbitrarily to each degenerate basic variable 28i = YB~, as described above. The slopes and breakpoints associated with xB~ are then as follows: If cBi = c(~i ' ) > -oo: c+{h}
(si+h-1)
Bi
= C Bi
CBi
= CBi
+{h}
Ui
(s.+h-1)
= T B~
If cBi = c~i)< +co: ~+{h}
t; Bi
~
~ +{h}
r ui
c(Si+h) Bi
(s+h)
= T B~
I f b o t h c~i -1) = --00 and c%~Bi= +oe then no finite cBi can be assigned. In such a case, however, every feasible solution must have 2i = 3/I"~, so that x~ can be fixed and dropped from the problem in advance. Once cB is chosen, ,g" can be computed in step (1). I f the conditions of step (2) are satisfied, then the basis must be optimal; the p r o o f of optimality in Part I of this paper [8] is applicable regardless of degeneracy. I f the optimality conditions do not hold, the iteration may proceed to select some XNp in step (3) and to compute YB in step (4). The meaning of YB is preserved under degeneracy: when Xsp is increased (if d+Np < 0) or decreased (if d ) p > 0) by 0 from TNp, each XB~ changes by OyB~. Thus the p r o o f of unboundedness in Part I is also applicable. I f the conditions of step (5) are satisfied, then the P-LP must have no finite minimum.
288
R. Fourer / A simplex method for piecewise-linear programming
I f the unboundedness conditions do not hold, then a leaving variable can be selected. The meanings of the effective reduced costs are also preserved under degeneracy: for any positive 0, either d+Np(O) is the rate of increase in the objective as XNp approaches "YNp~-0 from below, or dNp(O) is the rate of decrease in the objective as xNp approaches YNp-- 0 from above. Thus if step (6) can find a 0 > 0 such that d + p ( 0 ) < 0 or d N p ( 0 ) > 0, the iteration can be completed as before, and the new basic solution will yield a lower value of the objective. In the presence of degeneracy, however, the algorithm may not be able to choose a positive ~ For each 2Bi = y(~), one of the ratios in step (6) may be zero: (s - 1 )
j/y,~=0 (:£Bi- -),,~ +(1}~/.,
if
YBiO and CBi=CB~.
,
or
The proof of termination in Part I argued that 0 could always be chosen positive, because it could always be at least as large as the smallest ratio. If either of the above situations occurs, however, then the smallest ratio is zero, and the reasoning of the proof breaks down. Indeed, it can happen at a degenerate basis that d+~,-O,
or
d N F > 0 but dNp(O) 0. Then even though the computed reduced cost is favorable, the objective value must increase when XNF is pushed up or down from YNp. The P-L simplex algorithm can accommodate this situation provided that step (6) is interpreted to allow a choice of 0 = 0. The variable xfp then enters the basis at its breakpoint value "YNp, and some degenerate variable XBq leaves the basis at its current breakpoint value. This is a degenerate iteration; the basis changes but the basic solution and the objective value remain the same.
Reduced costs at degenerate bases At any basic solution, regardless of degeneracy, it is meaningful to imagine that a nonbasic variable xNj is pushed up or down by a small amount 8 from its current breakpoint value Ym, and that the basic variables are adjusted accordingly to maintain A x = b. From formula (1.1), the resulting values of XNj and the basic variables may be written as XNj = "~Nj + 6
XNj = TNj -- 8
where
or
XB :- XB -- ~WNj:B
BWNj:B = aNj.
XB = XB + 8WNj:B
For each XNj there is a different vector WNj:B , whose element WNj:Bi determines how XBi will change as xNj is pushed. For the entering variable xNp in particular, WNp:B is just either YB (if d~vp 0 ) as computed in step (4) of the algorithm. All relevant reduced costs for XNj can be expressed in terms of WNj:B. Given any choice of slopes CBi, formula (1.2) implies that the values d~i and dN~ computed
R. Fourer / A simplex method for piecewise-linear programming
289
in step (2) are
d~j =
C~,4~1} - - ~
CBiWNj:Bi,
i
(2.1)
d-Nj = C-N5'} -- Z
CBiWNj:Bi,
i
.+(1} have been defined as the slopes in [c/T]Nj to the left and right, where c ~ ~} and ~Nj respectively, of YNj. Let c~i and cu~ similarly denote the slopes in [c/y]u~ to the left and right of xu~. Then for all small enough 3 > O, the effective reduced costs must be
d+Nj(6)=C+N~'}--
~,
C+iWNj:Bi-
WI~j:Bi0
(2.2)
d~Aa)=c~ " -
E
CBiW~j:B,--
WNj:Bi0
I f all basic variables lie between breakpoints then c~ = cB = c~, so that dNj+ = d+j(8) and d ~ j = d-Nj(6) as expected. If any xB~ = Y%~,B~ however, then c ~ = c~i - ~ but + = c ~ ), and there must be some differences: CBi
Coefficients of WNj:Bi differ i n . . .
if...
and...
WNj:B i ~0
CBi = CBi
WNj:B i > 0
CBi = CBi
(s~ 1)
and d j(a) d~i and dsj(6 )
(%)
wNj:~ < 0
c~ = c ~; ~
W N j : B i ~> 0
CBi ~ C Bi
(s~ 1)
To express the total difference concisely, let S2~j and g2 m be the disjoint sets of indices i for which the coefficients of wm:Bi differ in d+Nj, d+Nj(6) and duj, dNj(6), respectively. Then (2.1) and (2.2) together imply that
+
dNj+,~
dNj(6)=dNj--
~,
Z
-cB;
)lwNj:,,I,
(c(S,) (s -1~,, , , u, --cu~ )lWuj:sd •
(2.3)
iEI"~Nj (s i 1)
+
~:_
+
Since convexity requires c~)>~ cB~ , these relationships confirm that din(6) ~ duj and dNj(6) O;
+{r} or zu~ * {~} such that or choose Xup and any breakpoint rup (c)
--(yup--T+u~})=O and d ~ p < O , (yu,,-y){~})=O
(d)
or
and d N p > O ;
provided 0 is lexicographically small enough that d+Np< 0 and +
--
+{r}
o + { r --1},,
YuiO
or 0 is lexicographically small enough that d up > 0 and +{r ~}Y.i+ ~_. c-{r dNp(O)=C-N~p"}+ E C.,' . , ' 1}y ..i >0; YBi < 0
YBi > 0
where the indices ri (for i # q) and r satisfy ( R B , - " YBi + ~ r~- ' ~ W] ,/ ,. Y B i .~ ~ 0 < (2B, (XBi-
~ B I rl 1 } ) / Y B i < 0 O, •
+
If dNp < O,
ifdNr>O.
R. Fourer / A simplex method for piecewise-linear programming
296
Steps (7) and (8) can then proceed as before, taking 0 as the first element of O. Combinatorial selection rules
The combinatorially motivated anti-cycling rules of Bland [3] also extend to piecewisedinear programming. Following some preliminary development of ideas below, a piecewise-linear equivalent of Rule I in [3] is stated and proved in detail, and the features of a P-L Rule II are outlined. Preliminaries. Imagine that, prior to the start of some iteration, all slopes of [ c / Y ] k are reduced by Yak, for k = 1, . . . , n and an arbitrary vector v. The new objective can be expressed as [ Y/ y ] x = [ c / y ] x - ( v A ) x .
Over all x that satisfy A x = b, the two objectives differ only by a constant vb, and hence have the same minimizers. Indeed, the change has little effect on the quantities cB, ~', d~vj and dNj that are computed in steps (1)-(3). Since [Y/y] has the same breakpoints as [ c / y ] , the basic slopes can become cB = cB - vs. Then fib = cB implies ~-= # - v. The reduced costs are d Nj
C+N~ ~ _
(raNj
+~1}
- c Nj -- VaNj -- ( ¢r -- V) aNj = C)~1}-- ¢raNi = d +Nj
and similarly for dNj: they are all unchanged. Of particular interest is the special case in which v is taken to be g- itself. In the resulting canonical objective [Y/y], #aB~=CB~ is subtracted from every slope of [c/y]B~, and # a N j is subtracted from every slope of [ C / ] / ] N j. Thus [Y/y] has slopes as follows: YBi= 0, y+{h}
(3.1) ~+{h}
0,
(3.2)
YBI h~ = cB~h} - cm < O,
(3.3)
Y~'} = dNj,
(3.4)
Bi
= CBi
y+{h} __
Nj
-- CBi >
+
-- d Nj + ( C~q~h } - ~Nj "+(I}~'~ + , ~ d"Ni,
(3.5)
y~l}= d~,
(3.6)
y-~h}_ Nj -- d ~ j + ( c ~ h}- c ~ 1~) < d~j.
(3.7)
From (3.1)-(3.3), the slopes of [ c / y ] B i are nonpositive at all points to the left of )TBi and are nonnegative at all points to the right. Similarly, from (3.4)-(3.7), if xuj is ineligible to enter the basis (because d~j>~0 and dNj~ 0 and if CNl was fixed at e ~ 1}, then (3.6) implies that CBl remains positive. Rule L A P-L extension of Bland's first rule in [3] can be stated as follows. The entering variable XN~ must be the first one available: q-
~
p = rain{j: d~j < 0 or dNj > 0}.
(3.8)
Thus the nominal reduced cost for XNp must be favorable: d+Np=C+N{pl}--E CBiYBiO
(ByB = --aN,,).
i
If the true reduced cost d+Np(6) or dNp(6) is also favorable, a leaving variable may be chosen in the usual way. Otherwise, writing CB~, C~ for the slopes of [c/y]B~ to the left and right of ffR~ as in Section 2,
dNp(8)=C+{p'}- E c ; i Y . i - E CBiYBi>~0, or YBi < 0
YBi > 0
(3.1o)
d--Np(t~)=CN{pl}-b E c;iYBi+ E cBiYBi~0
XB~
~ l
~Bi:O
It remains only to observe that (3.13) is unaffected by substituting [ ~ / y ] for I t ~ y ] , + (s~) (s~-l) since neither the reduced c o s t s dNp , d~p nor the differences cBi - cBi are changed. Thus, to satisfy the leaving-variable rule, the iteration must have YB~ > 0 (since cst + was fixed at c,~) and
d~p:B,(6) =
UN~p~ -
E
?~iYB~-
E
~B,YBi- E ?B~YBi~ YNj f o r all j c 9 ~ , then X'Np i> YNp (/f d~p < 0) or X'Np 0).
Proof. Let [ ~ / y ] be the canonical objective relative to the vector g- computed when 97 was the current solution and Xup was chosen to enter. From (3.1)-(3.7), the slopes of individual terms [~/Y]k in the neighborhood of ffk must have the following signs:
R. Fourer/ A simplex methodfor piecewise-linearprogramming
300
Slope of [ g/ ~']kXk for xk < Xk for Xk > 2k
Xk XUj, j C 50+ XUp, if d ~ p < O
~0
)0
XN, j ~ 50+ W 50 XB~
~0
>t0
Suppose that x~j YNp (if dNp>0). Since "2Nj=yNj, and particularly gup=yup, the above table implies that [~/y]x'>~[~/y]Y, Since the canonical objective differs from the true objective by only a constant, it follows that [c/y]x'>~ [ e / y ] £ contradicting the assumption that x' follows by a series of iterations from ~. [Z To make use of this property, imagine that when x m, is brought into the basis, [c/'y] is replaced by a simplified objective [~/,)]: c+}1}= +o0 f o r j e 5e+, +
"~N,,= -oe if drip 0 for the variable Xsp chosen in step (3), then the P-L simplex algorithm achieves a reduction in the objective value. Proof. If some basic feasible ~ satisfies the optimality conditions of step (2), then it also satisfies these conditions for the "local" objective [~/9] defined by
,~+(1} Bi
~Bi = CBi "~ ~
-~-00 ,
~/ N) 1) ~ --00,
~--{1}
CNj ~/Nj = ')/Nj ,
{1)
~- CNj ,
~.q~l} ~+{1}
~- t~Nj ,
Since [ ~/9] has only finitely many breakpoints, ~ must be optimal for [~/-~] by the proof in [8]. Yet by construction, (slope of [~/Y]k)/> (slope of [C/T]k)
at all Xk < Xk,
(slope of [~/~]k) Xk.
AS a consequence, for any x, [c/T]x - [c/T]~/> [ ~ / ~ ] x - [~/~]~/> 0. Hence ~ is also optimal for [c/y]. If the conditions of step (2) are not satisfied, then an entering variable XNp can be chosen in step (3). As XNp begins to increase or decrease from TSp, the change in the objective value depends only on the slopes immediately to the left or right of ~Np and all ~Bi. In particular, the objective value decreases if and only if the effective reduced cost is favorable, regardless of how many breakpoints [c/y] has in all. []
310
R. Fourer / A simplex method for piecewise-linearprogramming
Unboundedness is much more problematical. Conditions for an unbounded solution depend on the asymptotic, rather than local, properties of [ c / 7 ] . The assumption of a finite breakpoint set in [8] assures that [C/7]kXk either becomes infinite or behaves like a linear function as Xk ~ +o0 or Xk ~ --cO. When this assumption is relaxed, a convex P-L function can exhibit any of the other kinds of limiting behavior allowed of convex functions. Thus the conditions in step (5) remain sufficient for unboundedness in the infinite-breakpoint case, since they imply that the objective decreases along a ray of solutions that crosses no breakpoints. The same conditions are no longer necessary, however, because the objective may also decrease along a ray that crosses infinitely many breakpoints. In such a case the objective value may be truly unbounded below or may have a finite infimum that is nowhere achieved, even though the conditions of step (5) are not satisfied at any basic feasible solution. Various weaker necessary and sufficient conditions for the infinite-breakpoint case can be formulated in terms of the effective reduced costs and their limits: Property 11. I f [ c~ 7] is closed, then the conditions for unboundedness can be summarized as follows, where d+Np(OO) lim0_~ood+Np(O) and d Np(oo) ~- limo_,~ d Np( O). =
Condition: at some feasible b a s i s . . .
Unboundedness: the P-LP satisfies...
Necessary ?
Sufficient ?
d+Np(oO) < 0 or d Np(C~) > 0
inf[ c~ y ] x = -oo
no
yes
dNp(O) < 0 or dNp(0) > 0 for all 0 > 0
inf[ c~ y ] x is nowhere achieved
yes
yes
d+p(oo) 10
The same conditions hold if [ c/ T] is not closed, except that the second condition also fails to be necessary.
Proof. All of these assertions follow directly from established properties of arbitrary convex separable objective functions; see, for example, the analysis by Rockafellar [16, Chapter 11]. [] The asymptotic effective reduced costs can be expressed conveniently as a function of the asymptotic slopes, provided that the breakpoints have no finite limits. Writing SUph C? )= c~-~°~) and infh C(gh)= C~k- ~ , d~p(oo)=lim ~S.rN~p, 0~o0
(+oo) -=CNp + E YBI < 0
Z ( , i m ~+~ ~ y . i + yB~ 0
Y~ (lira c ~ r,~] y~, \0~oo /
YBi~O
C(-i°°)YBi
R. Fourer / A simplex method for piecewise-linear programming
311
and similarly for d sp(OC). These formulas depend on the identity of the basic variables xB and the entering variable xN~, but not on the values YN of the nonbasic variables. Thus there are only finitely many quantities d~Np(~) and dNp(~) associated with a P-LP even when the number of breakpoints is infinite.
Conditions for termination Since an infinity of breakpoints permits an infinite number of basic solutions, abandonment of the finiteness assumption allows an infinite number of iterations in the P-L simplex algorithm. The p r o o f of finite termination in [8] remains applicable, however, if only finitely many basic feasible solutions actually exist, or if only finitely many can be visited by the algorithm. Termination can be assured, for example, if the algorithm visits some ~ such that [c/7],2 > [c/y]x' for only finitely many other basic feasible solutions x'. This is the case, in particular, when [c/y] is a closed function and the solution set is bounded: Property 12. I f [c/y] is closed and if the set of optimal solutions is nonempty and bounded, then the P-L simplex algorithm must eventually stop. Proof. Consider first any closed and bounded set 2g of feasible solutions; [c/7]x < o0 for any x e ~ . Let ~k={Xk: ( X l , . . . , X k , . . . , X ~ ) C ~ } be the closed and bounded interval of values that Xk takes within ~ ; [c/y]kXk is finite for any Xk ~ ~k. Under the hypothesis that [c/y] is closed, and under the assumption that [c/y] takes an infinite value at any limit of breakpoints, the interval ~k may contain only a finite number of breakpoints. If follows that ~ must contain only finitely m a n y basic solutions. For any optimal solution x*, the level set {x: [c/y]x [ c / y ] g , contradicting the assumption that ~ follows 2 in a series of simplex iterations. Since gNU = ~UC throughout the subsequence, the difference between the objective values at ~ and 2 can be broken into just four parts:
[ c/ ~ ] ; - [ c/ ~]x = ([ c/ ~]Ns;Ns -- [ C/ ~] NSX~s) -- [C/~,] ~ X N T )
+ ([e/~]~T~
+ ([C/~'] BVGV -- [ e / ~ , ] ~vXBv) + fie/~]~G~
-
[c/~]~x~).
However, because [c/y]Bwi has the same slope c ~h'~ Bwi at both gBw~ and XBwi, the difference in objective terms for these variables is simply .
(h)
[ c / ~'] B ~ , G ~ , - [ c / "y] ~ , X ~ w , = ( G~vi - g ~ , )c ,~,. The equations A ~ = b and A g = b imply A ( ; - g ) = 0 , or B ( ~ u - - g B ) = --~j (~Nj--XNj)aNj. Letting BWNj:B = a m as in Section 2, and dropping the terms ~NUj- XNUj = 0, it follows that J J
J
Substituting in the preceding expressions,
[c/,y];-[c/~,]g ([ c / ~,] N~j;~j - [ c / ~,] ~s3~sJ
+
-
j
+Z i
-
XNTj -- XNTj
([ c/.~]~v,;~v, - [ c/ ~,],~v,g~v,).
(~.) "l
i"
WNTj:BWiC B w i ]
314
R. Fourer / A simplex method for piecewise-linearprogramming
Consider the expression within the first sum above, for any j. The first factor (XNsj--XNsj) is negative and bounded away from zero, by the definition of the subsequence and the hypothesis about breakpoints. Within the second factor, the first term is just the average rate of change of the function [ c~ y] usj when its argument moves from ffNsj to ~Nsj ; this quantity is at least as great as the slope to the left of 2usj, so it must tend to - ~ as ff moves out the subsequence, by the hypothesis about slopes. The second term in the second factor is the same for any ff in the subsequence. Thus the first sum - - if it is not empty - - must grow arbitrarily large as the subsequence proceeds; an entirely analogous argument shows the same for the second sum. Since there must be at least one variable XNSj or XNrj, both sums cannot be empty. Finally, all of the terms in the third sum are positive by the definition of the subsequence. Thus the total difference [ c / y ] : ~ - [ c / y ] g must be positive for £ far enough along the subsequence, which was the contradiction to be shown. Given some postulated lower-bound value, each iteration of the P-L simplex algorithm can easily check that all newly encountered slopes and breakpoints obey the conditions of the above property. Then the algorithm must eventually stop either with an optimal solution, or with a warning that some pair of breakpoints or slopes differ by less than the lower bound.
Addendum
Two early descriptions of piecewise-linear simplex algorithms predate those surveyed in part I of this p a p e r [8]. Gol'gtein [10] states an algorithm that is essentially equivalent to the P-L simplex algorithm of [8]. Nondegeneracy is assumed, so that the usual p r o o f of termination applies, but no p r o o f of optimality is suggested. Orden and Nalbandian [14] describe a piecewise-linear simplex algorithm in terms of the traditional simplex tableau. Their method steps from one basic solution to another, in the same way as the algorithm in [8]. Their test for optimality and their selection of an entering variable rely on the true reduced costs (as defined in Section 2 above) rather than on the nominal reduced costs used in [8]; hence a nondegeneracy assumption is necessary for optimality of the final basis as well as for finite termination.
References
[1] M.L. Balinski and R,E. Gomory, "A mutual primal-dual simplex method," in: R.L. Graves and P. Wolfe, eds., Recent Advances in Mathematical Programming (McGraw-Hill, New York, 1963) pp. 17-26.
R. Fourer / A simplex method for piecewise-linear programming
315
[2] R.H. Bartels, "A penalty linear programming method using reduced-gradient basis-exchange techniques," Linear Algebra and Its Applications 29 (1980) 17-32. [3] R.G. Bland, "New finite pivoting rules for the simplex method," Mathematics of Operations Research 2 (1977) 103-107. [4] A. Charnes and C.E. Lemke, "Minimization of non-linear separable convex functionals," Naval Research Logistics Quarterly 1 (1954) 301-312. [5] V. Chvatal, Linear Programming (W.H. Freeman, New York, 1983). [6] A.R. Conn, "Linear programming via a nondifferentiable penalty function," S I A M Journal on Numerical Analysis 13 (1976) 145-154. [7] G.B. Dantzig, Linear Programming and Extensions (Princeton University Press, Princeton, N J, 1963). [8] R. Fourer, "A simplex algorithm for piecewise-linear programming l: Derivation and proof," Mathematical Programming 33 (1985) 204-233. [9] R. Fourer, "A simplex algorithm for piecewise-linear programming III: Computational analysis and applications," Technical Report 86-03, Department of Industrial Engineering and Management Sciences, Northwestern University (Evanston, 1L, 1986). [10] E.G. Gol'~teln, "A certain class of nonlinear extremum problems," Doklady Akademii Nauk SSSR 133; translation in Soviet Mathematics 1 (1960) 863-866. [11] G.W. Graves, "A complete constructive algorithm for the general mixed linear programming problem," Naval Research Logistics Quarterly 12 (1965) 1-34. [12] Luenberger, D.G., Linear and Nonlinear Programming, 2nd edition (Addison-Wesley Publishing Company, Reading, MA, 1984). [13] C.E. Miller, "The simplex method for local separable programming," in: R.L. Graves and P. Wolfe, eds., Recent Advances in Mathematical Programming (McGraw-Hill, New York, 1963) pp. 89-100. [14] A. Orden and V. Nalbandian, "A bidirectional simplex algorithm," Journal of the Association for Computing Machinery 15 (1968) 221-235. [15] D.C. Rarick, "Pivot row selection in the WHIZARD LP code," Management Science Systems. [16] R.T. Rockafellar, Network Flows and Monotropic Optimization (Wiley-lnterscience, New York, 1984). [17] P. Wolfe, "The composite simplex algorithm," S l A M Review 7 (1965) 42-54.