Strengthening cuts for mixed integer programs condition on the variable£; and alternatively, every such cut can be obtained from a properly chosen subadditive function defined on a real vector space. Since each of these approaches can in principle yield all valid cutting planes, ~he method to be described here does of course not extend the set of valid cuts. It is an improvement in the sense of computational efficiency, i.e., it yields in a simple fashion cutting planes which would otherwise be more expensive to obtain. Our approach can be viewed as being primarily a procedure for ;trengthening a cut derived from the integrality condition on the basic variables and the nonnegativity condition on all the variables, by using the integrality condition on the nonbasic variables.
Egon BALAS Carnegie.Mel2on Univeraty, Graduate School of Industrial Administration, $:henley Park, Pittdmrgh, PA 13213, U.S.A.
and Robert G. JEROSLOW College o f lndustrial Management, GeorgiaInstitute of Technology, Atlanta, GA 30332, U.S.A. Received February 1979 We give a method for strengthening cutting planes for pure and mixed integer programs. The method improves the coefficients of the iriteger-constrainedvariables, wh;le leaving unchanged those of the continuous variables. We trust state the general pr/.'ncipleon :shich the method is based; then apply it to the class of cuts that can be obtained from disjunctive constraints. Finally, we give simple procedures for calculating the improved coefficients of cuts in this class, and illustrate them on a numerical example.
2. ,t geaeral Fdnciple for cut strengthening We first pres.~nt our basic cut strengthening principle in an abstract setting, then il!ustr te it on a familiar example. For nonempty sets U and V, we use the common notation
1. Introduction In this paper we describe a method for strengthening cutting planes for pure and mixed integer programs. The method improves the coefficiems of the integer-constrained variables, while leaving unchanged those of the continuous variables. We first state the general principle on which the method is based (Sections 1 and 2); then we apply it to the class of cuts that can be obtained from disjunctive constraints [2,5,10] (Sections 3 and 4). Finally, we give simpl~ procedures for calculating the improved coefficients of cuts in this class (Section 5) and illustrate them on a numerical example (Section 6). According to recent results [3,8], every valid cut for a mixed integer program can be obtained from the disjunctive constraints expressing the integrality
U+ V={u+vlu~U,v~V}
.
A set M of vectors is called a ,aonoid if C ~ M , and u, v E M implies u + v EM. Clearly, i f M is a monoid, then bt + M = M. Le,t T c_ R q be an arbitrary set, and let y ~ R q satiffy
y~r and fl = a 0 + ~
(I) aft:,
tl~>O,
]E J
where a0 E R q , a / E R q , i E J . Let IJ[ = n . We say that conditions (1), (2) imply an inequality (or cut)
Research supported by the National Science Foundation through grant MCS 76-12026 AO2 and by the U.S. Office of Naval Research through contract N00014-75-C-0621 NR 047-048.
~/(aj)t/i> ~ro
(3)
if (3) is satisfied by every t E R n satisfying (1), (2) for all choices of vectors ai in (2). The notation ni(ai) is meant to convey the idea that the coefficient of tj in
© North-Holland Publishing Company European Journal of Operational Research 4 (1980) 224-234 224
E. Balas, R.G. deroslow / Strengthening cuts for mixe~ integer programs
(3) is a function of the coefficient vector ai, i.e., the inequali:y or cutting i.'ane (3) is derived from the conditions (1), (2) by some rul~ which associates to each vector ai a scalar ~ri (a/). An inequality implied by the constraints of a problem is called valid (for the problem). We now state a principle which allows us to strengthen any cut of the form (3) when a further condition is added requiring ti to be integer for ] EJrl C J, and when the set Tin (1) can be replaced by T + M for some monoid M. The strengthening affects the coefficients of the cut indexed by Jl and leaves the remaining coefficients :mchanged. Let J2 = d - Jr. Theorem 1. Let T C R q be an arbitrary set and M C R q a monoid. I f the conditions
yET+M
(1')
and
Y f a o + ~--Jaiti; i~J
lif>0,
;E J;
(2)
lri(ai) tj >f rro ,
(3)
where ~/,/E J, are givenfunctionsfrom R q to R, then the conditions (1 '), (2) and
tl intcger,
j Edl
[ inf ,r/(a/+ m)] tj + . ~ ni(ai) t~ >~ no.
=ao+ ~
/E Jl
(a/ + m i) ti+ ~
J~d2
a/ti .
(2')
"
Since (1 ') and (2) imply (3), it then follows that (1") and (2') (together with (4), which ¢.'as used to obtain (1 ")) imply
/ e J;
rr/(a/ + mi) t/ + =~szrr/(ai)t/ >..-rro . /
(5')
Further, since (5') holds for any choice of the elements my ~.~; / ~J1, (5) also holds. To illustra:e Theorem 1, we will derive Gomory's mixed integer cut ["~ by using the above framework. This can be done in several ways, and here we will closely follow Gomory's own reasonh,g. Let q - 1, i.e., let (2) consist of a single equation, with ao noninteger and let T " M be the se~ of a!: integers. Then (1 ') and (2) imply (6)
where [ao] is the greatest integer < a o. Substituting for y in (6), denotiqgf o = a o - [ao], and dividing each inequality wit~ its (positive) right hand side term yields the disj,mction
-aj
v,
aj
(5)
and it is easy to see that each inequality of (6') implies the following inequality, which is a weakening of both:
!~32
(6')
/
m/t/EM,
for any set of nonnegative integer tj, / E Jl. Therefore, def'ming
- ~ i° aj ~__., m~.xl--fO-i~j ' 1 -fo
tj > / 1 .
This is Gomory's mixed integer cut for the case when none of the nonbasic variables t i, i" E J, is integer-constrained. Now suppose that, in addition to (1') and (2), the condition (4) also has to be satisfied. Since (1 ') and (2) imply (3) with nj(a/) = max
y°=y+ ~
re~t~
(4)
Proof. For any se', of ]all! elements m~ ~-M, from the definition of M we itave /E J[
y = a O + ~ a/t/ + ~
j~3--~o ti >~ 1 v j~gZ-d~1-- fo t/ ~ 1 ,
imply the inequality
/ E Jr mEM
and
Y <~ [aol vy t> [aol + 1,
imply the inequality j~.r
225
,
,
mit j , from Theorem 1 we have that (1'), (2) and (4) imply (5), with M the set of all integers arm
from (4) we have
y' ~ T + M + M f T + M
(1")
7r/(a/ + m) = max[-(aJ + m) aj + m 1
L ?;
E. Bal~, IL G. Jerodow / Strengthening cuts for mixed Integer pro~nu~
276
Thus the/th coefficient of (5), for ] E J I , is inf
m Int~r
max
)'[I
' 1-fOJ"
Denoting)~ = - a i - [-a/] and setting m = [-ai] yields the value f/fro, while setting m = [-ai] + 1 yields (1 -]~)/(1 - f o ) . Increasing m beyond [-a/] + 1 or d~erea~gm beyond [-ai] yields larger values, so the minimum is obtained for one of these two values. Thus the inequality (5') is in this
The following statement [3,8] characterizes all valid cuts for a disjunctive program with the constraint set (7). (For related developments, see [4,9].) Theorem 2. The inequality
ajtj
(8)
ao
is satisfied by all t E R n satisfying (7), if and only if ai ~ sup Oia/ ,
IEQ*
iE~
"
t~
/e72 max
' l-- ajSo
Q~>I . Again, this is the mixed integer cut of [6], this time for the case when the nonbasic variables/EJ l are also integer-co.trained. Apa~t from illustrating Theorem l, this example also poL-ts to the fact that the monoid M we use in the theocem is an abstraction of Gomory's use of modulo arithmetic in. the original derivation of the cut. While in this case the use of the monoid does no~ ~dd anything new, we will see in the following sections that in other cases it leads to improvement~ which cannot be obtained by the procedures of [6] or the subsequently developed group theoretic approach [7]. In particular, the above theorem can be used to strengthen cutting planes which are not even valid inequalities for the corresponding group problem, since they have coefficients of different signs.
ao g mf 0 % , ieQ*
Consider a disjunctive program [3] (linear program with logical conditions), whose constraint set is given in the disjunctive normal form
,Ait >t aio ieQ
t >~O
where Q is an arbitrary index set,each matrix A i has n columns and ri rows, and (7) expresses the condition that at least one of the systems in parentheses must hold. Let ~ be the/th column of A i, let d = { 1, ..., n}, and let
Q* = {i E Q I there exists t >10 satisfyingAit >~aio}.
(9)
for some vectors 0 i >i 0, i E Q*, for which the sup and inf in (9) exist. Note that the 'if' part of the theorem remains valid if Q* is replaced by Q. Since all mixed integer programs can be stated in the ~.orm (7), all cutting planes can be 9btained from Theorem 2. However, finding strong cuts implies finding vectors 0 i, i E Q*, which make the suprema in (9) small relative to oto. Since this is a difficult task whenever Q is large, it is usually preferable not to include all the integrality requirements in the constraints (7), i.e., to represent in the form (7) ~.suitably chosen relaxation of the integer program, involving a set Q of manageable size, and to add the remaining integrality constraints explicitly. Assume therefore that the problem to i:e solved is defined, in addition to the constraints (7), also by
t/integer, 3. Improving cuts from disjunctive constraints
] ~J ,
j •J! C_J,
(10)
and denote again,/2 = J - Jl. Then the family of cuts (8), which is of course valid, can be strengthened by ,using the ~ n c i p l e of Section 2. It turns out, however, that in order to find a suitable monoid which makes the strehgthening meaningful, we have to require the exp~'e~sions Art, i E Q, to be bounded from below. We will denote these bounds by b~, i E Q, i.e., assume that At~ >i b~, Vi E Q. Without loss of generality, a/o > bao for i E Q. Though the boundedness assumption is a genuine restriction, it is a very weak one. Thus, if i is the vector of nonbasic variables associated with a given basis, assuming that .4il- is bounded fro~ below for all i E Q amounts to assuming that the basic variables are bounded from above. If the Lasic va~ables are 0 or I, these bounds not only exist, but are quite tight. Throughout tMs discussion, when wc refer to the
E. Balas, R.G. Jeroslow / Strengthening cuts for mixed integer programs
cut (8), we will assume that all inequalities in (9) are tight, i.e., that the cut being considered is the strongest one among those associated with the given set of 0 l, i E Q*. Also, since any cut (8) is valid with Q* replaced by Q, we will use Q, which is easier to work with than Q*; and we will assume Q to be finite. To bring (8) to the form (3), we introduce a vector y E R q +...+rq, whose components are the rrvectors
227
whose coefficients are defined by inf max O'[a} * mi(aio - b~)]
mEM iEQ
max oia}
jEJI
,
jEJ2 ,
i~-O.
(14) ~o - rain Oiaio,
= -b o + A t,
t
Q = ( 1, ..., q } .
The constraints (7), (10) can then be expressed in the form (1), (2) used in Section 1, as
yET=~ly>~O,
V 0,i/>a/o-b~)},
(1)
iEQ
y=(.vi),
yi=-bio+Ait,
Proof. Defining pi
= mi(aio _ bio), i E Q, we see that
P - {p Ip i E Rri, pi = mi(aio _ bio), i E Q, m E 31) iEQ,
t>~O,
(2)
and
t] integer,
f o r any choice o f Oi E R ri, 0 i >i O, i E Q.
/ EJ 1 .
(4)
We will denote by a~ the/th column of A i, i E Q, and by ai E Rq +...+rq the vector whoxe components are the r/-vectors a}, i = 1, ..., q. Also we will denote by a o - bo E Rq +...+rq the vector whose components are ah - b ~ , i = 1, ..., q. Next we set rro = mini~Q Oia~o and define rr(o) as a function from Rq +"'+ra to R: •
rt(o) = m a x Oio i .
(11
)
Then the inequality (8), with Q* replaced by Q in the definition of its coefficients, can be written as
lr(a/) t~ >1 n o .
(3°)
Since from Theorem 2 the conditions (1), (2) imply (3'), we can use Theorem 1 to strengthen (3') if we can find a suitable monoid P, i.e., one for which the condition (1) can be relaxed to
yET+P,
is a monoid (so is M by the way, but here we use P). Thus, using the functions defined in (1 1), the inequality (13) can be restated in the form (5) used in Theorem 1 as
inf lr(a/ + p) t/ + ~ 7r(a/) t/ >~ Tro . /~Jl p~V /~Jz
(5')
From Theorem 1, (5') is implied by (1 '), (2) ~nd (4) if (3') is implied by (1 ') and (2); and to prove that this is the case, it suffices to show that (1 ') and (2) imply (7), since (7) impies (3'). l f y E T + P, then y = x + p, where x satisfies (1) and (2), while p satisfies the constraints defining P. If, in these latter constraints, all mi = 0, then p = 0, y = x, and from (2) and the fact that x ~ T, we have (7). If not all mi -- 0, then at least one mk I> 1, and we have y k = X k + pk = x k * mk(a~
-
b~) ~ (a~ - b~)
(since x k >t O, m k 1> 1 and a~ ~ b~). Thus, again (7) holds.
(1') Remark 3.1. Theorem 3 remains true ifM is replaced by
so that (1')and (2)still imply (3'). This is accomplished as follows.
M' = { m E R q l ~
3. Let y = (yi), yi E R ri, i E Q = ( 1, ..., q}, be constrained by ( 1) and (2), and let
laimi~O, miinteger, i E Q }
Theorem,:
M-{mERql
~
mi>~O, miinteger, i E Q } .
(12)
Then every y which satisfies (1), (2)and (4), also satisfies the inequality
jtj> Oo,
03)
where/,t i > 0. i E Q, are arbitrary fixed scalars. Theorem 3 specializes the cut-strengthening principle of Theorem I to the class of cuts from disjunctive constraints, for the case when some of the variables t i are also integer-constrained. The next corollary gives an alternative expre:~sion for the strengthened cut. often more convenien* to work with.
2211
£. ~
I~ G. 1 ~
/ Str~ngt~ninS mts for mixed tntt,S~ ~ m s
3.I.Lct y ~ ~tq+'"*rq, and let the set: Q and M be a~ in Theorem 3. Then the inequ~'ty
03')
IEJ with coefflcient~ defined by j EJI ,
mj)
mam l e e
I
4. Some q~'ial creel
/ear=,
/~o = rain X~(dra~o) lee
(14')
is a valid c m [or all ~et~ o[ ~calan ~ ~ 0,i E Q and vectors o1 E R% o~;~ O, i E O satisfying
o'(~ - b~,)= ~,
05)
~O.
In particular, i f the v ~ t o n o~ut~)~, (15) and
¢'do > o, i E Q., then the ~qualJty 03") is a valid cut, with
ora'o
(14")
f. Apply Theorem 3 to y(o) E R q defined by --Otbio + oiAtt,
t~ ~ 0 integer,
v t
lee
L
(7')
,
t;,O )
then the cut (8) specialize: to supt~au) ti ~ inf X;aro , leJ lee IEe
~ >~ 0~ i E Q .
(8')
j EJI ,
~E J2 •
~¢e dao
) =
If each system AQ ~ a~o of (7) is replaced by a single inequality, i.e., if t E Rn is constrained by
Further, ifa~o > 0, Vi E Q, and we set Xr = ! [alo, then (8') becomes
min r e ~ x ~ - ~ ~
{ m~M IE e
for solving the minimization problems revolved in calculating the coeff'~ents 1~/for given vectors 0 l, or for Oven vectors oI and scalars ~ respectively. The problem of simultaneously optimizing Or ~ d mr, or oi, ~q and mi, i E Q requires a separate investigation and will not be dealt with here. Before turning to these computational questions, however, we will discuss some important special cases of Theorem 3.
i E Q,
/ EJ 1, tt ~ O, j ¢ J 2 ,
and
T = {y(o) l y(o) ;~ 0, V [y,.(oJ) ;~ o~(a~ - b~)]}. lee Since each vector y~ of (2') is now replaced by a scalar.vi(o~), each vector 0 i of Theorem 3 is to be replaced by a scalar ~,i, and, in view of (15), the condition (14) of Theorem 3 becomes (14') of the corollary. This proves the validity of the first cut of Corollary 3.1, from which the second one can be obtained by setting ~,r = 1/o~a/0,i E Q. In Section 5 we will describe simple procedures
maxa~ t/> 1.
(8")
/~J lee ato
For finite Q, this is the cut proposed by Owen [ 10] (see also [2,5]). For any Q, it can be viewed as a siightly improved version of the intersection cut [1 ] from the convex set $ = {xl N/Ej al/tL ~alo, i E Q}, which ha~ the same coefficients as ( 8 ) except for those (if any)] E J such that ai/< O, Vi E Q If Theorem 3 is used to strengthen (8 °) or (8") and if each N/aqti, i E Q, is bounded from below by blo = ~ro - 1 (which can always be achieved by scaling), then the strengthened cut takes on a particularly simple form, convenient to work with. Corollary 3.2. Let y E Rq, Q = { l , ..., q } , be con-
strained by yt = 1 - a r o + ~ aot j , iEJ
tiinteger,
iE Q,
t >I o ,
(16) (17)
j E Jl,
and YET=~JY~O,
V 0,;~1)}, lee
(18)
E. Bala:, R.G. Jeroslow / Strengthening cuts for mixed integer programs
229
In particular, if aio < 1, Vi ~ Q, then the inequality
and/et M ffi {m ~. Rql ~
mi >~O, mi integer, i ~ Q} .
(12)
~ inf max -ai/+ mi j~J~ m~M i~Q 1 --aio
Then the inequality
+ ~ ]~Jl m~_M i~Q
+ ~
(20')
is a valid cut. (19)
m a x ~ i a i i ~ m i n ~iaio ~
is a valid cut for all Zi >I O, i ~ Q. In particular, if ato > O, Vi ~ Q, then the inequality inf max-------aii+ mi ti + ~ ]~Yl m ~ M I~Q
alo
max aij t/f> 1 (20)
]~Y2 i~Q aio
is a valid cut.
Proof. In Theorem 3, replace (1), (2) and (4) by (18), (! 6) and (17) respectively. Then, since ab - bb " 1, Vi E Q, the cut (13), (14) specializes to (19). The cut (20) is clearly a special ease of (19). •
Remark 3.2. The inequalities (19), (20) are valid cuts for x E R q, t E R n, constrained by xiffiaio - ~ a i l t i , /~J
tj ~ 0 integer,
iEQ,
/ E J I , t/~> 0 , ] E J 2 ,
I,iEQ,
V (xlg0)}.
Proof. Replace aii by -ai/and aio by 1 - aio in (19), (20). Finally, when some of the variables have to satisfy constraints of the form (17') arid others are subject to constraints of the form (17"), we have a cut of the following form. Remark 3.4. Let x = (x l, a2), where X i E R qi, Qi = (1, ..., q i } , i = 1,2, QI t.J Q2 = Q, be constrainted by (16') and xlETl
v x2ET2
(21)
,
where V
Tl = {xllxi<~ l , i E Q l ,
(Xi~<~0)}
and (16')
and xETf{xlxig
max ----aii tit> 1,
/~s2 i~Q 1 - aio
inf max Zi(aii + mi) ti
(17')
T~z={x21xl>~0,iEQ2 , v (xi>~ l ) ) . iEQ2 Then (22)
Proof. Substitute xl = 1 - Y t into (16), (17). Note also that in deriving the cuts (19), (20), v,e also used the constraints (16), (17) [or (16'), (17') ], but did not use any upper bound on y (any lower bound on x). Since such bounds usually exist, they may be the source of further improvements.
is a valid cut, with inf max{max Xi(aii + mi), m~_M
iEQ 1
max Xi(-ai] + mi)}
/ EJl ,
~Q2
(23)
Remark 3.3. If x E R q is constrained by (16') and xETffi{xlx>~O,
V (xl>~l)},
(17")
max{max ~iai], i~Q 1
m a x X~--ai/)} iEQ2
] E.12.
and M is defined by (12), then the inequality ~o = min~. rain Xiaio, min hi(l - a/o))
inf m a x Xt(-a 0 + mi)tj / ~ J l mr=M i E q
+ ~ max Zi(-aii) ti >I min ~ I - aio) i~J2 i ~ q iEq
is a valid cut for all h ~ 0.
i~Q 1
(19')
iEQ2
for all ~,i >I 0, i E Q. In particular, ifaio > 0, Wi(5 QI, and aio < 1, Vi E Q2, and Q is finite, then the inequality (22) is a
230
E, B a ~ , R.G. Jero~low / Strengthening cuts for m ~ e d integer programs
not found any advantage in using weights other than l~= l , i E Q .
valid cut, with ~o = I and mill m a x , max a~i ÷ m~ max -a~i + m~ m~_M ~qt aio t~ 2 l--aio
Algorithm I for computing [~idefined by (25) Start with mi = 0, Vi E ~'~,and go to the (24)
max[max ai/ m a x - a s i . / [i~qt aio ' i ~ 2 1 - aso ~
Iterative Step. Find
]eJ~.
?~r(o~r + mr) = max ?~l(ai + ms)
i~_Q
Constraints like (21) are very frequent in integer programming, in particular when the variables are binary.
and
5. Calculating the cut-coefficients
where ties can be broken arbitrariiT.
~ ( % + ms + 1) = nfin ~i(oti " mi + 1)
8i-
/3/= inf max Xi(ai ÷ ms),
Otherwise, set
(25)
where ~,1 ~ 0 and at are given scalars, Q is finite, and M = {m ER¢I ~
m l ~ O , mlinteger, i E Q } .
(26)
~r(a, + mr) < ?~s(ob + ms + 1)
t
,
"
S
°~.
-
.
°
(29)
stop: + m,).
0o)
m r ~- m r -- 1 ,
ms *'m: + I , ml ~- ms ,
This subsumes ~11 the cuts of Section 4, namely: - for the cut (19), oft =ali, i E Q. - for the cut (20), ~! =ali, Xt = ",/aso,i ~ Q , - for the cut (19'), o~.= -a#, i E Q, - for the cut (20'), o~ = - a i i , ~i = 11(1 - aso), i E Q, - for the cut (22)-(23), ~ s = as/,i E Q t ; a i = -ai/, iEQ2, - for the cut (24), ots =aii, ~i = 1/.~so,i ~ Q I ; as = --ai/, ?ti = I/(1 - aio ), i E ~. 2. The general form (25) of a coefficient It/also applies to the cuts of Corollary 3.1 of Section 3, if we assume that the vectors o/, i E Q, are given. In that case the coefficients [3/,/ E J t , defined by (14') and (14") can be written in the form (25), where - for the cut ( 1 3 ) - ( 1 4 ),ai=o~a,,~i= I , E ~ Q , - for the cut (13")-(14"), ai = oz~, ~,i = 1/0~a~o,i ~ Q. The coefficients of the cu~ (13)-(14) of Theorem 3 are of a slightly different form. But if the vectors 0 i, i ~ Q, are given, then the algorithms to be discussed below car~ easily be adapted to this case too. Finally, these algorithms can be modified to use monoids of the form defined in Remark 3.1, with coefficients /~i ~ 1. We do not discuss this since we have so far
(28)
If
In this section we describe simple procedures for calculating the coefficients of the cuts discussed in Sections 3 and 4. We consider cuts whose coefficients/li, / E J t, are of the general form rn~M IEQ
(27)
i ~ r, s
and repeat the iterative Step. Theorem 4. Algorithm I finds El and the optimal values ms, i E Q, in t steps, where t = ~ ~ Ir~il. s~Q
(31)
Proof. 0) we first show that the values r~s, i E Q, obtained by the algorithm, minimize m a x ~,(¢~i +
mi),
(32)
over M. Since at each step the algorithm increases by 1 exactly one component of m and decreases by 1 exactly one other component, we have = o.
(33)
If the values mi, i E Q are not optimal, then there is a '.'et of values rhi, i E Q, such that - l,
(34)
If.. Bala~, R.G. lerogow / Strengthening cuts for mixed integer programs
for some index r ~ Q for which the maximum in (27) was achieved at the last iteration. But since th must satisfy
>_-
231
coefficients/3/. This is based on first minimizing max ~(ai + mi)
(37)
over the set of all m E R q satisfying
o,
(34) implies that there exists some p E Q - {r} such that ,hp ~ , ~ p + l
¢.35)
but not necessarily integer. For any scalar z, we will denote by [z] the greatest integer ~ z , and by (z ~ the smallest integer ~ z .
(36)
Algorithm 2 for computing {3i defined by (25)
and at the same time Xp(Ctp 4. flip) < Xr(Otr 4. m r ) "
(38)
mi>10
But from (35) and (36), since ~,p i> O, we have Compute x
a, +
> xp( p +
+ l) ,
which contradicts the fact that (29)holds since we have stopped. Hence ~ is optimal. (ii) Next we show that each mi, i E Q, is either monotone nonincreasing, or monotone nondecreasing. Suppose this is not true, and some ran, h ~ Q, is first decreased, then increased (a similar argument holds if m~ is first increased, then decreased). Then there exist two iterations, u and o, o > u, such that (a) at i,'eration u, m~ = tni, Vi ~ Q,
7=(~i~Q °ti)/(i~Q~ii) and _7 m~ - : - - ai , Ai
iE Q .
(40)
L e t m i = [m~'],i E Q, and
k =-
Xh(Olh 4" ff'lh) -- max Xda~ + ;hi),
and t~a is replaced by ~ - I. (b) at iteration o,m~ = tht, i ~ Q; with r~a = mh - 1,
(39,
~
[m~'l
•
(41)
Apply k times the following lterative Step. Find
~s(% + ms + l) = rain ~,i(c~i + mi + I).
(42)
~,a(a, +thh + 1) ffi min 7,~(a/+ th~ + I ) , Set and tha is replaced by th~ + 1. But the maximum in (27) is obviously a monotone nonincreasing function of the number of Rerations; therefore the maximum at iteration v, attained, say, for the index r, is no greater than the maximum at iteration u. Therefore
ms ~" ms + l , mi ~ m i ,
i ~s .
Theorem 5. Algorithm 2 finds 13iand an optimal set o f mi, i E Q, in k steps, where
X,(a, + ~ , ) < Xh(a, + ~h) k=- ~
[m~'] < q - 1.
(43)
-'- ~.h(C~h + / h h + l )
and (29) holds, i.e., the algorithm stops instead of increasing rhh. This proves the claim by contradiction. Since each m l is monotone and we start with mi = 0, i E Q, changing at each iteration exactly two mi by one unit each, it follows that the number of iterations is half the sum of absolute values of the final mi, as claimed in the theorem. We now give a second algorithm for finding the
Proof. The minimum of (37) over the set of m E R q satisfying (38) is attained for some n which (i) satisfies (38) with equality, and (ii) equalizes all ~i(~i + mi), i E Q. To see this, note that any sGlution violatiag (i) or (ii) can be improved. From the conditions just stated, if 3' denotes the common value of all ~i(ai + mi), i E Q, then the m~, i E Q, which achieve this equalization, are given by
E. Bal~, R.G. Je~dow /Strengthening ¢ut~[or mixed integerpmgram~
232
Cmollary $.l. l [ q
(40), and 7 itself is obtained by setting
=
2,then
/J/= min{X~(cq + (m;)), X2(a2 - lm~l)),
7 which yields (39). Since m~ + ... + mq = O, rounding each m ; downw~,ds to the nearest integer produces a negative sum, v ~oseabsolute value cannot exceed q - 1, since tt ~e are q terms and each term is changed by less than i. This proves the inequality (43). Since tbe sum of ms, i ~ Q, is - k at the start and is increased by 1 at each iterative step, the algorithm clearly terminates in k ~ q - I steps, with a set of integer m-~which satisfy (38) with ec.uality. To show that the solution t~ found by the algorithm is optimal, assume the opposite, and let t~ a better solution. Then ff
X,(a, + ~ , ) = max ~(o~ + ~ ) ,
(44)
since r~ is better than ~ , and Xr I> O, it follows that
j~It (49)
where • _ X2a2 - Xl a t mo Xt + X2
(50)
Proof. Since m~ + m~ = O, the value m~ = m~ = -m~ for which Xt(at + mo) = X2(u2 - mo) holds, is given by (50). If m [ is integer, then obviously (49) is the solution. Otherwise, the lterative Step of Algorithm 2 is to be applied once (since q - 1 = I), which amounts to finding min{Xl(at + ImP] + 1), ~,2(a2 + [-m~] + 1)} which gives ~/as defined in (49).
m,~mr - 1 . But since ~ also satisfies (38), there exists an index p ~ r such that
t~p ~ t~p + 1
6. Numerical example
(45)
and at the same time (since ~ is better than m-) >,p(ap + me) < ~,r(ar + mr).
(46)
Consider a pure integer program (x/= 0 or 1,1 -- 1, 2 . 3 ; x ! ;~ 0 integer,/= 4, ..., 8) whose optimal simplex tableau contains the following three rows:
But then from (45) and (46), since Xp ~ O, we have
Xp(O~p+ ~p + !) < X,.(otr + mr).
(47)
Now since the maximum in (44) is attained for r, clearly r~v > Ira,*] and so ~ r was obtained by increasing mr - 1 to mr at some lterative Step. But for this to happen, the minimum in (42) had to be attained for r, i.e., >,r[c~v+(~r- 1)+ 1] g M ~
+ ~(-xs),
+ ~(-xs), -
-
i(-x,)+
+m~+ 1), V i ~ Q - ( r } (48)
where m~ g mi, Vi 6 Q, since the rni are all monotone nondecreasing functions of the number of iterative steps. In particular, (48) had to hold for i = p, which contradicts (47). Hence ~ is optimal. The case when q = 2 deserves special attention, since it occurs frequently. For this case, Algorithm 2 specializes to a direct formula which gives the cut coefficient explicitly.
- S(-xs), and suppose the first three variables also haw~ to
satisfy x l +x2 + x 3 t > 1 . Since x i is integer-constrained f o r / - 1,2, 3, this inequality is equivalent to the disjunction xl~lx'x2~lvx
3~1
which give rise to the cut
233
E. Balas, R.G. leroslow / Strengthening cuts f o r mixed integer programs
of the type (8") ~, the rows of the simplex tableau used for the cut are
"=
ml
-
~
m~=_{X x i = aio + / - ~ a i i ( - x i )
,
i = 1, 2 , 3
4, 5, 6, 7, 8 of the above cut are of the form
max
/e{1,2,3}
(1) min{~( - s + 0 + 1), 67¢(~1 1 + 1), 6(1_3 6 - 1 + 1)) _
_1
-~,
=l 4'
[is = rain max{~(g 6 2 + mr), ~ ( - ~ + m2), 6(_ 4 + m3)} ' /36 = rain max{~(g 6 3 + m l ) , 6(-- 1 + m r ) ' ~(~ +m3)}, m~M
.
s=2.
Setml = 1,m 2 = - 1 + 1 =O, m3 = - l . S t o p : r ~ = ( l , 0, - 1) is optimal, and B7 = max{-~(- ~ + 1), 6 '
137 = min max{-~(-s + m 1),6g(gt + m 2 ) , 6~(gt + m3) } , m~W
rain m a x { ~ ( - -~ + mr), ~ ( - -~ + m,),
m~M
_6(s_.+ m3)} 36
To illustrate both algorithms, we use the first one to calculate ~4 and the second one to calculate/I7.
[34 (calculated by Algorithm 1)
3 =-I.
(2) man{6(- s + 1 + 1),6~(gI _ 1 + 1), _6(1_3 6 - 1 + 1)}
m ~l;,l
m~M
s=l
Set m l = 0 + 1 = 1 , m 2 = - ] l , m
/34 = min m a x { 6 ( - ~ + mr), 6(_ ~ + m2), 6(2 + m3)},
=
_
°
Applying the strengthening procedure, we obtain the cut (20'), whose coefficients are
#s
[mll = -1
Setml =0,m 2 = -l,m3 =-1. Since k = 2, the Iterative Step has to be applied twice.
-a# "l -- ai 0
a - ~1 = _ 1 ,
[m;I = 0 ,
m •3 = - - ~ X ~3- g =1- 7 , [ m ~ ] = _ l .
with J= {4,5, 6, 7,8}, then the coefficients/~i, j = #] =
~,
+ o),
-
=~-.
Calculating Is and ~6 by either of the two procedures, we find that r~ = (0, 0, 0) is optimal for both, i.e., these two coefficients cannot be strengthened. A calculat'on similar to those above shows that 1 /3s can be improved to/3 s = - ~. The strengthened cut is I
2
3
- ~x4 + ~Xs + ~ x 6 + ~ x 7 - ~ x 8 t> 1 .
It is stronger than the original cut in the direction of x4, xT, and xs, and two positive coefficients have been made negative.
Start with mi = O, i = 1,2, 3, and apply the lterative Step.
References
m a x { { ( - ~ + 0),,~(- ~ + 0), 6(2 + 0)} = ~ , r =
min{~(-~ + 1),~(-~+ 1 ) , ~ + 1)} - - - i ,
3,
s=l"
Since ~ > - [, we set m3 = 0 - 1 = - 1, m i = 0 + 1 = 1, m 2 = O, and repeat the lterative Step.
maxS¢-'( ,S- 7 + l),~(--~ + O),~(i- l)}= - ~ t,
,-'- 1 ,
min{~(- -~ + 2), ~ ( - ~ + 1), ~6
s
+ 0)} = 2~ i ,
= 3.
Since - ~ ~ 2, stop: ~ = ( l , O, - 1) is optimal and
~7 (calculated by Algorithm 2) 1
[ 1 | E. Balas, Intersection cuts - A new type of cutting planes for integer programming, Operations Res. 19 (1971) 19-39. [2| E. Balas, Intersection cuts from disjunctive constraints, MSRR No. 330, Carnegie-Mellon University (first draft August 1973, revised and expanded February 1974). [3] E. Balas, Disjunctive programming: Cutting planes from logical conditions, in. O.L. Mangasarian, R.R. Meyer and S.M. Robinson (eds.), Nonlinear Programming 2 (Academic Press, London J, t 975) 279-312. [4] E. Balas, Disjunctive pro~ ~'nming: Properties of the convex hull of feasible points, MSRR No. 348, Ca:negieMellon University (July 1974). [51 F. Glover, Polyhedral annexation in mixed integer programming, Math. Programming 9 (1975) 161-188. [61 R.E. Gomory, An algorithm for the mixed integer problem, RM-2597, The RAND Corporation (1960). [7] R.E. Gomory, Some polyhedra related to combinatorial problems, Linear Algebra and AppL 2 (1969) 451-558.
234
E. Balas, R.G. Jeroslow / 8trengthening cuts for mixed integer programs
[8] R.G. Jeroslow, The principles of cutting plane theory: Part I (with Addendum), GSIA, Carnegie-Mellon University. (Tebruary 1974). [9] R.G. Jeroslow, Cutting planes for relaxations of integer programs, MSRR No. 347, Carnegie-Mellon, University (July 1974).
[ 10] G. Owen, Cutting planes for programs with disjunctive constraints, J. Optimization Theory Appl. 11 (1973) 49-55.