European Journal of Operational Research 165 (2005) 625–648 www.elsevier.com/locate/dsw
Discrete Optimization
Partial convexification cuts for 0–1 mixed-integer programs Hanif D. Sherali a, Youngho Lee a
b,*
, Youngjin Kim
b
Grado Department of Industrial and Systems Engineering, Mail Code 0118, Virginia Polytechnic Institute and State University, Blacksburg, VA 24061, USA b Department of Industrial Engineering, Korea University, Sung-Buk Ku Anam Dong 5-1, Seoul 136-701, South Korea Received 9 November 2001; accepted 19 November 2003 Available online 10 May 2004
Abstract In this research, we propose a new cut generation scheme based on constructing a partial convex hull representation for a given 0–1 mixed-integer programming problem by using the reformulation–linearization technique (RLT). We derive a separation problem that projects the extended space of the RLT formulation into the original space, in order to generate a cut that deletes a current fractional solution. Naturally, the success of such a partial convexification based cutting plane scheme depends on the process used to tradeoff the strength of the cut derived and the effort expended. Accordingly, we investigate several variable selection rules for performing this convexification, along with restricted versions of the accompanying separation problems, so as to be able to derive strong cuts within a reasonable effort. We also develop a strengthening procedure that enhances the generated cut by considering the binariness of the remaining unselected 0–1 variables. Finally, we present some promising computational results that provide insights into implementing the proposed cutting plane methodology. Ó 2004 Elsevier B.V. All rights reserved. Keywords: Integer programming; Cutting plane; Branch-and-cut; Convexification cut; Reformulation–linearization technique (RLT)
1. Introduction The reformulation–linearization technique (RLT) of Sherali and Adams [12,13] reformulates a 0–1 mixed-integer linear programming problem into a mixed-integer 0–1 polynomial programming problem by suitably multiplying the problem constraints with polynomial expressions involving the binary variables and their complements, and then linearizes the resulting polynomial problem to obtain an extended higher dimensional linear program. This process yields a tighter representation of the problem depending on the degree of the polynomial multiplicative factors used in the reformulation phase. In fact, the convex hull representation of the problem is obtained as the degree increases up to the number of binary variables in the problem. In this paper, we use this RLT concept to develop a new cut generation scheme based on a
*
Corresponding author. E-mail address:
[email protected] (Y. Lee).
0377-2217/$ - see front matter Ó 2004 Elsevier B.V. All rights reserved. doi:10.1016/j.ejor.2002.09.002
626
H.D. Sherali et al. / European Journal of Operational Research 165 (2005) 625–648
(partial) convex hull representation that enforces binariness on suitable subsets of the 0–1 variables. By designing a separation problem that determines valid inequalities implied by the projection of the resulting extended linear program into the space of the original variables, we devise a scheme for efficiently generating a cutting plane that is most violated by the current fractional point. In this line of research, motivated by the development presented in [9,12,13], Balas et al. [2] proposed a lift-and-project cutting plane procedure where the original constraint set is multiplied by a single 0–1 variable and its complement before projecting back onto the original space to generate valid inequalities. The construct of using RLT products one variable at a time in this fashion leads to the same sequential convexification process of Balas [1] that was proposed earlier in the context of disjunctive programming. The cutting planes derived turn out to be facets of the convex hull representation with respect to enforcing binariness on some single 0–1 variable at each step [2,13]. The objective function of the linear separation problem that was designed by Balas et al. [2] to generate such cuts was composed to yield a deepest cut that deletes an optimal vertex of the current LP relaxation. A lifting step was used to reduce the size of the LPs for generating the cuts, and a strengthening step of Balas and Jeroslow [4] was also applied. In a subsequent paper, Balas et al. [3] conducted several computational experiments to investigate the impact of the quality and the number of cuts generated on the overall solution effort. They reported that the Euclidean distance between the hyperplane defining the cut and the optimal solution of the LP relaxation is a useful measure of cut quality. (See Sherali and Shetty [14] for some earlier work on deriving deep disjunctive cutting planes using such criteria.) Their results also revealed that it is better to generate cuts in large ‘‘rounds’’ rather than one at a time or in smaller rounds. They also dealt with the balance between the decision of branching versus cutting at any given node of the enumeration tree in a branch-and-cut framework, and proposed a simple strategy based on the quality of the cuts derived at the root node. Other issues such as node and branching variable selection in the enumeration tree were also investigated. Parija et al. [11] proposed an algorithm that generates a facet of an underlying integer-polytope. This was accomplished through a separation problem, which in essence, seeks the minimum sum of nonnegative linear combination weights that would need to be associated with 0–1 feasible solutions in order to represent the current fractional solution. Their algorithm proposed a column generation procedure to solve this separation problem. The dual solution to this problem was shown to define a facet that deletes the current fractional solution. The lift-and-project cutting plane scheme relies on a sequential convexification process that considers binariness on one variable at a time, while the foregoing procedure examines the entire convex hull representation. The strength of the resulting cut naturally depends on the tightness of the representation, which in turn depends on the number of variables selected for convexification. When considering a single variable at a time, the lifting process doubles the number of variables and constraints. Moreover, the size of such a separation problem increases exponentially as the number of selected variables increases. Hence, in this paper, we explore the effect of restricting the number of selected variables and constraints for conducting the convexification process to a suitable manageable size, while also reducing the size of the separation problem by examining judiciously restricted classes of related valid inequalities. In this spirit, we investigate different schemes for selecting variables to conduct such a partial convexification process, and for designing suitable separation problems to generate valid inequalities. In addition, we propose a strengthening procedure to enhance the generated cut by considering the binary restrictions on the remaining unselected 0–1 variables. The remainder of this paper is organized as follows. In Section 2, we briefly review the RLT process in the context of 0–1 mixed-integer knapsack problems. Section 3 presents a partial convexification cut generation scheme. In Section 4, we focus on reducing the size of the resulting separation problem to derive certain special classes of cuts. In Section 5, we propose a strengthening procedure to enhance the cuts via a lifting process. In Sections 6 and 7, we investigate alternative approaches for generating cuts. Specifically, Section 6 deals with the partial convexification cut generation scheme using multiple constraints, and Section 7 addresses the separation procedure of Parija et al. [11] based on a column generation procedure.
H.D. Sherali et al. / European Journal of Operational Research 165 (2005) 625–648
627
In Section 8, we provide computational results and discuss some implementation issues, and Section 9 concludes the paper.
2. Preliminaries: The RLT process In this section, we discuss the concept of the RLT approach in the context of 0–1 mixed-integer knapsack problems, as pertinent to our approach for generating the partial convexification cuts for more general mixed-integer programs. Let us define the feasible region of a 0–1 mixed-integer knapsack problem as ( ) X KP ¼ x 2 Rn : aj xj 6 a0 ; xj 2 f0; 1g for j 2 N1 ; 0 6 xj 6 1 for j 2 N N1 ; ð1Þ j2N
where N1 N f1; . . . ; ng, 0 < aj 6 a0 for all j 2 N1 , and aj > 0 for all j 2 N N1 . Let us also denote the linear programming relaxation of KP by KP0 . Now, consider any d 2 f1; . . . ; jN1 jg. The RLT process for constructing a relaxation KPd at level d consists of the following two steps: Step 1 (Reformulation). Multiply Q each Q constraint in KP0 , including the bounding constraints, with every product of the form j2J1 xj j2J2 ð1 xj Þ, where J1 and J2 are disjoint subsets of N1 , such that jJ1 [ J2 j ¼ d. Call the resulting nonlinear polynomial system NLd . Step 2 (Linearization). Linearize NLd by (i) substituting xj for x2j for all j 2 N1 , and (ii) substituting a varQ iable kJ for every Qdistinct product term j2J xj , where J N1 , and a variable yJk for every distinct product term xk j2J xj , where J N1 and k 2 N N1 . Let KPd be the resulting polyhedron defined in the space of the ðx; k; yÞ-variables. Since any x 2 KP0 clearly satisfies the constraints in NLd , the multiplication performed in Step 1 above only Q restrictions and does not tighten the constraints of KP0 . Furthermore, replacing Q generates redundant x with k and x J k j2J j j2J xj with yJk for J N1 , and k 2 N N1 in Step 2 does not tighten these constraints either. The only tightening mechanism in this process is based on recognizing the binariness of the variables at Step 2 by replacing the terms x2j by xj for all j 2 N1 . Indeed, while this substitution does not eliminate any points for which the binary restrictions are satisfied, it can be shown to delete all fractional vertices of KP0 for any d 2 f1; . . . ; jN1 jg, although for d < jN1 j, it might create new fractional vertices [13]. The strength of the resulting reformulation depends on d, the degree of the terms used to produce the polynomial program at Step 1. In fact, as this degree varies from one up to the number of variables in the problem, we obtain a hierarchy of tighter representations, with the final relaxation representing the convex hull of feasible solutions. The following theorem of Sherali and Adams [12,13] asserts this principal property of the RLT process. Theorem 2.1. Let conv(KP) denote the convex hull of KP and let KPPd be the projection of KPd onto the x-space. Then we have KPP 0 KPP 1 KPP 2 KPP jN1 j ¼ convðKPÞ; where KPP 0 KP0 . Example 2.1. Consider a knapsack polytope KP ¼ fx 2 R2 : 2x1 þ 3x2 6 4; xj 2 f0; 1g for j ¼ 1; 2g. Its linear programming relaxation KP0 is given as KP0 ¼ fx 2 R2 : 2x1 þ 3x2 6 4; 0 6 x1 6 1; 0 6 x2 6 1g, and the convex hull of KP is given as (see Fig. 1): convðKPÞ ¼ fx 2 R2 : x1 þ x2 6 1; 0 6 x1 6 1; 0 6 x2 6 1g.
628
H.D. Sherali et al. / European Journal of Operational Research 165 (2005) 625–648
Fig. 1. The RLT process for deriving the convex hull representation.
To illustrate the RLT process for generating conv(KP) via Theorem 2.1, we employ the relaxation at level d ¼ 2 and multiply each constraint by each of the factors, x1 x2 ; x1 ð1 x2 Þ; ð1 x1 Þx2 , and ð1 x1 Þð1 x2 Þ. After eliminating duplicate inequalities, we obtain the resulting polynomial program NL2 . NL2 ¼ x 2 R2 : x1 x2 6 x1 ; x1 x2 6 x2 ; x1 x2 P x1 þ x2 1; x1 x2 P 0; x1 x2 6 0; 0 6 x1 6 1; 0 6 x2 6 1 : Setting x1 x2 ¼ k12 and x2j ¼ xj for j ¼ 1; 2, we obtain the resulting polyhedral set KP2 . KP2 ¼ x 2 R2 ; k12 2 R1 : k12 6 x1 ; k12 6 x2 ; k12 P x1 þ x2 1; k12 P 0; k12 6 0; 0 6 x1 6 1; 0 6 x2 6 1 : In this example, we can easily see that the projection KPP 2 of KP2 is obtained by simply setting k12 ¼ 0 as implied by KP2 , yielding KPP 2 ¼ x 2 R2 : x1 þ x2 6 1; 0 6 x1 6 1; 0 6 x2 6 1 : This represents the convex hull of KP as illustrated in Fig. 1. 3. Partial convexification cuts We now describe a method for generating the proposed partial convexification cuts based on a suitable single constraint of a mixed-integer program. (Later, we will generalize this process to using multiple constraints.) Suppose that x is an LP solution to a 0–1 mixed-integer programming problem (MIP) for which some binary variables are fractional. Let us select J as a subset of these fractional binary variables, and define the following set based on the selection of a suitable defining constraint from the underlying MIP. (In theory, however, J only needs to be a subset of the binary variables indexed by j 2 N1 N , but in practice, it is preferable to focus on composing J as a subset of fj 2 N1 : xj is fractionalg.) ) ( X n KPðJ Þ ¼ conv x 2 R : aj xj 6 a0 ; xj 2 f0; 1g for j 2 J ; 0 6 xj 6 1 for j 2 J N J : ð2Þ j2N
Without loss of generality, to simplify notation, we assume that the structural constraint in (2) satisfies 0 < aj 6 a0 for all j 2 N1 J (6¼ ;), and aj > 0 for all j 2 N N1 (where N simply focuses here on the indices of variables having nonzero coefficients in the selected knapsack constraint). Note that KPðJ Þ is a partial convex hull representation with respect to J and it contains KPPd with d ¼ jJ j. Suppose that jJ j is not too large in the sense that 2jJ j combinations are manageable to enumerate. Define Sk , k ¼ 1; . . . ; K, to be K 6 2jJ j subsets of J such that putting xj ¼ 1 for all j 2 Sk , and xj ¼ 0 for all j 2 J Sk , admits a feasible solution to fg in (2). That is, equivalently,
H.D. Sherali et al. / European Journal of Operational Research 165 (2005) 625–648
a0
ck
X
629
! aj
P0
for all k ¼ 1; . . . ; K:
ð3Þ
j2Sk
The RLT process in [13] can be shown to yield KPðJ Þ fx : ðx; y; kÞ satisfy constraints ð4Þg. Here, we have used kk and yjk to respectively represent the product RLT variables kSk and ySk j for the sake of notational convenience. Note that this can alternatively be viewed as constructing the set of convex combinations of feasible solutions. X kk ; for all j 2 J ; xj ¼ k:j2Sk
xj ¼
K X
yjk ;
for all j 2 J ;
k¼1 K X
kk ¼ 1;
ð4Þ
k¼1
X
aj yjk 6 ck kk ;
for all k ¼ 1; . . . ; K;
j2J
yjk 6 kk ; for all j 2 J ; k ¼ 1; . . . ; K; ðk; yÞ P 0: Projecting (4) onto the x-space, we have that ) ( X n pj xj 6 p0 ; for all ðp; p0 Þ 2 extreme directions of K ; KPðJ Þ ¼ x 2 R : j2N
where K is a (pointed) cone described by the inequalities (5), and is derived by associating the respective multipliers pj for j 2 J , pj for j 2 J , p0 , ak for k ¼ 1; . . . ; K, and bjk for j 2 J , k ¼ 1; . . . ; K, with the constraints in (4): 8 < X X K ¼ ðp; p0 Þ : pj þ p0 ck ak bjk P 0; for all k ¼ 1; . . . ; K; : j2Sk j2J 9 = ð5Þ pj þ aj ak þ bjk P 0; for all j 2 J ; k ¼ 1; . . . ; K; ða; bÞ P 0; ðp; p0 Þ unrestricted : ; P We are interested in deriving facets of KPðJ Þ of the form j2N pj xj 6 1, where p0 ¼ 1 is added as a normalization restriction, such that this constraint is most violated by x, if at all possible. Hence, we wish to solve the following linear program: LPðJ ; xÞ:
max
X
xj pj
j2N
s:t:
X j2Sk
pj þ ck ak þ
X
bjk 6 1;
for all k ¼ 1; . . . ; K;
j2J
pj aj ak bjk 6 0;
for all j 2 J ; k ¼ 1; . . . ; K;
ða; bÞ P 0; p unrestricted:
ð6Þ
630
H.D. Sherali et al. / European Journal of Operational Research 165 (2005) 625–648
solve LPðJ ; xÞ in (6), with the optimal objective value being m½LPðJ ; xÞ. If this latter value is Let ð p; a; bÞ P j xj 6 1, which happens to be a facet of KPðJ Þ [13] if ð greater than 1, then the valid inequality j2N p p; a; bÞ is an extreme point optimum, deletes x. Example 3.1. Consider the knapsack polytope KP ¼ x 2 R4 : 13x1 þ 11x2 þ 11x3 þ 10x4 6 32; xj 2 f0; 1g for j ¼ 1; 2; 3; 4 : Let the current fractional solution be x ¼ ð1; 0:5; 0:5; 0:5Þ. With N ¼ f1; 2; 3; 4g, suppose that we select J ¼ f2; 3; 4g. This yields the following sets Sk for k ¼ 1; . . . ; K 23 , with ck defined in (3) being given as below: k
1
2
3
4
5
6
7
8
Sk ck
f;g 32
f2g 21
f3g 21
f2; 3g 10
f4g 22
f2; 4g 11
f3; 4g 11
f2; 3; 4g 0
The separation problem defined in (6) is given as follows: LPðJ ; xÞ:
1 1 1 max p1 þ p2 þ p3 þ p4 2 2 2 s:t: 32a1 þ b11 6 1; p2 þ 21a2 þ b12 6 1; p3 þ 21a3 þ b13 6 1; p4 þ 22a5 þ b15 6 1; p2 þ p3 þ 10a4 þ b14 6 1; p2 þ p4 þ 11a6 þ b16 6 1; p3 þ p4 þ 11a7 þ b17 6 1; p2 þ p3 þ p4 þ b18 6 1; p1 13a1 b11 6 0; p1 13a2 b12 6 0; p1 13a3 b13 6 0; p1 13a4 b14 6 0; p1 13a5 b15 6 0; p1 13a6 b16 6 0; p1 13a7 b17 6 0; p1 13a8 b18 6 0; ða; bÞ P 0; ðp1 ; p2 ; p3 ; p4 Þ unrestricted:
An optimal solution to this problem yields p1 ¼
13 ; 15
p2 ¼ p3 ¼ p4 ¼
2 ; 15
with m½LPðJ ; xÞ ¼ 1:25 > 1:
Hence, we derive the valid inequality 13x1 þ 2x2 þ 2x3 þ 2x4 6 15 which deletes the solution x.
H.D. Sherali et al. / European Journal of Operational Research 165 (2005) 625–648
631
4. Reduced separation problems for deriving special classes of cuts The size of the separation problem (6) increases exponentially with jJ j. This problem has jN j þ ðjJ j þ 1Þ2jJ j variables and ðjJ j þ 1Þ2jJ j constraints, and even though it is a linear program, solving it repeatedly might pose a significant computational burden, particularly for larger values of jJ j. Hence, we explore a method for reducing its complexity by exploiting its special structures. Note that we can rewrite this separation problem (6) in a projected form as follows: X xj pj LPðJ ; xÞ: max j2N
s:t:
n o 1 P minðak ;bjk 8j2J Þ ck ak þ j2J bjk X B C C pj þ B @ s:t: aj ak þ bjk P pj ; for all j 2 J ; A 6 1; 0
j2Sk
ðak ; bjk
ð7Þ for all k ¼ 1; . . . ; K:
for all j 2 J Þ P 0
By writing the dual of the inner minimization problem in (7), we can equivalently state this problem as follows: X xj pj LPðJ ; xÞ: max j2N
s:t:
P maxðlj ;8j2J Þ j2J pj lj X P B pj þ @ s:t: j2J aj lj 6 ck ; 0
j2Sk
0 6 lj 6 1;
1 C A 6 1;
ð8Þ for all k ¼ 1; . . . ; K:
for all j 2 J
Now, let us define 8 9 < = X T ¼ k 2 f1; . . . ; Kg : a j 6 ck : : ; j2J
Assuming that we are interested in facets having pj P 0, for all j 2 J , we get from (8) that the solution to the maximization problem for any k 2 T is to let lj ¼ 1 for all j 2 J . Hence, for k 2 T , (8) becomes X X pj þ pj 6 1; for all k 2 T : ð9Þ j2Sk
j2J
Now consider any k 2 T f1; . . . ; Kg T . In general, we cannot reduce (8) to a closed-form convenient constraint such as (9) for this case, unless we examine certain restricted forms of cuts. Case 1. Restrict pj ¼ aaj , for all j 2 J , where a P 0. In this case, the objective function in (8) becomes, noting the constraints, 2 3 X X X pj lj ¼ aaj lj ¼ 4 aj lj 5a 6 ck a: j2J
j2J
j2J
But since the solution lj ¼ P
ck j2J
aj
;
for all j 2 J ;
ð10Þ
632
H.D. Sherali et al. / European Journal of Operational Research 165 (2005) 625–648
P satisfies 0 6 lj 6 1 because k 2 T , and j2J aj lj ¼ ck , we have that equality holds true in (10) at optimality for the maximization problem in (8). Hence, in this case, (8) becomes X pj þ ck a 6 1; for all k 2 T : ð11Þ j2Sk
Therefore, using (9) and (11) along with the restriction pj ¼ aaj for all j 2 J , where a P 0, we get that the separation problem is given as follows: 2 3 X X xj pj þ 4 xj aj 5a LPðJ ; xÞ: max j2J
s:t:
X
2 pj þ 4
j2Sk
X
j2J
X
3
aj 5a 6 1;
for all k 2 T ;
ð12Þ
j2J
pj þ ck a 6 1;
for all k 2 T ;
j2Sk
a P 0;
pj unrestricted for all j 2 J :
The key insight here is that (12) arises from the restriction imposed on the class of cuts. Other restrictions of this type can be used to derive alternative classes of cuts, as described by Cases 2 and 3. Case 2. Restrict pj ¼ axj , for all j 2 J , where a P 0. In this case, the maximization problem in (8) yields 8 93 2
j2J
say, for all k ¼ 1; . . . ; K. P Consequently, the separation problem becomes (noting that Dk j2J xj for all k 2 T ) 2 3 X X xj pj þ 4 x2j 5a LPðJ ; xÞ: max j2J
s:t:
X
j2J
pj þ Dk a 6 1;
for all k ¼ 1; . . . ; K;
ð13Þ
j2Sk
a P 0;
pj unrestricted for all j 2 J :
Case 3. Restrict pj ¼ a P 0, for all j 2 J1 J , and pj ¼ 0, for all j 2 J J1 . In this case, the separation problem is given by LPðJ ; xÞ:
max
X
xj pj þ a
j2J
s:t:
X
X
xj
j2J 1
pj þ dk a 6 1;
for all k ¼ 1; . . . ; K;
j2Sk
a P 0;
pj unrestricted for all j 2 J ;
ð14Þ
H.D. Sherali et al. / European Journal of Operational Research 165 (2005) 625–648
where from (8), we have 8 9
for all k ¼ 1; . . . ; K:
633
ð15Þ
j2J1
We propose below two possible alternatives for selecting J 1 for Case 3, motivated by the desire to generate deep cuts that delete the current LP solution x. Case 3(a). J 1 ¼ fj 2 J : xj ¼ 1g. In this case, if we further have that J 1 N1 , then we can tighten the cut generated by recognizing that we can impose lj to be binary in (15) for all j 2 J 1 , and hence derive lower valid values of dk for all k 2 K for use in (14). Note that in this context, dk simply equals the maximum number of coefficients in the set faj ; j 2 J 1 g, whose sum does not exceed ck , for all k 2 K, which is readily computable by selecting these coefficients in nondecreasing order. Observe that while we could have adopted this strategy of restricting lj to be binary for all j 2 J \ N1 in general within (8) for application to all the foregoing cases, this would require the solution of 0–1 knapsack problems in general, and would not be computationally advisable. Case 3(b). This strategy demonstrates that Case 3 subsumes the simultaneous lifting of minimal cover inequalities. As before, let N1 N denote the set ofPbinary variablesP in the selected knapsack constraint, and let C N1 be a minimal cover in the sense that a > a , but j 0 j2C j2C aj - minj2C faj g 6 a0 , so that the P corresponding minimal cover inequality j2C ð1 xj Þ P 1 is valid (see [10]). We can attempt to find a minimal cover inequality that deletes x by solving the following separation problem (see [7]), where yj ¼ 1 if j 2 C, and yj ¼ 0 otherwise, for all j 2 N1 : X min ð1 xj Þyj j2N1
s:t:
X
aj yj P ba0 þ 1c;
j2N1
yj 2 f0; 1g;
for all j 2 N1 :
Any feasible solution to this separation problem having an objective value of less than one would yield a minimal cover inequality that deletes x. Rather than solving this separation problem to optimality, we can attempt to find such a solution by suitably rounding an optimum to its continuous relaxation as in Crowder et al. [7]. Having composed the set C in this fashion, we can select J N1 C such that jJ j is manageably small, and xj is (preferably) fractional for j 2 J . The simultaneous lifting of the derived minimal cover would in effect be conducted with respect to this set J . Accordingly, we would then apply Case 3 with J 1 C in (14), but while tightening the generated cut recognizing as above that we can impose lj to be binary in (15) for all j 2 J 1 C, since we know that C N1 . This leads to a simultaneous lifting of the minimal cover inequality with respect to the set J . Furthermore, observe that in Problem (15), we have retained the flexibility of letting pj ¼ a P 0 8j 2 C determined by this problem itself, rather than forcing a to equal 1=ðjCj 1Þ. The reduced separation problems (12)–(14) have jJ j þ 1 variables and 2jJ j constraints. This is a significant reduction compared to the original separation problem. Consequently, we can select a suitable set J having a cardinality up to 10 or so while ensuring a reasonable amount of computational burden. Obviously, a larger value of jJ j would potentially yield stronger cuts, but would entail a greater cut generation effort.
634
H.D. Sherali et al. / European Journal of Operational Research 165 (2005) 625–648
Example 3.1 (continued). The separation problem defined in (12) for the situation described in Example 3.1 is given as follows: 1 1 1 p2 þ p3 þ p4 þ 13a 2 2 2 s:t: 13a 6 1; p2 þ 13a 6 1;
LPðJ ; xÞ :
max
p3 þ 13a 6 1; p4 þ 13a 6 1; p2 þ p3 þ 10a 6 1; p2 þ p4 þ 11a 6 1; p3 þ p4 þ 11a 6 1; p2 þ p3 þ p4 6 1; ðp2 ; p3 ; p4 Þ unrestricted:
a P 0;
An optimal solution to this problem yields a¼
1 ; 15
p2 ¼ p3 ¼ p4 ¼
2 ; 15
with m½LPðJ ; xÞ ¼
16 > 1: 15
Hence, we obtain the valid inequality 13x1 þ 2x2 þ 2x3 þ 2x4 6 15 using the Case 1 restriction p1 ¼ 13a ¼ 13=15. In this example, the reduced problem yields the same valid inequality as that obtained in Example 3.1 via the original separation problem.
5. A strengthening procedure for the partial convexification cut In this section, we propose a method for strengthening the partial convexification cut by exploiting the binariness of the 0–1 variables that might be present in J . Suppose, in general, that we have derived some valid inequality for KP given by X pj xj 6 p0 ð16Þ j2N
using any mechanism (such as among the ones prescribed in the foregoing section) that has considered binariness on the variables indexed by j 2 J N1 , where N1 N is the set of 0–1 variables. We will sequentially tighten (16) by considering the variables xj , for j 2 J \ N1 N1 J one at a time, in some order. In this process, assume that at some stage, we have the inequality (16), and that we have already considered binariness on L N1 J and we are now considering some index k 2 N1 JL, where JL ¼ J [ L. Define ) ( X X h0 ¼ max p j xj : aj xj 6 a0 ; xj binary for j 2 N1 ; 0 6 xj 6 1 for j 2 N N1 ; and xk ¼ 0 ; j6¼k
( h1 ¼ max
X j6¼k
j2N
p j xj :
X
ð17Þ ) aj xj 6 a0 ; xj binary for j 2 N1 ; 0 6 xj 6 1 for j 2 N N1 ; and xk ¼ 1 :
j2N
ð18Þ
H.D. Sherali et al. / European Journal of Operational Research 165 (2005) 625–648
Then, the constraint X pj xj þ ðh0 h1 Þxk 6 h0
635
ð19Þ
j6¼k
is valid for KP. This is evident from (16)–(18), considering xk ¼ 0 or 1. Observe that (19) is derived with the motivation of obtaining as tight an inequality implied by KP as possible, given fixed coefficients pj for j 2 N fkg, and considering binariness on xk (along with binariness on N1 ). The constraint (19) is of the type X pj xj 6 h1 xk þ ð1 xk Þh0 ; j6¼k
and so, any upper bounds h0 and h1 on the respective problems (17) and (18) would also yield a valid inequality. For example, we could compute h0 and h1 as rounded-down values of the respective LP relaxations of (17) and (18), or as somewhat tighter upper bounds than these obtained by conducting a limited branch-and-bound enumeration on (17) and (18). Note also that in these problems (17) and (18), we could have enforced binariness only on JL rather than on N1 ; however, the latter case yields a tighter constraint (19). Example 3.1 (continued). Consider the valid inequality 13x1 þ 2x2 þ 2x3 þ 2x4 6 15, derived in Example 3.1 based on J ¼ f2; 3; 4g, and let us tighten this inequality with respect to the coefficient of x1 . Using k ¼ 1, we get from (17) and (18) that n o 3 h0 ¼ max 2x2 þ 2x3 þ 2x4 : 11x2 þ 11x3 þ 10x4 6 32; ðx2 ; x3 ; x4 Þ 2 f0; 1g ; n o 3 h1 ¼ max 2x2 þ 2x3 þ 2x4 : 11x2 þ 11x3 þ 10x4 6 19; ðx2 ; x3 ; x4 Þ 2 f0; 1g : This yields h0 ¼ 6 (at x2 ¼ x3 ¼ x4 ¼ 1) and h1 ¼ 2 (at x2 ¼ 1, x3 ¼ x4 ¼ 0). Hence, by (19), we derive the valid inequality 4x1 þ 2x2 þ 2x3 þ 2x4 6 6
or
2x1 þ x2 þ x3 þ x4 6 3;
which happens to be a facet of KPðJ Þ in this case.
6. Partial convexification cut from multiple constraints Thus far, we have considered a single constraint and have explored the generation of a partial convexification cut based on the corresponding knapsack polytope. In this section, we extend our analysis to the case of multiple constraints. Suppose that we have identified a set J fj 2 N1 : xj is fractionalg; where N1 N represents the set of 0–1 variables, along with a set of m constraints X aj x j 6 a0 ;
ð20Þ
j2N
where aj 2PRm , for all j 2 N , and a0 2 Rm . Defining Sk , k ¼ 1; . . . ; K, as before, let us compute similar to (3) ck a0 j2Sk aj , for all k ¼ 1; . . . ; K, and note that ck 2 Rm . Without loss of generality, denoting J ¼ N J , assume that
636
H.D. Sherali et al. / European Journal of Operational Research 165 (2005) 625–648
8
aj xj 6 ck ; 0 6 xj 6 1 for all j 2 J
j2J
9 = ;
6¼ ;;
for all k ¼ 1; . . . ; K;
or else, remove any such nonconforming index k from the set f1; . . . ; Kg. Let aij and cik be the ith elements of aj and ck , respectively. Then, the separation problem (6) directly generalizes to the following in the present case, where we now need to let p0 take on either sign because we no longer have a simple knapsack constraint in a particular form, and where we have instead adopted the normalization constraint, jpj j 6 1, for all j 2 N . X xj pj p0 LPðJ ; xÞ : max j2N
s:t:
X
pj þ
j2Sk
pj
m X
cik aik þ
i¼1 m X
X
bjk 6 p0 ;
for all k ¼ 1; . . . ; K; ð21Þ
j2J
aij aik bjk 6 0;
for all j 2 J ; k ¼ 1; . . . ; K;
i¼1
ða; bÞ P 0; 1 6 pj 6 1;
for all j 2 N ; p0 unrestricted:
Similar to (8), the separation problem (21) can likewise be projected into the following form: X xj pj p0 LPðJ ; xÞ : max j2N
s:t:
P 1 maxðlj ; for all j2J Þ j2J pj lj X P B C pj þ @ s:t: A 6 p0 ; j2J aj lj 6 ck ; 0
j2Sk
for all k ¼ 1; . . . ; K;
ð22Þ
0 6 lj 6 1; for all j 2 J
1 6 pj 6 1 for all j 2 N ;
p0 unrestricted:
Observe that the maximization problem within each constraint in (22) has m structural restrictions (in lieu of the single knapsack constraint that we had before). Note that by considering all the problem constraints in (20) and letting jJ j ¼ 1, we recover the lift-and-project cuts of Balas et al. [2] as a special case. Furthermore, under Cases 2 and 3(a) that remain applicable in the present context (but while trying the cases a P 0 as well as a 6 0, or even mixed-sign cost coefficients for j 2 J under some suitable criteria), we can derive the corresponding separation problems similar to (13) and (14) in attempting to obtain a valid inequality that deletes the current LP solution x. Section 8 provides some computational results using this strategy.
7. Column generation based separation procedure In this section, we investigate another separation procedure based on knapsack constraints for pure 0–1 integer programs, where N1 N . In this special case, if we also select J as the set of all the variables, J ¼ N1 N , then LPðJ ; xÞ of (6) can be written as follows: X xj pj SEPC : max j2N
s:t:
X
pj 6 1;
for all k ¼ 1; . . . ; K;
j2Sk
p unrestricted:
ð23Þ
H.D. Sherali et al. / European Journal of Operational Research 165 (2005) 625–648
637
The dual problem corresponding to SEPC is given as follows: min
K X
kk
k¼1
s:t:
X
kk ¼ xj ;
for all j 2 N ;
ð24Þ
k:j2Sk
k P 0: Note that this restricted approach yields the same cut generation mechanism as in Parija et al. [11]. Since the number of columns (feasible solutions to the original knapsack constraint) increase exponentially as jN j increases, it is inadvisable to attempt solving the problem (24) directly, but as in Parija et al. [11], we can adopt a solution procedure based on the column generation concept. Let xk be the corresponding Px vector associated with the set Sk , for k ¼ 1; . . . ; K. (These are, in effect, the extreme points of convðfx : j2N aj xj 6 a0 ; x 2 f0; 1gn gÞ.) Then the primal problem (24) can be written equivalently as MP :
min
K X
kk
k¼1
s:t:
K X
xk kk ¼ x;
ð25Þ
k¼1
k P 0: Let x represent the vector of Lagrange multipliers associated with the constraints in (25). Then the subproblem to generate a column at any stage in the column generation process [10] is given by X SP : max x j xj 1 j2N
s:t:
X
aj x j 6 a0 ;
ð26Þ
j2N n
x 2 f0; 1g : We initialize MP using the following set of columns. First, we sort the indices j in nonincreasing order of aj . With components of x arranged in this order along the rows, we generate columns as given by a lower triangular matrix having ones along the diagonal and with the maximum number of consecutive ones in the column, subject to feasibility. This yields a convenient basis for representing x in (25). Some related computational results are provided in the following section. 8. Computational results In this section, we provide computational results to explore several issues such as variable selection rules for conducting a partial convexification, as well as various related cut generation strategies as developed in Sections 4–7. Given any mixed-integer 0–1 problem, we implemented the following iterative process for the knapsack based cuts (a similar process was adopted for the other multiple constraints and column generation cuts). Cut generation iteration Step 1: Solve the LP relaxation of the overall mixed-integer program to obtain a solution x. If x is integerfeasible, stop. Otherwise, proceed to Step 2.
638
H.D. Sherali et al. / European Journal of Operational Research 165 (2005) 625–648
Step 2: For each binding structural constraint, perform Steps 2.1 and 2.2. 2.1: Convert the selected binding constraint to a knapsack constraint of the form (22). Then, select a set J for convexification using one of the rules specified below, and solve the separation problem (6), or one of its restricted special cases (12)–(14). 2.2: If the cut deletes x, then add the cut to the formulation. Step 3: If no cutting plane is generated that deletes x, or if this cut generation loop has been performed for a prescribed iteration limit of 10, then stop. Otherwise, return to Step 1. As a point of interest, we investigated the following seven options for selecting the set J , motivated by the fractionality of x and the coefficient structure of the associated knapsack constraint. In our experimental runs, we limited the maximum cardinality of J to some value s ¼ 5 10 as indicated in the sequel. Rule 1: Sort the variables xj in order of nonincreasing values of maxfxj ; 1 xj g for j 2 fj 2 N1 : xj is fractionalg. Proceeding in this order, select a maximal subset J such that jJ j 6 s. Rule 2: Sort the variables xj in order of nonincreasing values of (their fractionality) minfxj , 1 xj g for j 2 fj 2 N1 : xj is fractionalg. Proceeding in this order, select a maximal subset J such that jJ j 6 s. Rule 3: Sort the variables xj in order of nondecreasing values of xj for j 2 fj 2 N1 : xj is fractionalg. Proceeding in this order, select a maximal subset J such that jJ j 6 s. Rule 4: Sort the variables xj in order of nonincreasing values of xj for j 2 fj 2 N1 : xj is fractionalg. Proceeding in this order, select a maximal subset J such that jJ j 6 s. Rule 5: Sort the variables xj in order of nonincreasing values of aj for j 2 fj 2 N1 : xj is fractionalg. Proceeding in this order, select a maximal subset J such that jJ j 6 s. Rule 6: Sort the variables xj in order of nonincreasing values of xj aj for j 2 fj 2 N1 : xj is fractionalg. Proceeding in this order, select a maximal subset J such that jJ j 6 s. Rule 7: Sort the variables xj in order of nondecreasing values of aj for j 2 fj 2 N1 : xj is fractionalg. Proceeding in this order, select a maximal subset J such that jJ j 6 s. We report our computational experience using a set of standard 0–1 integer programming test problems from MIPLIB 3.0 [5]. These problems are summarized in Table 1, where ZLP and ZIP denote the objective values of the initial LP relaxation and the optimal integer solution, respectively. We used CPLEX 7.0 [6] for solving the LP relaxations. The computations were performed on an IBM PC (800 Mhz) workstation and the times reported are in CPU seconds.
Table 1 Test problems Problem
Constraints
Variables
Int.
0/1
ZIP
ZLP
FIBER LSEU MOD008 MOD010 MODGLOB P0033 P0201 P0282 P0548 P2756
363 28 6 146 291 16 133 241 176 755
1298 89 319 2655 422 33 201 282 548 2756
1254 89 319 2655 98 33 201 282 548 2756
ALL ALL ALL ALL ALL ALL ALL ALL ALL ALL
405,935.2 1120.0 307.0 6548.0 20,740,508.0 3089.0 7615.0 258,411.0 8691.0 3124.0
156,082.5 834.7 290.9 6532.1 20,430,947.0 2520.6 6875.0 176,867.5 315.3 2688.8
H.D. Sherali et al. / European Journal of Operational Research 165 (2005) 625–648
639
First, we compared the performance of the foregoing seven variable selection rules. Table 2 (panels A–D) summarize the results obtained. Note that the performance of the partial convexification cut is significantly influenced by the variable selection rules. In particular, Rule 5 performed relatively better than the other rules.
Table 2 Improved bounds upon adding partial convexification cuts using different variable selection rules Problem
Rule 3
Rule 4
Rule 5
Rule 6
Rule 7
Panel A: Case 1 restriction and s ¼ 5 FIBER 165,200.2 163,381.2 LSEU 846.7 913.8 MOD008 291.0 291.1 MOD010 6532.1 6532.1 MODGLOB 20,431,443.2 20,454,792.6 P0033 2807.7 2593.0 P0201 6935.0 6935.0 P0282 219,168.2 176,882.5 P0548 642.6 620.7 P2756 2698.9 2702.0
Rule 1
Rule 2
163,381.2 847.6 291.3 6532.1 20,430,990.8 2520.8 6935.0 176,867.5 620.3 2698.9
187,098.4 924.2 291.1 6532.1 20,460,357.8 2829.4 6875.0 217,729.3 679.1 2698.9
221,877.0 976.9 293.5 6533.4 20,468,468.1 2829.4 6975.0 253,742.6 6101.3 2902.0
163,381.2 834.7 291.0 6532.1 20,430,990.8 2577.9 6875.0 176,867.5 611.1 2698.9
163,381.2 834.7 291.0 6532.1 20,430,990.8 2577.9 6875.0 176,867.5 611.1 2698.9
Panel B: Case 2 restriction and s ¼ 3 FIBER 156,082.5 156,082.5 LSEU 834.7 834.7 MOD008 290.9 290.9 MOD010 6532.1 6532.1 MODGLOB 20,430,947.6 20,430,947.6 P0033 2520.6 2520.6 P0201 6875.0 6875.0 P0282 176,867.5 176,867.5 P0548 429.7 429.7 P2756 2698.9 2698.9
156,082.5 834.7 290.9 6532.1 20,430,947.6 2520.6 6875.0 176,867.5 429.7 2698.9
156,082.5 834.7 290.9 6532.1 20,430,947.6 2520.6 6875.0 177,722.0 429.7 2698.9
156,082.5 834.7 290.9 6532.1 20,430,947.6 2520.6 6875.0 191,103.1 431.8 2698.9
156,082.5 834.7 291.0 6532.1 20,430,947.6 2520.6 6875.0 176,867.5 429.7 2698.9
156,082.5 834.7 291.1 6532.1 20,430,947.6 2520.6 6875.0 176,867.5 429.7 2698.9
Panel C: Case 3(a) restriction and s ¼ 3 FIBER 156,082.5 156,082.5 LSEU 834.7 834.7 MOD008 291.0 291.1 MOD010 6532.1 6532.1 MODGLOB 20,430,947.6 20,430,947.6 P0033 2520.6 2520.6 P0201 6875.0 6925.0 P0282 176,867.5 176,882.5 P0548 429.7 429.7 P2756 2698.9 2698.9
160,087.9 834.7 291.2 6532.1 20,430,947.6 2520.6 6875.0 176,867.5 429.8 2698.9
159,335.3 834.7 292.0 6532.1 20,430,947.6 2520.6 6875.0 178,864.2 429.8 2698.9
159,335.3 859.4 294.6 6532.4 20,430,947.6 2520.6 7095.0 191,304.9 445.4 2698.9
156,082.5 834.7 291.4 6532.1 20,430,947.6 2520.6 6875.0 176,867.5 429.7 2698.9
156,082.5 834.7 293.5 6532.1 20,430,947.6 2520.6 6875.0 176,867.5 429.7 2698.9
Panel D: Case 3(b) restriction and s ¼ 3 FIBER 365,698.3 365,698.3 LSEU 948.8 999.5 MOD008 291.2 291.2 MOD010 6532.1 6532.1 MODGLOB 20,430,947.6 20,430,947.6 P0033 2881.8 2881.8 P0201 6925.0 6925.0 P0282 250,086.3 250,086.3 P0548 1352.5 1352.5 P2756 2702.7 2702.7
365,698.3 955.8 291.2 6532.1 20,430,947.6 2881.8 6925.0 250,086.3 1352.5 2702.7
365,698.3 948.3 291.2 6532.1 20,430,947.6 2881.8 6925.0 250,086.3 1352.5 2702.7
365,698.3 999.5 291.2 6532.1 20,430,947.6 2881.8 6925.0 250,103.7 1352.5 2702.7
365,698.3 999.4 291.2 6532.1 20,430,947.6 2881.8 6925.0 250,086.3 1352.5 2702.7
365,698.3 999.4 291.2 6532.1 20,430,947.6 2881.8 6925.0 250,086.3 1352.5 2702.7
640
H.D. Sherali et al. / European Journal of Operational Research 165 (2005) 625–648
We next compared Cases 1, 2, 3(a) and 3(b) for composing the restricted separation problems given by (12)–(14), respectively. In this experiment, we used Rule 5 for selecting the variables for convexification. As shown in Table 3, the Case 1 restriction outperformed the other restrictions, even though the Case 3(b) restriction performed well for some test problems. We also compared the performance of the original separation problem (6) with the reduced separation problem derived via the Case 1 restriction. In this case, we set s ¼ 5 in order to solve the original separation problem within a reasonable time. Table 4 displays a summary of this comparison. Surprisingly, not only did the Case 1 restriction significantly reduce the computational effort, but it also dominated the original separation problem with respect to the final objective function bound Zroot obtained at the initial node, yielding at least as good a value, and in the last two larger instances, yielding better values. Hence, although the Case 1 separation problem examines only a restricted class of cuts with respect to the maximum violation criterion based on the current fractional solution, it generates strong, competitive cuts. Next, we investigated the effect of the number of variables (s) selected for convexification. Table 5 displays the results obtained for the effect of s on the quality of the lower bound at the root node and the computational time required for generating the cuts via the separation problems, using the Case 1 restriction. Note that as s becomes larger, the compromise between the tightness of the lower bound and the Table 3 Comparison of lower bounds for different restricted versions of the separation problem (Rule 5 and s ¼ 5) Problem
Case 1 Elapsed time
Zroot FIBER LSEU MOD008 MOD010 MODGLOB P0033 P0201 P0282 P0548 P2756
Case 2
Case 3(a) Elapsed time
Zroot
Case 3(b) Elapsed time
Zroot
Elapsed time
Zroot
221,877.0 976.9 293.5
4.9 0.7 0.8
156,082.5 834.7 290.9
133.1 0.2 3.1
159,335.3 859.4 294.6
13.0 0.5 2.0
365,698.3 999.5 291.2
76.9 0.1 0.2
6533.4
3.2
6532.1
24.1
6532.4
4.1
6532.1
1.4
20,468,468.1
0.9
20,430,947.6
9.9
20,430,947.6
0.6
20,430,947.6
1.4
2829.4 6975.0 253,742.6 6101.3 2902.0
0.4 2.3 1.4 4.4 7.6
2520.6 6875.0 191,103.1 431.8 2698.9
0.2 3.8 11.7 111.7 2709.9
2520.6 7095.0 191,304.9 445.4 2698.9
0.4 4.1 1.5 5.4 20.9
2881.8 6925.0 250,103.7 1352.5 2702.7
0.1 0.4 0.8 2.6 62.8
Table 4 Comparison of lower bounds using the Case 1 restriction versus the original separation problem for generating cuts (Rule 5 and s ¼ 5) Problem FIBER LSEU MOD008 MOD010 MODGLOB P0033 P0201 P0282 P0548 P2756
Case 1 restriction
Original separation problem
Zroot
Number of cuts
Elapsed time
Zroot
Number of cuts
Elapsed time
221,877.0 976.9 293.5 6533.4 20,468,468.1 2829.4 6975.0 253,742.6 6101.3 2902.0
126 63 41 9 36 36 34 117 390 347
4.9 0.7 0.8 3.2 0.9 0.4 2.3 1.4 4.4 7.6
218,919.1 937.6 292.9 6534.2 24,573,320.6 2829.6 6975.0 228,633.3 5806.6 2703.3
167 55 41 11 107 37 27 26 393 391
1436.4 49.4 1066.6 154.8 166.4 7.7 206.6 35.2 2439.4 8437.2
Problem
FIBER
LSEU
Zroot
Number of cuts
Elapsed Zroot time
Number of cuts
Elapsed Zroot time
s¼1 s¼2 s¼3 s¼4 s¼5 s¼7 s ¼ 10
163,381.2 216,018.2 222,894.4 222,955.4 221,877.0 221,997.1 220,088.7
11 102 118 122 126 128 123
1.9 3.2 3.5 4.7 4.9 9.6 50.9
0 39 45 48 63 62 59
0.0 0.3 0.3 0.4 0.7 1.6 10.4
P0033 s¼1 s¼2 s¼3 s¼4 s¼5 s¼7 s ¼ 10
2577.9 2829.4 2829.4 2829.8 2829.4 2830.3 2831.1
834.7 944.8 945.1 945.3 976.9 974.2 950.8
MOD008
P0201 5 25 32 37 36 38 38
0.0 0.1 0.2 0.2 0.4 1.0 4.9
6875.0 6975.0 6975.0 6975.0 6975.0 6975.0 6975.0
290.9 291.1 291.3 291.7 293.5 293.2 292.1
MOD010 Number of cuts 1 8 22 35 41 38 43
Elapsed Zroot time 0.1 0.2 0.4 0.6 0.8 1.2 4.4
P0282 0 22 22 32 34 31 59
0.1 1.0 1.1 1.3 2.3 5.7 46.0
176,867.5 246,175.4 253,380.4 253,791.2 253,742.6 253,919.4 254,014.1
6532.1 6532.1 6532.6 6532.6 6533.4 6535.0 6533.9
MODGLOB Number of cuts 0 0 3 3 9 11 10
Elapsed Zroot time 0.9 1.0 2.6 2.1 3.2 3.5 5.9
P0548 0 67 101 107 117 120 122
0.1 0.6 0.7 0.9 1.4 2.9 20.4
611.1 5566.8 5872.3 5996.7 6101.3 6096.8 6030.7
20,430,990.8 20,468,468.1 20,468,468.1 20,468,468.1 20,468,468.1 20,468,468.1 20,468,468.1
Number of cuts
Elapsed time
1 36 36 36 36 36 36
0.3 0.7 0.8 0.8 0.9 1.3 6.8
3 218 327 343 347 350 340
1.5 5.3 6.8 7.3 7.6 13.1 63.4
P2756 4 315 341 378 390 397 394
0.4 2.2 2.6 3.2 4.4 10.5 69.2
2698.9 2705.8 2901.3 2884.8 2902.0 2902.5 2899.3
H.D. Sherali et al. / European Journal of Operational Research 165 (2005) 625–648
Table 5 Comparison of lower bounds for different values of s (Case 1 restriction and Rule 5)
641
642
H.D. Sherali et al. / European Journal of Operational Research 165 (2005) 625–648
computational effort consumed becomes increasingly favorable up to a point, and then deteriorates rapidly. For example, the case of s ¼ 10 consumes at least 10 times more computational effort than the case of s ¼ 5, while generating about the same quality lower bound. Overall, s ¼ 5 appears to yield a best compromise. Similarly, we can observe from Table 6 for the Case 3(b) restriction that s ¼ 2 performs best in the tradeoff between the quality of the lower bound obtained and the effort consumed. These results illustrate that the partial convexity cut provides a good quality cut even for the case of convexifying with respect to a small number of variables. Moreover, the Case 3(b) restriction experiment of Table 6 demonstrates that even for a small s, the simultaneous lifting of the cover cut provides strong lower bounds within a reasonable computational effort. In the next experiment, we implemented the strengthening procedure of Section 5 to ascertain if a further tightening of the cuts derived via the Case 1 restricted separation problem would be beneficial. We applied the strengthening procedure (16)–(19) for only up to s ¼ 5 variables in J \ N1 , selected by the same rule (Rule 5) as that used for the original partial convexification cut. The knapsack problems (17) and (18) encountered during this process were solved to (integer) optimality using CPLEX 7.0 [6]. A summary of results obtained is given in Table 7. The strengthening procedure evidently contributes toward improving the depth of the cut, but usually increases the computational effort ten- to twenty-fold. Hence, to render this process beneficial, we need to explore the use of more effective rounding routines or lifting methods, instead of solving the underlying knapsack problems directly. Next, we investigated the generation of partial convexification cuts from multiple constraints for the pure 0–1 IP problems (see Table 8). In this case, we considered the entire constraint set as the m multiple constraints used in the separation problem (21) and employed no restrictions for the separation problem (21). At each iteration, we generated cuts from all ordered disjoint partitions of fj 2 N1 : xj is fractionalg having cardinality up to s. In our direct implementation of solving (21) via CPLEX to generate the cuts, the procedure for this multiple constraints case (using s ¼ 5) performed quite poorly with respect to computational time. Some additional refinements and testing using Cases 2 and 3 types of restrictions along with mixed-sign cut coefficients are recommended for further study. Moreover, this multiple constraint cut generation strategy is likely to be relatively more beneficial for specially structured problems having +1 and )1 nonzero coefficients, whence strategies based on single constraints would be ineffective. We also investigated the impact of the partial convexification cut on the overall performance of the branch-and-bound process. Table 9 displays a summary of the results for the branch-and-bound procedure when the partial convexification cuts are added at the root node only and when the best bound search strategy is used. The ‘‘B&B only’’ column represents the corresponding results of the branch-and-bound procedure when no cuts are generated and the same best bound search strategy is used. The partial convexification cuts appear to yield a significant relative advantage for solving the more challenging instances such as FIBER, P0548, and P2756. On the other hand, Table 10 displays the results for CPLEX 7.0 using all its default cuts (lifted cover cuts, lifted flow-cover cuts, Gomory cuts, and lifted GUB cover cuts). It is not surprising to see that the branch-and-cut procedure of CPLEX with all the default cuts performs better than the branch-and-bound procedure with only the partial convexification cuts generated at the root node. Table 11 displays comparative results for the overall branch-and-bound process when only the partial convexification cuts (Case 1 restriction, Rule 5, s ¼ 5) or only one class of the CPLEX default cuts (such as the lifted cover cuts) is added at the root node. The results indicate that the partial convexification cut is relatively competitive for some test problems in terms of the quality of the lower bound obtained and the overall computational effort. Depending on the characteristics of the problem constraints, each CPLEX default cut has its own virtue in enhancing the performance of the overall branch-and-bound solution process. We also remark here that a more refined coding of the convexification cut generation technique would help reduce its CPU effort in comparison with the commercially implemented CPLEX options. We also explored the impact of the partial convexification cut being used in conjunction with CPLEX cuts. Table 12 demonstrates comparative results when the partial convexification cuts are generated and then
Problem
Cover cut s¼1 s¼2 s¼3 s¼4 s¼5 s¼7 s ¼ 10
FIBER
LSEU
Zroot
Number of cuts
Elapsed Zroot time
Number of cuts
Elapsed time
Zroot
365,698.3 365,698.3 365,698.3 365,698.3 365,698.3 365,698.3 365,698.3 365,698.3
52 52 52 52 52 52 52 52
74.7 75.5 75.4 76.7 76.8 76.9 77.9 82.1
15 16 16 15 15 15 15 15
0.1 0.1 0.1 0.1 0.1 0.1 0.2 0.8
291.2 291.2 291.2 291.2 291.2 291.2 291.2 291.2
P0033 Cover cut s¼1 s¼2 s¼3 s¼4 s¼5 s¼7 s ¼ 10
MOD008
2881.8 2881.8 2881.8 2881.8 2881.8 2881.8 2881.8 2881.8
948.1 999.4 1007.3 999.5 999.5 999.5 999.5 999.5 P0201
10 10 13 13 13 13 13 13
0.0 0.0 0.1 0.1 0.1 0.1 0.1 0.2
6925.0 6925.0 6925.0 6925.0 6925.0 6925.0 6925.0 6925.0
MOD010 Number of cuts 5 5 5 5 5 5 5 5
Elapsed time
Zroot
0.1 0.2 0.2 0.2 0.2 0.2 0.2 0.2
6532.1 6532.1 6532.1 6532.1 6532.1 6532.1 6532.1 6532.1
P0282 2 2 2 2 2 2 2 2
0.3 0.4 0.3 0.4 0.4 0.4 0.4 0.5
250,086.3 250,086.3 250,103.7 250,103.7 250,103.7 250,103.7 250,103.7 250,103.7
MODGLOB Number of cuts 0 0 0 0 0 0 0 0
Elapsed time 1.4 1.4 1.5 1.5 1.4 1.4 1.5 1.4
P0548 75 75 76 76 76 76 76 76
0.5 0.6 0.7 0.7 0.8 0.8 1.4 6.4
1352.5 1352.5 1352.5 1352.5 1352.5 1352.5 1352.5 1352.5
Zroot 20,430,947.6 20,430,947.6 20,430,947.6 20,430,947.6 20,430,947.6 20,430,947.6 20,430,947.6 20,430,947.6
Number of cuts
Elapsed time
0 0 0 0 0 0 0 0
1.4 1.4 1.4 1.4 1.4 1.4 1.4 1.4
116 116 116 116 116 116 116 116
55.1 56.2 62.2 62.2 62.5 62.8 61.3 83.6
P2756 142 142 142 142 142 142 142 142
1.9 2.3 2.3 2.4 2.5 2.6 3.9 14.0
2702.7 2702.7 2702.7 2702.7 2702.7 2702.7 2702.7 2702.7
H.D. Sherali et al. / European Journal of Operational Research 165 (2005) 625–648
Table 6 Comparison of lower bounds for different values of s (Case 3(b) restriction and Rule 5)
643
644
H.D. Sherali et al. / European Journal of Operational Research 165 (2005) 625–648
Table 7 Comparison of lower bounds by applying the strengthening procedure to the partial convexification cuts (Rule 5 and s ¼ 5) Problem FIBER LSEU MOD008 MOD010 MODGLOB P0033 P0201 P0282 P0548 P2756
Case 1 without strengthening
Case 1 with strengthening
Zroot
Number of cuts
Elapsed time
Zroot
Number of cuts
Elapsed time
221,877.0 976.9 293.5 6533.4 20,468,468.1 2829.4 6975.0 253,742.6 6101.3 2902.0
126 63 41 9 36 36 34 117 390 347
4.9 0.7 0.8 3.2 0.9 0.4 2.3 1.4 4.4 7.6
371,075.3 1006.1 293.1 6533.5 20,468,468.1 2926.4 7125.0 254,740.6 6276.8 2942.6
88 34 31 7 36 21 19 102 274 325
81.3 6.3 140.0 11.0 3.0 4.3 14.0 14.2 51.8 214.4
Table 8 Comparison of lower bounds using the Case 1 restriction on knapsack constraints versus using multiple constraints for generating cuts Problem LSEU MOD008 MOD010 P0033 P0201 P0282 P0548 P2756
Using Case 1 restriction
Using multiple constraints
Zroot
Number of cuts
Elapsed time
Zroot
Number of cuts
Elapsed time
976.9 293.5 6533.4 2829.4 6975.0 253,742.6 6101.3 2902.0
63 41 9 36 34 117 390 347
0.7 0.8 3.2 0.4 2.3 1.4 4.4 7.6
834.7 292.2 6532.1 2520.6 6906.2 176,875.9 429.7 2698.9
5 5 5 5 5 5 5 5
1.6 3.9 557.7 0.8 13.8 11.7 16.8 244.1
Table 9 Comparison of the branch-and-bound method with partial convexification cuts added a the root node versus the branch-and-bound method without any cuts (Rule 5 and s ¼ 5) Problem
FIBER LSEU MOD008 MOD010 MODGLOB P0033 P0201 P0282 P0548 P2756
Case 1 restriction
Case 3(b) restriction
B&B only
Zroot
Number of cuts
Elapsed time
Zroot
Number of cuts
Elapsed time
Elapsed time
221,877.0 976.9 293.5 6533.4 20,468,468.1 2829.4 6975.0 253,742.6 6101.3 2902.0
126 63 41 9 36 36 34 117 390 347
11.6 3.6 4.8 2.0 >1800.0 0.2 2.4 2.0 5.9 56.1
365,698.3 999.5 291.2 6532.1 20,430,947.6 2881.8 6925.0 250,103.7 1352.5 2702.7
52 15 5 0 0 13 2 76 142 116
5.9 2.4 2.9 1.8 >1800.0 0.2 2.8 1.0 16.7 >1800.0
74.9 7.0 3.8 1.8 >1800.0 0.2 2.7 0.8 28.8 >1800.0
CPLEX cuts are added. We observe that the bounds obtained by adding CPLEX cuts after generating the partial convexification cuts are stronger than the bounds obtained by adding only CPLEX cuts, while the additional effort is only marginally greater.
H.D. Sherali et al. / European Journal of Operational Research 165 (2005) 625–648
645
Table 10 Performance of the branch-and-bound method of CPLEX with all the default cuts added at the root node B&Ba
Problem FIBER LSEU MOD008 MOD010 MODGLOB P0033 P0201 P0282 P0548 P2756 a
Zroot
Elapsed time
377,693.5 1032.6 295.2 6535.0 20,713,187.7 2963.7 7125.0 254,937.4 8680.3 3106.2
2.6 0.9 0.8 0.9 1.2 0.0 1.4 0.7 0.2 2.1
Cuts are applied only a the root node using CPLEX default option.
Table 11 Comparison of the branch-and-bound method with partial convexification cuts (Case 1, Rule 5, s ¼ 5) versus CPLEX cuts added at the root node Problem
FIBER LSEU MOD008 MOD010 MODGLOB P0033 P0201 P0282 P0548 P2756
MIRa
Case 1 restriction Zroot
Number of cuts
Elapsed time
Zroot
Number of cuts
221,877.0 976.9 293.5 6533.4 20,468,468.1
126 63 41 9 36
11.6 3.6 4.8 2.0 >1800.0
199,401.0 948.0 291.1 6532.3 20,593,982.7
0 0 0 0 145
70.1 7.3 3.7 0.6 810.1
372,033.9 1027.3 295.2 6535.0 20,431,066.9
63 12 16 2 0
5.0 0.6 0.8 0.9 >1800.0
2829.4 6975.0 253,742.6 6101.3 2902.0
36 34 117 390 347
0.2 2.4 2.0 5.9 56.1
2841.4 7125.0 180,219.8 5458.7 2701.1
0 0 0 0 0
0.1 2.3 0.6 28.4 >1800.0
2912.3 7125.0 250,049.6 7273.9 2836.4
6 2 74 88 183
0.1 1.6 1.2 1.0 24.9
a b
Elapsed time
Gomoryb
Lifted flow cover FIBER LSEU MOD008 MOD010 MODGLOB P0033 P0201 P0282 P0548 P2756
Lifted cover Zroot
Number of cuts
Elapsed time
Lifted GUB cover
199,401.0 948.0 291.1 6532.3 20,715,621.2
0 0 0 0 188
69.8 7.4 3.9 0.6 0.7
335,445.2 985.1 291.1 6532.3 20,463,422.0
17 5 0 0 27
13.2 15.9 3.8 0.6 >1800.0
202,273.3 956.7 291.1 6535.0 20,431,066.9
4 7 0 2 0
71.7 8.1 3.7 0.9 >1800.0
2841.4 7125.0 180,219.8 5458.7 2701.1
0 0 0 0 0
0.1 2.3 0.6 28.9 >1800.0
2912.3 7125.0 186,033.0 7403.9 3097.8
6 4 19 64 135
0.1 1.2 0.6 1.8 5.7
2860.4 7125.0 255,557.7 8418.6 2951.0
10 0 63 66 162
0.1 2.4 0.9 0.6 925.0
Mixed integer rounding cuts. Gomory fractional cuts.
Finally, to test the quality and performance of the cuts generated from the column generation process described by (25) and (26), we implemented this procedure using CPLEX 7.0 [6], while solving the
646
H.D. Sherali et al. / European Journal of Operational Research 165 (2005) 625–648
Table 12 Comparison of lower bounds obtained by applying CPLEX cuts after adding partial convexification cuts (Rule 5, s ¼ 5) versus CPLEX cuts only Problem
GUB cover
Cover
Gomory
Panel A: Lower bounds with CPLEX cuts only FIBER 3 22 27 LSEU 6 8 2 MOD008 0 16 0 MOD010 2 2 0 MODGLOB 0 0 6 P0033 6 7 3 P0201 0 2 4 P0282 27 18 5 P0548 54 42 33 P2756 117 132 123 Panel B: Lower FIBER LSEU MOD008 MOD010 MODGLOB P0033 P0201 P0282 P0548 P2756
Flow cover
Clique
Zroot
Elapsed timea
0 0 0 0 164 0 0 0 0 0
0 0 0 0 0 0 0 0 0 2
377,693.5 1032.6 295.2 6535.0 20,713,187.7 2963.7 7125.0 254,937.4 8680.3 3106.2
1.5 0.5 0.5 0.6 0.6 0.0 0.7 0.4 0.1 1.1
bounds with CPLEX cuts after adding partial convexification 1 15 18 0 13 13 4 0 0 11 1 0 3 1 0 0 0 0 9 238 9 7 5 0 4 6 3 0 28 10 3 0 48 50 36 0 89 48 97 0
Panel C: Lower bounds with CPLEX cuts after adding partial convexification FIBER 2 15 14 0 LSEU 4 4 6 0 MOD008 0 9 0 0 MOD010 2 2 0 0 MODGLOB 0 0 6 164 P0033 6 6 4 0 P0201 0 2 4 0 P0282 33 17 2 0 P0548 53 48 30 0 P2756 125 121 128 0 a
cuts using Case 1 restriction 0 379,910.4 0 1029.8 0 295.3 0 6535.0 0 20,722,082.3 0 3016.6 0 7183.9 0 255,750.4 0 8692.6 7 3111.9
0.8 1.1 1.9 0.4 1.8 0.0 2.4 0.8 0.4 1.6
cuts using Case 3(b) restriction 0 386,695.7 0 1050.6 0 294.6 0 6535.0 6 20,713,187.7 0 3029.1 0 7125.0 0 255,666.7 0 8679.5 2 3113.6
1.9 0.7 0.5 0.6 0.7 0.0 0.6 0.7 0.1 1.9
Elapsed times for generating CPLEX cuts a the root node.
subproblems SP to optimality at each iteration. The column generation based separation procedure yielded deeper cuts in that the bounds obtained using fewer cuts were comparable with those that resulted from the Case 1 restriction strategy using s ¼ 5 and Rule 5. However, the column generation subproblem is a 0–1 knapsack problem, and hence, the overall cut generation algorithm is potentially time-consuming. Furthermore, degeneracy effects tend to stall the process. We observed that several problems remained unsolved using this strategy within a time limit of 600 seconds. While our focus here has been mainly on studying the use of the proposed class of cuts in enhancing the root node representation, we recommend for future research more extensive experiments on composing such cuts with the available arsenal of other valid inequalities for solving mixed-integer 0–1 problems.
H.D. Sherali et al. / European Journal of Operational Research 165 (2005) 625–648
647
9. Summary and conclusions In this paper, we have proposed a new cut generation scheme based on a partial convexification process as motivated by the RLT procedure. We derived the associated separation problem, and then investigated suitable projected restrictions of it to consider only certain judicious classes of cuts. In particular, by restricting the cut coefficients for relaxed binary or continuous variables to be a common multiple of the corresponding coefficients of the original knapsack constraint, we derived a strong class of cuts that performed better than using the original separation problem with respect to both the final bound achieved and especially, the required computational effort. For selecting variables to derive a tighter representation via the partial convexification process, we compared several rules. Among these rules, better performance was generally obtained by selecting the variables in nonincreasing order of coefficients of the underlying knapsack constraint, or in nonincreasing order of fractionality with respect to the LP relaxation solution. The proposed class of convexification cuts was demonstrated to be competitive with respect to several other popular classes of valid inequalities that are implemented within the commercial solver CPLEX 7.0. As recommendation for further research, despite our preliminary computational experience, we believe that partial convexification cuts derived from multiple constraints can be much stronger than those obtained from a single constraint. Furthermore, the size of the resulting separation problem (21) mainly depends on the number of variables selected for convexification rather than on the number of constraints. Further investigation into this case of multiple constraints is necessary to ascertain effective strategies for selecting constraints and variables for the convexification process, and to identify suitable restrictions of the separation problem in order to generate effective classes of cuts. Some surrogate constraint analysis as in [8] might also be useful in this context. This holds promise of obtaining strong cuts that can induce a faster reduction of the integer infeasible region. Also, it is worth developing a more efficient strengthening or lifting procedure for the generated cuts that does not depend on solving the associated knapsack problems directly to exact optimality. Finally, it might be worth exploring the computational performance of implementing more selectively generated partial convexification cuts within a branch-and-cut framework, in lieu of employing such cuts only at the root node. We propose these investigations for a more extensive future computational study.
Acknowledgements This material is based upon work supported by the National Science Foundation under Grant Numbers DMI-9812047 and DMI-0094462. This work is also supported by the Seoam Scholarship Foundation, Year 2000 Grant.
References [1] E. Balas, Disjunctive programming: Properties of the convex hull of feasible points, MSRR No. 348 Carnegie Mellon University, 1974. [2] E. Balas, S. Ceria, G. Cornuejols, A lift-and-project cutting plane algorithm for mixed 0–1 programs, Mathematical Programming 58 (1993) 295–324. [3] E. Balas, S. Ceria, G. Cornuejols, Mixed 0–1 programming by lift-and-project in a branch-and-cut framework, Management Science 42 (1995) 1229–1246. [4] E. Balas, R. Jeroslow, Strengthening cuts for mixed integer programs, European Journal of Operational Research 4 (1978) 224– 234. [5] R.E. Bixby, S. Ceria, C. McZeal, M. Savelsbergh, An updated mixed integer programming library, Technical Report TR98-03 Rice University, Houston, TX, 1998.
648
H.D. Sherali et al. / European Journal of Operational Research 165 (2005) 625–648
[6] CPLEX version 7.0, Using the CPLEX Callable Library, ILOG CPLEX, 2001. [7] H.P. Crowder, E.L. Johnson, M.W. Padberg, Solving large scale zero–one linear programming problems, Operations Research 31 (1983) 803–834. [8] F. Glover, H.D. Sherali, Y. Lee, Generating cuts from surrogate constraint analysis for zero–one and multiple choice programming, Computational Optimization and Applications 8 (1997) 151–172. [9] L. Lovasz, A. Shrijver, Cones of matrices and set-functions and 0–1 optimization, SIAM Journal on Optimization 1 (1991) 166– 190. [10] G.L. Nemhauser, L.A. Wolsey, Integer and Combinatorial Optimization, second ed., John Wiley & Sons, New York, 1999. [11] G. Parija, R. Gadidov, W. Wilhelm, A facet generation procedure for solving 0/1 integer programs, Operations Research 47 (1999) 789–791. [12] H.D. Sherali, W.P. Adams, A hierarchy of relaxations between the continuous and convex hull representations for zero–one programming problems, SIAM Journal on Discrete Mathematics 3 (1990) 411–430. [13] H.D. Sherali, W.P. Adams, A hierarchy of relaxations and convex hull characterizations for mixed-integer zero–one programming problems, Discrete Applied Mathematics 52 (1994) 83–106. [14] H.D. Sherali, C.M. Shetty, On the generation of deep disjunctive cutting planes, Naval Research Logistics Quarterly 27 (3) (1980) 453–475.