Computational Optimization and Applications, 26, 155–171, 2003 c 2003 Kluwer Academic Publishers. Manufactured in The Ne...
6 downloads
453 Views
111KB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
Computational Optimization and Applications, 26, 155–171, 2003 c 2003 Kluwer Academic Publishers. Manufactured in The Netherlands.
A Branch and Bound Method for Solving Integer Separable Concave Problems∗ O. BARRIENTOS, R. CORREA, P. REYES AND A. VALDEBENITO Centro de Modelamiento Matem´atico, UMR Universidad de Chile-CNRS. Casilla 170/3, Correo 3, Santiago, Chile Received April 20, 2001; Revised December 11, 2002
Abstract. A branch and bound algorithm is proposed for solving integer separable concave problems. The method uses Lagrangian duality to obtain lower and upper bounds. We show that the dual program of a separable concave problem is a linear program. Moreover, we identify an excellent candidate to test on each region of the branch and we show an optimality sufficient condition for this candidate. Preliminary computational results are reported. Keywords: concave programs, NP-hard problems, branch and bound methods, Lagrangian duality
1.
Introduction
We consider the following problem: α = min{ f (x, y) : gl (x, y) ≤ al h k (x, y) = bk
∀ l = 1, . . . , L;
∀ k = 1, . . . , K ; (x, y) ∈ D},
(1.1)
where f , gl and h k are separable real-valued functions defined on Rn × Rn ; f and gl are concave functions by components; h k are linear functions by components and D ⊂ Z n × Z n is finite. Problems of this form are encountered in a wide variety of areas, such as capital budgeting [11], computer-aided layout design [10], portfolio selection [12], site selection for electric message systems [17] and shared fixed costs [15]. In addition the problem (1.1) has been found useful in applications such as facility location problems [14], scheduling [6], the backboard wiring problem in electronics [16], parallel and distributed computing [3], and statistical data analysis [9]. Others applications may be found in [4, 5, 8, 13]. From a complexity viewpoint, we will see that 0-1 quadratic programming is a particular case of (1.1). Since NP-hard problems, for example the maximum cycle problem, can be formulated as a quadratic 0-1 problem, the problem is itself NP-hard. In this work, we present a branch and bound algorithm for solving problem (1.1). By using Lagrangian duality, we obtain lower and upper bounds on each region of the branch.
∗ This
research was supported in part by Fondap.
156
BARRIENTOS ET AL.
Moreover, the method proposed can be seen as a generalization of the classical relaxation method for solving integer linear programs (see examples in Section 2). The paper is organized into five sections. In the second section we extend the technique developed in [2] for reducing the duality gap to problem (1.1). Next, we establish the main result of this work (see Theorem 2.1) which shows that the dual program of a separable concave problem is a linear program. Moreover, we show that many interesting problems may be written in this form. In particular, we show that quadratically constrained quadratic problems are in this class. In Section 3, we describe the simple Branch and Bound method implicit in this technique and describe the algorithm in detail. Moreover, we identify an excellent candidate to test on each region of the branch and show an optimality sufficient condition for this candidate (see Proposition 3.1). In Section 4, we report preliminary computational results. They show that the method is, on average, efficient and can be used for solving a wide variety of problems. Finally, in the last section, we comment our theoretical and numerical results. 2.
Reducing the duality gap
It is well-known that problem (1.1) can be written as: α = min
sup L(x, y, µ, λ),
(2.1)
(x,y)∈D µ∈R L + λ∈R K
L where L is the Lagrange function defined on Rn × Rn × R+ × R K by
L(x, y, µ, λ) = f (x, y) +
L
µl [gl (x, y) − al ] +
l=1
K
λk [h k (x, y) − bk ].
k=1
In this way, the dual of the above problem is defined as β = sup
min L(x, y, µ, λ).
L (x,y)∈D µ∈R+ λ∈R K
Let us consider a cover = {R j : j ∈ J }
of the set D (
j∈J
R j = D) and let us write (2.1) in the form
α = min min
sup L(x, y, µ, λ).
j∈J (x,y)∈R j µ∈R L + λ∈R K
(2.2)
157
BRANCH AND BOUND METHOD
The intermediate dual program of (1.1) associated with the cover is defined by γ () = min γ j j∈J
where γ j = sup
min L(x, y, µ, λ).
(2.3)
L (x,y)∈R j µ∈R+ λ∈R K
It is easy to see that for any cover β ≤ γ () ≤ α,
(2.4)
and that the left inequality in (2.4) is an equality when = {D} whereas the right one is an equality when = {{(x, y)} : (x, y) ∈ D}. The specific goal of this section is to find a lower bound for the value γ j . In such a way, we consider the following result: Theorem 2.1. Let f, gl for l = 1, . . . , L , and h k for k = 1, . . . , K be real valued functions defined on Rn × Rn . Let us suppose that there are real valued functions εi , ηil and θik for i = 1, . . . , n, l = 1, . . . , L and k = 1, . . . , K defined on R × R, such that: (i) for all x = (x1 , . . . , xn ) ∈ Rn , for all y = (y1 , . . . , yn ) ∈ Rn , f (x, y) = gl (x, y) = h k (x, y) =
n i=1 n i=1 n
εi (xi , yi ), ηil (xi , yi )
∀ l = 1, . . . , L ,
θik (xi , yi )
∀ k = 1, . . . , K ,
i=1
(ii) the functions εi and ηil are concave by component over [u i , Ui ] × [vi , Vi ] for all i = 1, . . . , n and for all l = 1, . . . , L , (iii) the function θik is linear by component over [u i , Ui ] × [vi , Vi ] for all i = 1, . . . , n and for all k = 1, . . . , K . Then, the problem min f (x, y) : gl (x, y) ≤ al (x, y) ∈
n i=1
[u i , Ui ] ×
∀ l = 1, . . . , L; h k (x, y) = bk n i=1
∀k = 1, . . . , K ;
[vi , Vi ]
(2.5)
158
BARRIENTOS ET AL.
has by dual the following linear problem: max e, w − a, µ − b, λ: wi ≤ εi (u i , vi ) +
L
µl ηil (u i , vi ) +
K
l=1 L
wi ≤ εi (u i , Vi ) +
µl ηil (u i , Vi ) +
l=1 L
wi ≤ εi (Ui , vi ) +
K
L
∀ i = 1, . . . , n;
λk θik (u i , Vi )
∀ i = 1, . . . , n;
λk θik (Ui , vi )
∀ i = 1, . . . , n;
k=1
µl ηil (Ui , vi ) +
K
l=1
wi ≤ εi (Ui , Vi ) +
λk θik (u i , vi )
k=1
k=1 K
µl ηil (Ui , Vi ) +
l=1
λk θik (Ui , Vi )
k=1
w = (wi ) ∈ R ; µ = (µl ) ∈ n
L R+ ;λ
∀ i = 1, . . . , n;
= (λk ) ∈ R
,
K
(2.6)
where e = (1, . . . , 1) ∈ Rn , a = (a1 , . . . , a L ) ∈ R L and b = (b1 , . . . , b K ) ∈ R K . Proof: From hypothesis (i), the Lagrangian function L (defined in (2.2)) may be written as L(x, y, µ, λ) =
n
L
εi (xi , yi ) +
i=1
µl ηil (xi , yi )
+
K
l=1
λk θik (xi , yi )
k=1
− a, µ − b, λ. For simplicity, we define the subsets Ii and Ji of Rn for i = 1, . . . , n by
Ii =
i
[u j , U j ] × Rn−i
and
Ji =
j=1
i
[v j , V j ] × Rn−i ,
j=1
L L and the real-valued functions on R+ × R K and i on [u i , Ui ] × [vi , Vi ] × R+ × R K for i = 1, . . . , n by
(µ, λ) = min{L(x, y, µ, λ) : (x, y) ∈ In × Jn }, L K i (xi , yi , µ, λ) = εi (xi , yi ) + µl ηil (xi , yi ) + λk θik (xi , yi ). l=1
k=1
(2.7)
159
BRANCH AND BOUND METHOD
Then, we have the following equalities (µ, λ) =
min
min
(x,y)∈In ×Jn−1 yn ∈[vn ,Vn ]
=
min
(x,y)∈In ×Jn−1
n−1
L(x, y, µ, λ)
i (xi , yi , µ, λ) +
i=1
min
yn ∈[vn ,Vn ]
n (xn , yn , µ, λ)
− a, µ − b, λ. Since the function n (xn , ·, µ, λ) is quasi-concave over [vn , Vn ], we can write n−1 (µ, λ) = min i (xi , yi , µ, λ) + min{n (xn , vn , µ, λ), n (xn , Vn , µ, λ)} (x,y)∈In ×Jn−1
i=1
− a, µ − b, λ. Repeating this procedure for yi ∈ [vi , Vi ] with i = n − 1, n − 2, . . . , 2, 1, we obtain n (µ, λ) = min min{i (xi , vi , µ, λ), i (xi , Vi , µ, λ)} − a, µ − b, λ. x∈In
i=1
Now, repeating this procedure for the variables xi : (µ, λ) = min
x∈In−1
+
n−1
min{i (xi , vi , µ, λ), i (xi , Vi , µ, λ)}
i=1
min
xn ∈[u n ,Un ]
min{n (xn , vn , µ, λ), n (xn , Vn , µ, λ)} − a, µ − b, λ,
and from the quasi-concavity of the function min{n (·, vn , µ, λ), n (·, Vn , µ, λ)} over [u n , Un ], we can write (µ, λ) = min
x∈In−1
n−1
min{i (xi , vi , µ, λ), i (xi , Vi , µ, λ)}
i=1
+ min{n (u n , vn , µ, λ), n (u n , Vn , µ, λ), n (Un , vn , µ, λ), n (Un , Vn , µ, λ)} − a, µ − b, λ. Repeating this procedure for xi ∈ [u i , Ui ] with i = n − 1, n − 2, . . . , 2, 1, we obtain (µ, λ) =
n
min{i (u i , vi , µ, λ), i (u i , Vi , µ, λ), i (Ui , vi , µ, λ),
i=1
i (Ui , Vi , µ, λ)} − a, µ − b, λ.
160
BARRIENTOS ET AL.
Therefore, the dual problem associated with (2.5) may be written as n sup min[i (u i , vi , µ, λ), i (u i , Vi , µ, λ), i (Ui , vi , µ, λ), i (Ui , Vi , µ, λ)] i=1
− a, µ − b, λ : µ ∈
L R+ ,λ
∈R
K
.
We finish the proof, by defining for all i = 1, . . . , n, the variable wi ∈ R and by introducing the constraint wi ≤ min{i (u i , vi , µ, λ), i (u i , Vi , µ, λ), i (Ui , vi , µ, λ), i (Ui , Vi , µ, λ)}. Remark 2.1.
The dual problem of (2.6) may be written as
min{ ε(u, v), p + ε(u, V ), q + ε(U, v), r + ε(U, V ), s: η(u, v)t p + η(u, V )t q + η(U, v)t r + η(U, V )t s ≤ a θ (u, v)t p + θ (u, V )t q + θ (U, v)t r + θ (U, V )t s = b p+q +r +s = e p, q, r, s ∈ Rn+ }, where At denotes the transpose of the matrix A,
η(x, y) = ηil (xi , yi ) ∈ Rn×L , ε(x, y) = (εi (xi , yi )) ∈ Rn ,
θ(x, y) = θik (xi , yi ) ∈ Rn×K and e = (1, . . . , 1) ∈ Rn .
(2.8)
Remark 2.2. From the theorem’s proof, we observe that a weaker condition than (ii) and (iii) is to suppose the functions i (·, ·, µ, λ) for i = 1, . . . , n (defined in (2.7)) quasiconcave by component. In order to see when we can use this result for underestimating the value γ j (defined in (2.3)), we consider three examples. Example 1.
Let us consider the following bilinear problem:
min{ a 0 ∗ y, x + c0 , x + d 0 , y:
a l ∗ y, x + cl , x + d l , y ≤ bl
∀ l = 1, . . . , L;
a ∗ y, x + c , x + d , y = bl ∀ l = L + 1, . . . , M; u ≤ x ≤ U, v ≤ y ≤ V ; (x, y) ∈ Z n × Z n }, l
l
l
(2.9)
where a l , cl , d l ∈ Rn for all l = 0, . . . , M, u, U, v, V ∈ Rn and x ∗ y = (xi yi ) ∈ Rn . On the other hand, in order to apply Theorem 2.1 we identify ε(x, y) = a 0 ∗ y ∗ x + c0 ∗ x + d 0 ∗ y;
η(x, y) = ail yi xi + cil xi + dil yi ∈ Rn×L ;
θ (x, y) = aiL+l yi xi + ciL+l xi + diL+l yi ∈ Rn×(M−L) .
161
BRANCH AND BOUND METHOD
Let R j = {(x, y) ∈ Z n × Z n : u j ≤ x ≤ U j , v j ≤ y ≤ V j } be an element of a rectangular cover of the set {(x, y) ∈ Z n × Z n : u ≤ x ≤ U, v ≤ y ≤ V } and let us consider the problem over R j defined by α j = min{ a 0 ∗ y, x + c0 , x + d 0 , y:
a l ∗ y, x + cl , x + d l , y ≤ bl ∀ l = 1, . . . , L;
a l ∗ y, x + cl , x + d l , y = bl ∀ l = L + 1, . . . , M; (x, y) ∈ R j }. Then, we have the following inequalities αj ≥ γj ≥ βj =
sup min{L(x, y, µ, λ) : u j ≤ x ≤ U j , v j ≤ y ≤ V j ,
L µ∈R+ λ∈R M−L
(x, y) ∈ Rn × Rn }, where L is the Lagrange function of (2.9) defined in (2.2). We can calculate the value β j by using Theorem 2.1 and Remark 2.1. In fact, β j = min{ a 0 ∗ u j ∗ v j + c0 ∗ u j + d 0 ∗ v j , p + a 0 ∗ u j ∗ V j + c0 ∗ u j + d 0 ∗ V j , q + a 0 ∗ U j ∗ v j + c0 ∗ U j + d 0 ∗ v j , r + a 0 ∗ U j ∗ V j + c0 ∗ U j + d 0 ∗ V j , s:
a l ∗ u j ∗ v j + cl ∗ u j + d l ∗ v j , p + a l ∗ u j ∗ V j + cl ∗ u j + d l ∗ V j , q + a l ∗ U j ∗ v j + cl ∗ U j + d l ∗ v j , r + a l ∗ U j ∗ V j + cl ∗ U j + d l ∗ V j , s ≤ bl
a
∀ l = 1, . . . , L;
∗u ∗v + c ∗u + d ∗ v , p + a ∗ u j ∗ V j + c L+k ∗ u j + d L+k ∗ V j , q + a L+k ∗ U j ∗ v j + c L+k ∗ U j + d L+k ∗ v j , r + a L+k ∗ U j ∗ V j + c L+k ∗ U j + d L+k ∗ V j , s = b L+k ∀ k = 1, . . . , M − L; p + q + r + s = e; L+k
j
j
L+k
j
L+k
j
L+k
p, q, r, s ∈ Rn+ }. Example 2.
Let us consider the following linearly constrained quadratic problem:
min{ Qx, x + c, x: Ax ≤ a, Bx = d, x ∈ {0, 1}n }, where Q ∈ Z n×n is symmetric, A ∈ Rm×n , B ∈ Rk×n , c ∈ Rn , a ∈ Rm and d ∈ Rk . By defining, for example, the vectors v, V ∈ Rn as vi = min{ Qx, ei : Ax ≤ a, Bx = d, 0 ≤ x ≤ e, x ∈ Rn } and Vi = max{ Qx, ei : Ax ≤ a, Bx = d, 0 ≤ x ≤ e, x ∈ Rn },
(2.10)
162
BARRIENTOS ET AL.
where ei is the i-th canonical vector of Rn and e = (1, . . . , 1) ∈ Rn , it is easy to see that (2.10) is equivalent to the following problem: min{ y, x + c, x: Ax ≤ a, Bx = d, Qx = y, 0 ≤ x ≤ e, v ≤ y ≤ V, (x, y) ∈ Z n × Z n } (a similar transformation has been used in [1]). Therefore, we have reduced problem (2.10) to the case of Example 1. More explicitly, if R j = {(x, y) ∈ Z n × Z n : u j ≤ x ≤ U j , v j ≤ y ≤ V j } is an element of a rectangular cover of the set {(x, y) ∈ Z n × Z n : 0 ≤ x ≤ e, v ≤ y ≤ V }, by using Theorem 2.1 and Remark 2.1, we obtain the following equality β j = min{ (c + v j ) ∗ u j , p + (c + V j ) ∗ u j , q + (c + v j ) ∗ U j , r + (c + V j ) ∗ U j , s: A[u j ∗ ( p + q) + U j ∗ (r + s)] ≤ a, B[u j ∗ ( p + q) + U j ∗ (r + s)] = d, Q[u j ∗ ( p + q) + U j ∗ (r + s)] = v j ∗ ( p + r ) + V j ∗ (q + s), p + q + r + s = e, p, q, r, s ∈ Rn+ }. Example 3.
Let us consider the following general bilinear problem:
0 min{ Q 0 y M+1 , x 0 + ¯c0 , x 0 + d¯ , y M+1 : l
Q l y M+1 , x 0 + ¯cl , x 0 + d¯ , y M+1 ≤ bl l
Q y , x + c¯ , x + d¯ , y M+1 = bl x 0 ∈ {0, 1}n , y M+1 ∈ {0, 1}k }, l
M+1
0
l
0
∀ l = 1, . . . , L; ∀ l = L + 1, . . . , M;
(2.11)
where Q l ∈ Z n×k , c¯ l ∈ Rn , d¯ l ∈ Rk for all l = 0, . . . , M and b = (b1 , . . . , b M ) ∈ R M . By defining, for example, the vectors v¯ l , V¯ l ∈ Rn for all l = 0, . . . , M as v¯li = min{ Q l y M+1 , ei : 0 ≤ y M+1 ≤ ek , y M+1 ∈ Rk } and l V¯ i = max{ Q l y M+1 , ei : 0 ≤ y M+1 ≤ ek , y M+1 ∈ Rk }, where ei is the i-th canonical vector of Rk and ek = (1, . . . , 1) ∈ Rk , it is easy to see that (2.11) is equivalent to the following problem: min γ 0 ∗ y, x + c0 , x + d 0 , y:
γ l ∗ y, x + cl , x + d l , y ≤ bl ∀ l = 1, . . . , L;
γ l ∗ y, x + cl , x + d l , y = bl ∀ l = L + 1, . . . , M; Q l y M+1 − y l = 0 ∀ l = 0, . . . , M; x l − x l+1 = 0 ∀ l = 0, . . . , M − 1;
BRANCH AND BOUND METHOD
163
x M+1 = 0; x = (x l ), y = (y l ); 0 ≤ x l ≤ en ∀ l = 0, . . . , M; 0 ≤ x M+1 ≤ 0; v¯ l ≤ y l ≤ V¯ l ∀ l = 0, . . . , M; 0 ≤ y M+1 ≤ ek ; (x, y) ∈ Z [(M+1)n+k] × Z [(M+1)n+k] , where γ l = (0, . . . , 0, en , 0, . . . , 0) ∈ R(M+1)n+k and en = (1, . . . , 1) ∈ Rn is in the l-th l position; cl = (c¯l , 0, . . . , 0) ∈ R(M+1)n+k ; and d l = (0, . . . , 0, d¯ ) ∈ R(M+1)n+k for all l = 0, . . . , M. Therefore, we have reduced problem (2.11) to the case of Example 1. 3.
A branch and bound method
In this section we describe the simple Branch and Bound method implicit in results of the previous section. In the method that we propose, branching is the refinement of and bounding is the determination of lower and upper bounds for the value α defined in (1.1). From now on, we suppose that the set D is a rectangle in Z n × Z n , that is D = {(x, y) ∈ Z n × Z n : u ≤ x ≤ U, v ≤ y ≤ V } for some u, U, v, V ∈ Z n . In Section 2, we have seen that the intermediate dual program γ () (defined in (2.3)) is a lower bound for the optimal value α (see ((2.4)). Therefore we hope that refining the cover , we can approximate the value γ () to α. More specifically, we start with defining = {D}. If we initially know a feasible point (x¯ , y¯ ) ∈ D, i.e. such that gl (x¯ , y¯ ) ≤ al for all l = 1, . . . , L; and, h k (x¯ , y¯ ) = bk for all k = 1, . . . , K ; we start with defining α() = f (x¯ , y¯ ), otherwise α() = +∞. Now, at each iteration we define new local refinements of and improve the lower bound of the value α by solving dual programs of the type L sup{(µ, λ) : µ ∈ R+ , λ ∈ R K },
where (µ, λ) = min(x,y)∈R L(x, y, µ, λ) and R is a set in the cover of D. Since D is a rectangle, we can choose a rectangular cover of D, that is each R ∈ is a rectangle in Rn × Rn . Thus using Theorem 2.1, we can solve the dual linear problem above. Let us now describe precisely this Branch and Bound method: The branching. To avoid storing an exponential amount of regions, we employ a deep-search for crossing the graph implicit in set D. This graph is stored in stack S. Thus, the number of regions stored in stack S is polynomially bounded for the number of points in D. Indeed,
164
BARRIENTOS ET AL.
if m i is the number of integer points for the i-th variable in D then, at the current iteration,
2n the number of stored regions in stack S is at the most i=1 (m i − 1). On the other hand, we have a list order which points out the order for cutting the variables, that is order[i] is the i-th variable to cut for i = 1, . . . , 2n. At the current iteration, we take the first element R in the stack S. This element contains the information about the region, that is R = {(x, y) : u i ≤ xi ≤ Ui , vi ≤ yi ≤ Vi }; the lower bound on the region R; and, moreover the information referent to the last index cut ıˆ. Next, we bisect the next variable order(ˆı +1) of region R. More explicitly, if order(ˆı +1) ≤ n, we define two regions R 1 and R 2 as: R 1 = {(x, y): u i ≤ xi ≤ Ui i = 1, . . . , order(ˆı + 1) − 1; u order(ˆı +1) ≤ xorder(ˆı +1) ≤ uˆ order(ˆı +1) ; u i ≤ xi ≤ Ui i = order(ˆı + 1) + 1, . . . , n; vi ≤ yi ≤ Vi i = 1, . . . , n}, R 2 = {(x, y): u i ≤ xi ≤ Ui i = 1, . . . , order(ˆı + 1) − 1; uˆ order(ˆı +1) + 1 ≤ xorder(ˆı +1) ≤ Uorder(ˆı +1) ; u i ≤ xi ≤ Ui i = order(ˆı + 1) + 1, . . . , n; vi ≤ yi ≤ Vi i = 1, . . . , n},
(3.1)
where uˆ order(ˆı +1) = max{z ∈ Z : z ≤ (u order(ˆı +1) + Uorder(ˆı +1) )/2}. Analogously if order(ˆı + 1) > n then repeat with the yorder(ˆı +1)−n variable. In this point, we note that there are cases in which is not necessary to cut all variables. More explicitly, if there is functional dependence y = T (x) between the variables, which is not affected by the transformations of Theorems 2.1 in Section 2, then it is not necessary to cut the y variables. For example, if the problem contains linear equality constraints such that if the x variable is reduced to a singleton there this implies that the y variable is also reduced to a singleton. See Examples 2 and 3 in Section 2. The bounding. For this step we store additional information: – the best feasible candidate (x , y ) at the current iteration and cost function value α() = f (x , y ), – a link which allows the recovery of the region that at the current iteration attains the lowest bound γ (). For each region defined by the branching, R 1 and R 2 , we calculate the lower bound defined by the dual linear problem from Theorem 2.1 (see Remark 2.1 below this result): β j = min{ ε(u j , v j ), p + ε(u j , V j ), q + ε(U j , v j ), r + ε(U j , V j ), s: η(u j , v j )t p + η(u j , V j )t q + η(U j , v j )t r + η(U j , V j )t s ≤ a θ(u j , v j )t p + θ (u j , V j )t q + θ(U j , v j )t r + θ(U j , V j )t s = b p+q +r +s = e p, q, r, s ∈ Rn+ },
(3.2)
165
BRANCH AND BOUND METHOD j
j
j
j
where η, ε, θ and e are defined in (2.8); and R j = {(x, y) : u i ≤ xi ≤ Ui , vi ≤ yi ≤ Vi } for j = 1, 2. ¯ q, ¯ r¯ , s¯ ) ∈ On the other hand, at the same time that we calculate β j , we obtain a vector ( p, n R solution of the problem (3.2). We define the vectors: j j j xˆ i = round u i ( p¯ i + q¯ i ) + Ui (¯r i + s¯i ) , j j j yˆ i = round vi ( p¯ i + r¯ i ) + Vi (q¯ i + s¯i ) ,
(3.3)
where the round function is defined as round(x) = max{z ∈ Z : z ≤ x + 0.5}. Next, we test if the vector (xˆ j , yˆ j ) is a feasible point to the problem (1.1). The reason for using this point as a candidate may be explained by the following result: Proposition 3.1 (Local optimality sufficient condition). Let ( p¯ j , q¯ j , r¯ j , s¯ j ) be a solution point of the problem (3.2). If ( p¯ j , q¯ j , r¯ j , s¯ j ) is a binary point then the vector (xˆ j , yˆ j ) defined in (3.3) is an optimal point for the following problem: min{ f (x, y) : gl (x, y) ≤ al ∀ l = 1, . . . , L; h k (x, y) = bk ∀ k = 1, . . . , K ; (x, y) ∈ R j ∩ Z }.
(3.4)
Proof: Since ( p¯ j , q¯ j , r¯ j , s¯ j ) is a binary point and satisfies p¯ j + q¯ j + r¯ j + s¯ j = e, we can write the following equalities: n j j j j j j j j j j j j εi u i p¯ i + q¯ i + Ui r¯i + s¯i , vi p¯ i + r¯i + Vi q¯ i + s¯i i=1
=
j j j j j j j j εi u i , vi + εi u i , Vi + εi Ui , vi + εi Ui , Vi ,
j
j
p¯ i =1
q¯ i =1
j
r¯i =1
j
s¯i =1
n j j j j j j j j j j j j ηil u i p¯ i + q¯ i + Ui r¯i + s¯i , vi p¯ i + r¯i + Vi q¯ i + s¯i i=1
=
j j j j l j j ηil u i , vi + ηi u i , Vi + ηil Ui , vi
j
j
p¯ i =1
+
q¯ i =1
j
r¯i =1
j j ∀ l = 1, . . . , L , ηil Ui , Vi
j
s¯i =1 n
j j j j j j j j j j j j θik u i p¯ i + q¯ i + Ui r¯i + s¯i , vi p¯ i + r¯i + Vi q¯ i + s¯i
i=1
=
j j j j k j j θik u i , vi + θi u i , Vi + θik Ui , vi
j
p¯ i =1
+
j
s¯i =1
j
q¯ i =1
j
r¯i =1
j j ∀ k = 1, . . . , K . θik Ui , Vi
166
BARRIENTOS ET AL.
From the above equalities, it is clear that (xˆ j , yˆ j ) is a feasible point of problem (3.4) and that we have the equality f (xˆ j , yˆ j ) = β j . For the bounding process, we test if the point (xˆ j , yˆ j ) (defined in (3.3)) is feasible, in which case we update α() = min{α(), f (xˆ j , yˆ j )}. We eliminate from the stack S the elements with lower bounds greater than α(). We then test if the point satisfies the local optimality sufficient condition ( f (xˆ j , yˆ j ) = β j ) in which case we eliminate the region R j because we have obtained the global minimum over this region. Next, we analyze if β j ≤ α(), in which case we push the region R j in the stack S, otherwise we eliminate the region because it does not contain global minima of the problem (1.1). Finally, we test if α() ≤ γ . If so, we have found the global minimum of the problem (1.1), otherwise branching. To complete this section, we describe the algorithm for solving problem (1.1) in detail.
Algorithm 3.2 The elements of the cover are stored in stack S. Moreover, there is a double link which organizes stack S in ascending order in relation to the lower bounds. Each element of stack S contains the following information: the vertices that define the region, lower bound on the region, index of last variable cut to the region, and the links to the previous and following region in relation to the lower bounds. Some global information is necessary: α() the best cost function value (and the feasible point where it is attained) and γ () the lowest bound on stack S. 1. Initialization: READ: the data of the problem, cut order of the variables, dependency flag of the variables and initial value of best feasible known (if available). DEFINE: α() = +∞ if no feasible solution available; the element R with the original vertices; and γ () = −∞ as lower bound for this region. PUSH R in stack S. 2. POP from S the element R. Denote as: u, U, v, V the vertices of the region, i the last variable cut and γ the lower bound of the region. 3. BISECT the element R along the variable indicated for list or der (i + 1) (see (3.1)). 4. For each j = 1, 2; CALCULATE the lower bound (see (3.2)), at the same time TEST if candidate point (see (3.3)) is feasible, if necessary: update the value α(), store the point, eliminate the elements of stack S with a lower bound greater than α(), and test local optimality sufficient condition (see Proposition 3.1) in which case eliminate the region R j . 5. For each j = 1, 2; if β j ≤ α(), PUSH the element R j in the stack S. 6. TEST if stack S is not empty and α() > γ () then GO TO 2. 7. TEST if we have found a feasible point, then PRINT: “The solution point is: (x , y ) and the minimum cost function is: f (x , y )”, else PRINT: “The problem is not feasible”.
167
BRANCH AND BOUND METHOD
4.
Numerical results
The computational results presented below were obtained using an Origin 2000 computer of Silicon Graphics. The Origin 2000 has 6 MIPS R10000 processor chips (revision: 2.6). Each processor has 32 Kb instruction cache, a main memory of 256 Mb and a CPU speed of 195 MHz. We have developed a sequential code (in C++ language) for solving bilinearly constrained bilinear problems. For solving the linear subproblems, we use the CPLEX (version 5.0) package from ILOG.
Test Problem 1 This is the classical 0-1 knapsack problem: Given n integers a1 , . . . , an and an integer δ, determine if there is a subset J ⊂ {1, . . . , n} such that
a j = δ.
j∈J
We consider the following 0-1 quadratic approach for solving this problem: min
n
xi (1 − xi ) :
i=1
n
ai xi = δ, xi ∈ {0, 1} for all i ∈ {1, . . . , n} .
i=1
We solved 5 problems (50 for each dimension), the smallest of dimension 100 and the largest of dimension 500. The data ai ∈ [1, 2000] i ∈ {1, . . . , n} are randomly generated n integer numbers and we have chosen δ = 12 i=1 ai . Table 1 summarizes the computational results.
Table 1. n
Trials
av iter
mx reg
it cand
100
50
200
50
300
av time
mx time
2866
64
2866
67
2596
114
2596
236
705
50
3397
171
3397
814
1792
400
50
2308
220
2308
1904
3243
500
50
2460
237
2460
4537
6570
229
Note: n = number of variables; trials = numbers of trials; av iter = average of iterations; mx reg = maximum number of stored regions; it cand = average of iterations that find the solution or determine that the problem is not feasible; av time = average of CPU time (in seconds) iterations; mx time = maximum of CPU time (in seconds) iterations.
168
BARRIENTOS ET AL.
Test Problem 2 This is the classical quadratic assignment problem: m m m m m min qi jkl xik x jl : xi j = 1, j = 1, . . . , m; i=1 j=1 k=1 l=1 m
i=1
xi j = 1, i = 1, . . . , m; xi j ∈ {0, 1} .
j=1
We solved 6 problems, the smallest of dimension 5 and the largest of dimension 10. The data qi jkl ∈ [1, 100] i, j, k, l ∈ {1, . . . , m} are randomly generated integer numbers. Table 2 summarizes the computational results. Test Problem 3 This is the classical max cut problem: n n max wi j (1 − xi x j ) : xi ∈ {−1, 1} for all i ∈ {1, . . . , n} . i=1 j=1
We consider the following 0-1 quadratic approach for solving this problem: n n min wi j (zyi y j − yi − y j ) : yi ∈ {0, 1} for all i ∈ {1, . . . , n} . i=1 j=1
For four different types of random graphs, we ran 50 instances on graphs of 20 vertices and 20 on graphs of size 30. In the type A random graphs, each edge (i, j) is included with probability 1/2. In the type B random graphs, each edge is given a weight drawn uniformly from interval [−50, 50]. In the type C random graphs of size n ≥ 10, an edge (i, j) is included with probability 10/n, leading to constant expected degree. Finally, in the type D random graphs, an edge (i, j) is included with probability 0.1 if i ≤ n/2 and j > n/2 Table 2. n = m2
Trials
av iter
mx reg
it cand
av time
mx time
25
50
1070
4
790
8.7
36
50
2784
5
2064
37.9
62.8
49
50
10368
6
7204
250.4
340.4
64
50
53957
7
35229
2183.1
2813.9
81
10
332373
8
150075
19900.8
28053.5
100
10
2935563
9
1857915
241333.4
369402.5
Note: (See Table 1 note.)
15.3
169
BRANCH AND BOUND METHOD Table 3. Type
n
Trials
av iter
mx reg
it cand
av time
mx time
A
20
50
13996
19
6196
52.9
130.5
A
30
20
3739428
29
1336077
21317.0
41467.2
B
20
50
29109
20
24053
116.9
226.4
B
30
20
5795540
30
5068042
35478.3
79969.5
C
20
50
13908
19
6010
52.7
110.0
C
30
20
1353224
29
643699
7347.5
15113.5
D
20
50
1622
6
227
5.2
103.2
D
30
20
4597
19
2450
22.4
112.9
Note: (See Table 1 note.)
and probability 0.05 otherwise, leading to a large cut between the vertices in [1, . . . , n/2] and those in [n/2 + 1, . . . , n]. In the types A, C and D, each edge is given a weight drawn uniformly from interval [0, 100]. Similar test problems have been used by Goemans and Williamson in [7]. Table 3 summarizes the computational results. Test Problem 4 This is a nonconvex bilinearly constrained bilinear problem: n n 0 k n min ai xi yi + bi0 xi + ci0 yi : ai xi yi + bik xi + ck yi ≤ d k , k = 1, . . . , ; 2 i=1 i=1 xi , yi ∈ {0, 1} i = 1, . . . , n . We solved 5 problems, the smallest of dimension 10 and the largest of dimension 50. The data aik , bik , cik , d k ∈ [−50, 50] i ∈ {1, . . . , n}, k ∈ {0, . . . , n2 } are randomly generated integer numbers. Table 4 summarizes the computational results. Table 4. n
Trials
10
50
210
14
176
0.5
2.8
20
50
6108
34
5627
33.5
222.9
30
50
131033
45
127633
1317.6
8779.8
40
50
2335327
60
2269351
38735.4
509148.3
Note: (See Table 1 note.)
av iter
mx reg
it cand
av time
mx time
170 5.
BARRIENTOS ET AL.
Concluding remarks
We have shown a method for solving integer separable concave problems based on the idea of reducing the duality gap. We have developed a branch and bound method, which uses Lagrangian duality for obtaining lower and upper bounds on each region of the branch. From a theoretical viewpoint, we have proved that the dual problem of a separable concave program on a rectangle is a linear problem. This result is the basis on which to develop the branch and bound method described in this paper. Additionally, we have identified an excellent candidate to test on each region of the branch and have shown a local optimality sufficient condition for this candidate. In fact, the implementation of the algorithm developed becomes very simple. The implemented deep-search uses less computational resources (RAM memory) and since the linear problems differ only in some columns, they are very simple to solve by CPLEX. Moreover, we also tried to use a search of type most probable region, that is, to cut the region with the lowest bound. The results however were disastrous because to solve the same test problems the necessary computational resources increased significantly. Furthermore, we observe that the candidate point proposed is very good. From the result tables we establish that finding the solution takes approximately a 66% of total iterations. We also conclude that the proposed method is, on average, efficient and can be used for solving a wide variety of problems. However, in the worst case, if we consider the following knapsack problem: ai = 2i for i = 1, . . . , n, δ = 12 n(n + 1) where n = 6 + 4 p p ∈ N, we see that the necessary number of iterations for solving this problem grows exponentially. Finally based on the same idea, we are working on developing a method for solving quadratic assignment problems which takes advantage of the particular structure of the problem. We are also working on extending this idea to the quadratic continuous case, but the greatest problem will be to assure the feasibility of our candidate. References 1. F.A. Al-Khayyal, C. Larsen, and T.V. Voorhis, “A Relaxation method for nonconvex quadratically constrained quadratic programs,” J. of Global Optimization, vol. 6, pp. 215–230, 1995. 2. O. Barrientos and R. Correa, “An algorithm for global minimization of linearly constrained quadratic functions,” J. of Global Optimization, vol. 16, no. 1, pp. 77–93, 2000. 3. S.H. Bokhari, “On the mapping problem,” IEEE Transactions on Computers, vol. C-30, no. 3, pp. 207–214, 1981. 4. R.E. Burkard, “Locations with spatial interactions: The quadratic assignment problem,” Discrete Location Theory, P.B. Mirchandani and R.L. Francis (Eds.), John Wiley, 1991. 5. R.L. Francis and J.A. White, Facility Layout and Locations. Prentice-Hall: Englewood Cliffs, NJ, 1974. 6. A.M. Geoffrion and G.W. Graves, “Scheduling parallel production lines with changeover costs: Practical applications of a QP/LP approach,” Operations Research, vol. 24, pp. 595–610, 1976. 7. M.X. Goemans and D.P. Williamson, “Improved approximation algorithms for maximum cut and satisfiability problems using semidefinite programming,” J. of the Association for Computing Machinery, vol. 42, no. 6, pp. 1115–1145, 1995. 8. V.P. Gulati, S.K. Gupta, and A.K. Mittal, “Unconstrained quadratic bivalent programming problem,” European J. of Oper. Res., vol. 15, pp. 121–125, 1984. 9. L.J. Hubert, Assignment Methods in Combinatorial Data Analysis. Marcel Dekker, Inc.: New York, NY, 1987.
BRANCH AND BOUND METHOD
171
10. J. Krarup and P.M. Pruzan, “Computer-aided layout design,” Mathematical Programming Study, vol. 9, pp. 75–94, 1978. 11. D.J. Laughunn, “Quadratic binary programming with applications to capital-budgeting problem,” Operations Research, vol. 14, pp. 454–461, 1970. 12. H.M. Markovitz, Portfolio Selection. Wiley: New York, 1978. 13. E.J. McCormik, Human Factors Engineering. McGraw-Hill: New York, 1970. 14. P.M. Pardalos and Wolkowics (Eds.), “Quadratic Assignment and Related Problems,” DIMACS A.M.S, vol. 16, 1994. 15. J. Rhys, “A selection problem of shared fixed costs on network flow,” Management Science, vol. 17, no. 3, pp. 200–207, 1970. 16. L. Steinberg, “The backboard wiring problem: A placement algorithm,” SIAM Review, vol. 3, pp. 37–50, 1961. 17. C. Witzgall, “Mathematical methods of site selection for Electric Message Systems (EMS),” NBS Internal Report, 1975.