# A Branch-and-Bound Algorithm Embedded with DCA for DC Programming

Authors: Meihua Wang; Fengmin Xu; Chengxian Xu
Journal: Mathematical Problems in Engineering
 (2012)

---

## Abstract

The special importance of Difference of Convex (DC) functions programming has been recognized in recent studies on nonconvex optimization problems. In this work, a class of DC programming derived from the portfolio selection problems is studied. The most popular method applied to solve the problem is the Branch-and-Bound (B&B) algorithm. However, “the curse of dimensionality” will affect the performance of the B&B algorithm. DC Algorithm (DCA) is an efficient method to get a local optimal solution. It has been applied to many practical problems, especially for large-scale problems. A B&B-DCA algorithm is proposed by embedding DCA into the B&B algorithms, the new algorithm improves the computational performance and obtains a global optimal solution. Computational results show that the proposed B&B-DCA algorithm has the superiority of the branch number and computational time than general B&B. The nice features of DCA (inexpensiveness, reliability, robustness, globality of computed solutions, etc.) provide crucial support to the combined B&B-DCA for accelerating the convergence of B&B.


---

## Body

## 1. Introduction

DC programming is an important subject in optimization problems. This paper studies one class of DC programming, which is originally derived from the portfolio investment problems.Consider the following problem:(Q)min⁡xf(x)=p(x)+ϕ(x)s.t.x∈Vl≤x≤u.
here p(x)=(1/2)xTHx+cTx, with H being a positive definite matrix. ϕ(x)=∑i=1nϕi(xi), with ϕi(xi) being a concave function for i=1,2,…,n. Decision vector x=(x1,x2,…,xn)T∈𝒱, with 𝒱={x∣Ax≤b} being a polyhedron, A∈Rm×n,b∈Rm. In addition, x is restricted to the lower bounds l=(l1,l2,…,ln)T and the upper bounds u=(u1,u2,…,un)T.Falk and Soland propose a B&B algorithm for separable nonconvex programming problems in [1], where the objective function is a separable nonconvex function. Phong et al. give a decomposition B&B method for globally solving linearly constrained indefinite quadratic minimization problems in [2, 3], where the objective function is p(x)+ϕ(y) with p(x) being a convex quadratic function, however, the concave part ϕ(y) is a function of y rather than x. Konno and Wijayanayake [4] propose a B&B algorithm to solve portfolio optimization problems under concave transaction costs. The algorithm is proposed by introducing linear underestimated functions for concave transaction cost functions, and is successively used to solve optimal portfolio selection problems with 200 assets. Honggang and Chengxian give a B&B algorithm to solve this class of DC programming with the proposed largest distance bisection in [5], and tests show the efficiency of the method for the problem with 20–160 dimensions. More representatively, a convex minorant of the DC function f(x)=p(x)+ϕ(x) is defined by p+co𝕔(ϕ) for B&B algorithm in DC programming, where co𝕔(ϕ)denotes the convex envelope of the concave function ϕ on the set ℂ, and this is called DC relaxation in DC programming which has been completely studied in [6] and is important for nonconvex programming problems. The performance of the B&B depends on the branching strategy and bounding technology. The main concern of the above B&B algorithms is to solve the underestimated problem of initial problem to obtain an upper bound and also a lower bound for the optimal value, then divide the problem into two subproblems according to some rules, and repeat the above steps for a selected subproblem. By constantly reducing the upper bound and increasing the lower bound for the optimal value, we can obtain a global optimal solution. The main contribution of our work is to improve the upper bound for the optimal value by a local optimization algorithm for the DC programming self rather than the underestimated problem.DCA is an effective local optimization method based on local optimality and the duality for solving DC programming, especially for large-scale problems. DCA has been first proposed by Tao and An [7] in their preliminary form in 1985 as an extension of subgradient algorithms to DC programming. Then, the method becomes classic and increasingly popular due to the joint work by An and Tao since 1994. Crucial developments and improvements for DCA from both theoretical and computational aspects have been completed, see [7–12] and references therein. In particular, the work by An et al. [12] investigates DC Programming and DCA for solving large-scale (until 400 000 dimensions) nonconvex quadratic programming. Since solving large-scale convex quadratic programs is expensive, the combination of DCA and interior point method (IP) can reduce the computation time and this outperforms the reference code LOQO by Vanderbei (Princeton). DCA has been widely used to a lot of different and nonconvex optimization problems, such as trust region subproblem, nonconvex quadratic programming, and so on (see [6, 13–17]). Furthermore, it always provides a global optimal solution for the problems [11]. The very complete reference including a list of real-world applications of DC Programming and DCA has been summarized by An and Tao(see the website [18]).DCA is an efficient method for DC programming which allows to solve large-scale DC programming. In this paper, we will obtain a local optimization solution by the DCA method, the optimal value of which is also an upper bound for the optimal value of the problem (Q). In most cases, the local optimal solution is always a global optimal solution. Embedding this upper bound into the B&B algorithms can improve the convergence speed and guarantee the global optimality of the solution when it is used to solve the problem (Q). Computational tests will be conducted for general problem and especially for portfolio selection problem, the results show that the proposed B&B-DCA algorithm can solve problems efficiently and have the superiority of the branch number and computational time.The rest of the paper is organized as follows. Local optimization method DCA for the problem (Q) is described in Section 2. The B&B method embedded with DCA algorithm is given in Section 3. Computational tests are stated in Section 4. Conclusion and future research are shown in Section 5.


## 2. Local Optimization Method DCA

### 2.1. DCA for General DC Programming

Consider the following general DC programming:(P)γ=inf⁡{F(x)=g(x)-h(x),x∈Rn},
where g(x) and h(x) are lower semicontinuous proper convex functions on ℝn. Such a function F(x) is called a DC function, and g(x)-h(x) is called a decomposition of F(x), while g(x) and h(x) are DC components of F(x). In addition, a constrained DC programming whose feasible solution set ℂ is convex can also be transformed into an unconstrained DC programming by adding the indicator function of ℂ (it is equal to 0 in ℂ, infinity elsewhere) to the first DC component g(x).Letg*(y)=sup{〈x,y〉-g(x),x∈ℝn} be the conjugate function of g(x). Then, the dual programming of (P) can be expressed as
(PD)γD=inf⁡{h*(y)-g*(y),y∈Rn}.
The perfect symmetry exists between primal programming (P) and dual programming (PD): the dual of (PD) is exactly (P). Remark that if the optimal value γ is finite, we have(2.1)dom⁡(g)⊂dom⁡(h),dom⁡(h*)⊂dom⁡(g*).
here, dom(g)={x∈ℝn∣g(x)<+∞}. Such inclusion will be assumed throughout the paper.The necessary local optimality condition [6] for the primal problem (P) is(2.2)∂g(x*)∩∂h(x*)≠∅
(such a point x* is called a critical point for g(x)-h(x)) and(2.3)∂h(x*)⊂∂g(x*),
where subdifferential [19] of h(x) at x0 is denoted by(2.4)∂h(x0)={y∈Rn∣h(x)≥h(x0)+〈x-x0,y〉,∀x∈Rn}.Let𝒫 and 𝒟 denote global solutions sets of problem (P) and (PD), respectively. According to the work by Toland [20], the relationship between them is(2.5)[⋃y*∈D∂g*(y*)]⊂P,[⋃x*∈P∂h(x*)]⊂D.
Under technical conditions, this transportation also holds true for local optimal solutions of problems (P) and (PD), more details can be found in [8–11].Based on local optimality conditions and duality in DC programming, the DCA consists in the construction of two sequence{xk} and {yk} [17], such that the sequences {g(xk)-h(xk)} and {h*(yk)-g*(yk)} are decreasing, and {xk} (resp., {yk}) converges to a primal feasible solution x̃ (resp., a dual feasible solution ỹ) which satisfies local optimality conditions and(2.6)x̃∈∂g*(ỹ),ỹ∈∂h*(x̃).Then, the basic scheme of DCA can be expressed as follows:(2.7)yk+1∈∂h(xk),xk+1∈∂g*(yk).
In other words, xk+1 and yk+1 are the solution of the convex programming (Pk) and (PDk), respectively,
(Pk)inf⁡{g(x)-[h(xk)+〈x-xk,yk〉],x∈Rn},(PDk)inf⁡{h*(y)-[g*(yk)+〈y-yk,xk+1〉],y∈Rn}.In the following, we will show main convergence properties of DCA which have been proposed and proven in [10, 11, 17]. First, ℂ (resp., 𝔻) is used to denote a convex set containing the sequence {xk} (resp., {yk}) and ρ(g,ℂ) (or ρ(g) if ℂ=Rn) the modulus of strong convexity of the function g(x) on ℂ are given by:(2.8)ρ(g,C)=sup⁡{ρ≥0:g(x)-(ρ2)‖x‖2isconvex,x∈C}.(1)
The sequences{g(xk)-h(xk)} and {h*(yk)-g*(yk)} are decreasing and.
(i)
g(xk+1)-h(xk+1)=g(xk)-h(xk) if yk∈∂g(xk)∩∂h(xk), yk∈∂g(xk+1)∩∂h(xk+1) and [ρ(g,ℂ)+ρ(h,ℂ)]∥xk+1-xk∥=0. Furthermore, if g or h are strictly convex on ℂ, xk+1=xk.(ii)
h*(yk+1)-g*(yk+1)=h*(yk)-g*(yk) if  xk+1∈∂g*(yk)∩∂h*(yk), xk+1∈∂g*(yk+1)∩∂h*(yk+1) and [ρ(g*,𝔻)+ρ(h*,𝔻)]∥yk+1-yk∥=0. Furthermore, if g* or h* are strictly convex on 𝔻,then yk=yk+1. In such cases, DCA terminates at the kth iteration (finite convergence of DCA).(2)
Ifρ(g,ℂ)+ρ(h,ℂ)>0 (resp., ρ(g*,𝔻)+ρ(h*,𝔻)>0), then the series {∥xk+1-xk∥2} (resp., {∥yk+1-yk∥2}) converges.(3)
If the optimal valueγ of the primal problem (P) if finite and the infinite sequence xk and yk are bounded, then every limit point x̃ (resp., ỹ) of the sequence xk (resp., yk) is a critical point of g(x)-h(x) (resp., h*(y)-g*(y)).(4)
DCA has a linear convergence rate for general DC programming.


### 2.2. DCA Applied for Solving Problem (Q)

Problem (Q) is a special form of general DC programming (P), with g(x)=p(x) and h(x)=-ϕ(x). According to the description of DCA in Section 2.1, we need to compute ∂(-ϕ)(x) and ∂p*(y). According to knowledge of modern convex analysis, we have ∂(-ϕ)(x)=∏i=1n∂(-ϕi)(xi).As can be seen, if and only if(-ϕ)(x) is differential at x, ∂(-ϕ)(x) reduces to a singleton which is exactly {∇(-ϕ)(x)=((-ϕ1)′(x1),…,(-ϕn)′(xn))T}. For the computation of ∂p*(y), we need to solve the following convex quadratic programming:(2.9)min⁡x{p(x)-〈x,y〉,x∈V&l≤x≤u}
because its solution is exactly ∂p*(y)={∇p*(y)}. Finally, DCA applied for solving problem (Q) can be described as follows.Algorithm 2.1 (The DCA for the Problem (Q)).
1° Initialization
Letϵ be a sufficiently small positive number. First select an initial point x0∈ℝn. Set t=0, goto 2°.2° Iteration
Setyt=∇(-ϕ)(xt), that is, yit=∇(-ϕi)(xit),i=1,2,…,n, and then solve the following quadratic programming
(2.10)min⁡x{p(x)-〈x,yt〉,x∈V&l≤x≤u}
the solution of (2.10) is denoted as xt+1, goto 3°.3° Stop Criterion
If∥xt+1-xt∥≤ϵ, then stop and we get a local optimal solution x*=xt+1. Otherwise, set t=t+1, goto 2°.
We can obtain a local optimal solution by Algorithm2.1 efficiently for the problem (Q) with different dimensions.


## 2.1. DCA for General DC Programming

Consider the following general DC programming:(P)γ=inf⁡{F(x)=g(x)-h(x),x∈Rn},
where g(x) and h(x) are lower semicontinuous proper convex functions on ℝn. Such a function F(x) is called a DC function, and g(x)-h(x) is called a decomposition of F(x), while g(x) and h(x) are DC components of F(x). In addition, a constrained DC programming whose feasible solution set ℂ is convex can also be transformed into an unconstrained DC programming by adding the indicator function of ℂ (it is equal to 0 in ℂ, infinity elsewhere) to the first DC component g(x).Letg*(y)=sup{〈x,y〉-g(x),x∈ℝn} be the conjugate function of g(x). Then, the dual programming of (P) can be expressed as
(PD)γD=inf⁡{h*(y)-g*(y),y∈Rn}.
The perfect symmetry exists between primal programming (P) and dual programming (PD): the dual of (PD) is exactly (P). Remark that if the optimal value γ is finite, we have(2.1)dom⁡(g)⊂dom⁡(h),dom⁡(h*)⊂dom⁡(g*).
here, dom(g)={x∈ℝn∣g(x)<+∞}. Such inclusion will be assumed throughout the paper.The necessary local optimality condition [6] for the primal problem (P) is(2.2)∂g(x*)∩∂h(x*)≠∅
(such a point x* is called a critical point for g(x)-h(x)) and(2.3)∂h(x*)⊂∂g(x*),
where subdifferential [19] of h(x) at x0 is denoted by(2.4)∂h(x0)={y∈Rn∣h(x)≥h(x0)+〈x-x0,y〉,∀x∈Rn}.Let𝒫 and 𝒟 denote global solutions sets of problem (P) and (PD), respectively. According to the work by Toland [20], the relationship between them is(2.5)[⋃y*∈D∂g*(y*)]⊂P,[⋃x*∈P∂h(x*)]⊂D.
Under technical conditions, this transportation also holds true for local optimal solutions of problems (P) and (PD), more details can be found in [8–11].Based on local optimality conditions and duality in DC programming, the DCA consists in the construction of two sequence{xk} and {yk} [17], such that the sequences {g(xk)-h(xk)} and {h*(yk)-g*(yk)} are decreasing, and {xk} (resp., {yk}) converges to a primal feasible solution x̃ (resp., a dual feasible solution ỹ) which satisfies local optimality conditions and(2.6)x̃∈∂g*(ỹ),ỹ∈∂h*(x̃).Then, the basic scheme of DCA can be expressed as follows:(2.7)yk+1∈∂h(xk),xk+1∈∂g*(yk).
In other words, xk+1 and yk+1 are the solution of the convex programming (Pk) and (PDk), respectively,
(Pk)inf⁡{g(x)-[h(xk)+〈x-xk,yk〉],x∈Rn},(PDk)inf⁡{h*(y)-[g*(yk)+〈y-yk,xk+1〉],y∈Rn}.In the following, we will show main convergence properties of DCA which have been proposed and proven in [10, 11, 17]. First, ℂ (resp., 𝔻) is used to denote a convex set containing the sequence {xk} (resp., {yk}) and ρ(g,ℂ) (or ρ(g) if ℂ=Rn) the modulus of strong convexity of the function g(x) on ℂ are given by:(2.8)ρ(g,C)=sup⁡{ρ≥0:g(x)-(ρ2)‖x‖2isconvex,x∈C}.(1)
The sequences{g(xk)-h(xk)} and {h*(yk)-g*(yk)} are decreasing and.
(i)
g(xk+1)-h(xk+1)=g(xk)-h(xk) if yk∈∂g(xk)∩∂h(xk), yk∈∂g(xk+1)∩∂h(xk+1) and [ρ(g,ℂ)+ρ(h,ℂ)]∥xk+1-xk∥=0. Furthermore, if g or h are strictly convex on ℂ, xk+1=xk.(ii)
h*(yk+1)-g*(yk+1)=h*(yk)-g*(yk) if  xk+1∈∂g*(yk)∩∂h*(yk), xk+1∈∂g*(yk+1)∩∂h*(yk+1) and [ρ(g*,𝔻)+ρ(h*,𝔻)]∥yk+1-yk∥=0. Furthermore, if g* or h* are strictly convex on 𝔻,then yk=yk+1. In such cases, DCA terminates at the kth iteration (finite convergence of DCA).(2)
Ifρ(g,ℂ)+ρ(h,ℂ)>0 (resp., ρ(g*,𝔻)+ρ(h*,𝔻)>0), then the series {∥xk+1-xk∥2} (resp., {∥yk+1-yk∥2}) converges.(3)
If the optimal valueγ of the primal problem (P) if finite and the infinite sequence xk and yk are bounded, then every limit point x̃ (resp., ỹ) of the sequence xk (resp., yk) is a critical point of g(x)-h(x) (resp., h*(y)-g*(y)).(4)
DCA has a linear convergence rate for general DC programming.


## 2.2. DCA Applied for Solving Problem (Q)

Problem (Q) is a special form of general DC programming (P), with g(x)=p(x) and h(x)=-ϕ(x). According to the description of DCA in Section 2.1, we need to compute ∂(-ϕ)(x) and ∂p*(y). According to knowledge of modern convex analysis, we have ∂(-ϕ)(x)=∏i=1n∂(-ϕi)(xi).As can be seen, if and only if(-ϕ)(x) is differential at x, ∂(-ϕ)(x) reduces to a singleton which is exactly {∇(-ϕ)(x)=((-ϕ1)′(x1),…,(-ϕn)′(xn))T}. For the computation of ∂p*(y), we need to solve the following convex quadratic programming:(2.9)min⁡x{p(x)-〈x,y〉,x∈V&l≤x≤u}
because its solution is exactly ∂p*(y)={∇p*(y)}. Finally, DCA applied for solving problem (Q) can be described as follows.Algorithm 2.1 (The DCA for the Problem (Q)).
1° Initialization
Letϵ be a sufficiently small positive number. First select an initial point x0∈ℝn. Set t=0, goto 2°.2° Iteration
Setyt=∇(-ϕ)(xt), that is, yit=∇(-ϕi)(xit),i=1,2,…,n, and then solve the following quadratic programming
(2.10)min⁡x{p(x)-〈x,yt〉,x∈V&l≤x≤u}
the solution of (2.10) is denoted as xt+1, goto 3°.3° Stop Criterion
If∥xt+1-xt∥≤ϵ, then stop and we get a local optimal solution x*=xt+1. Otherwise, set t=t+1, goto 2°.
We can obtain a local optimal solution by Algorithm2.1 efficiently for the problem (Q) with different dimensions.


## 3. B&B Algorithm Embedded with DCA Methods

In most cases, B&B [5] methods are used to obtain the global optimal solution of the problem (Q). The main concern of the existing B&B algorithms is to solve the underestimated problem of the problem (Q). However, the computational cost of the algorithm will be very large along with the increasing dimension of the problem. In this section, we improve the upper bound for the optimal value by the local optimization algorithm DCA for DC programming self rather than the underestimated problem. DCA will be embedded into the B&B algorithm to accelerate the convergence of B&B.


### 3.1. The Description of the B&B-DCA Algorithm

In this subsection, we present the B&B-DCA method for the problem (Q). Let 𝒮0={l≤x≤u} be the initial set which needs to be branched. We replace each concave function ϕi(xi) in ϕ(x) by its underestimated function ϕ̲i(xi) over the set 𝒮0:(3.1)ϕ̲i(xi)=ai+bixi,
where(3.2)bi=ϕi(ui)-ϕi(li)ui-li,ai=ϕi(li)-bili,i=1,2,…,n.
Then, we let(3.3)f̲(x)=p(x)+ϕ̲(x)=p(x)+∑i=1nϕ̲i(xi)
be the underestimated function of the objective f(x)=p(x)+ϕ(x) in problem (Q). We solve the following quadratic programming problem:(Q)min⁡xp(x)+ϕ̲(x)s.t.x∈Vl≤x≤u.Letx̲0 be an optimal solution of the problem (Q), then we get an upper bound f(x̲0) and a lower bound f̲(x̲0) for the optimal value f(x*)(x* is a global optimal solution) of the primal problem (Q).Then, Algorithm2.1 is used to obtain a local optimal solution for which x̲0 is set as the initial iteration point x0. The relative optimal solution when Algorithm 2.1 stops are noted as x̃0. Then, we set the upper bound for the optimal value f(x*) (where x* is a global optimal solution of the problem (Q)) α0=min{f(x̲0),f(x̃0)}.Theorem 3.1.
Letx̲0 be an optimal solution of the problem (Q), let x̃0 be a local optimal solution obtained by DCA method, and let x* be a global optimal solution of the problem (Q), then we have
(3.4)f̲(x̲0)≤f(x*)≤α0.
where α0=min{f(x̲0),f(x̃0)}.Proof.
The following relationship holds true:(3.5)f̲(x̲0)=min⁡x{f̲(x)∣x∈V∩S0}≤min⁡x{f(x)∣x∈V∩S0}=f(x*)≤α0=min⁡{f(x̲0),f(x̃0)}.
This gives the conclusion.Before continuing to describe the algorithm, we need to know the “Rectangle Subdivision Process”, that is, divide the set𝒮0 into a sequence of subsets 𝒮k by means of hyperplanes parallel to certain facets [5]. The family of subrectangles can be represented by a tree with root 𝒮0 and subnodes. A node is a successor of another one if and only if it represents an element of the latter node. An infinite path in the tree corresponds to an infinite nested sequence of rectangles 𝒮k, k=0,1,…. “Rectangle Subdivision Process” plays an important role in the B&B method. In order to ensure the convergence of the algorithm, the concept of “Normal Rectangular Subdivision” (NRS) has been introduced in [21].Definition 3.2 (see [21]).
Assumed thatϕ̲k(x)=∑i=1nϕ̲ik(xi) is the linear underestimated function of ϕ(x) over the set Sk, x̲k is the optimal solution of the underestimated problem of (Q), then a nested sequence Sk is said to be normal if
(3.6)lim⁡k→∞⁡|ϕk(x̲k)-ϕ̲k(x̲k)|=0.
A rectangular subdivision process is said to be normal if any nested sequence of rectangles generated from the process is normal.Ifα0-f̲(x̲0)≤δ with δ a given sufficient small number, then x̲0(when f(x̲0)≤f(x̃0)) or x̃0 (when f(x̲0)>f(x̃0)) is an δ-approximate global optimal solution of the problem (Q). Otherwise, the problem (Q) will be divided into two subproblems:(Q1)min⁡{f(x)=p(x)+ϕ(x),x∈V&x∈S1},(Q2)min⁡{f(x)=p(x)+ϕ(x),x∈V&x∈S2},
where
(3.7)S1={x∣ls≤xs≤hs,li≤xi≤ui,i≠s,i=1,2,…,n},S2={x∣hs≤xs≤us,li≤xi≤ui,i≠s,i=1,2,…,n}hs is decided by the NRS process such as ω- subdivision.Similar to the problem (Q), we can get the underestimated quadratic programming (noted as (Q1) and (Q2)) for each of the subproblem (Q1) and (Q2) by replacing the concave part ϕ(x) by their respective underestimated function ϕ̲1(x) and ϕ̲2(x):(Q1)min⁡{f̲1(x)=p(x)+ϕ̲1(x),x∈V&x∈S1},(Q2)min⁡{f̲2(x)=p(x)+ϕ̲2(x),x∈V&x∈S2}.(1)
If either of them is infeasible, then the corresponding subproblem (Q1) or (Q2) is infeasible, and we will delete it.(2)
If at least one subproblem is feasible, we can get the optimal solutionx̲1 (or x̲2) of the underestimated subproblem (Q1) (or (Q2)) for the subproblem (Q1) (or (Q2)). Let upper bound α1=min{α0,f(x̲1),f(x̲2)}, then delete the subproblem (Q1) or (Q2) of which the lower bound f̲(x̲1) or f̲(x̲2) is larger than α1-δ.Remarkably, iff(x̲1)<α0-δ or f(x̲2)<α0-δ, Algorithm 2.1 is used for solving the subproblem (Q1) or (Q2). The corresponding optimal solution is noted as x̃1 or x̃2. The upper bound for the optimal value will be updated, α1=min{α1,f(x̃1),f(x̃2)}.We delete those subproblems of which the lower bound are larger thanα1-δ. Then we select one subproblem from (Q1) and (Q2), which has a smaller lower bound for optimal value, and divide it into two subproblems. Repeat this process until no subproblems exist.In the following, we will give the detailed description of B&B-DCA algorithm.Algorithm 3.3 (The Combined B&B-DCA Algorithm).
1° Initialization
Setk=0,l0=l,u0=u, give the tolerance δ>0 a sufficient small number. Solve the underestimated problem (Q) to obtain an optimal solution x̲0. Then use Algorithm 2.1 (DCA) to solve the problem (Q), the resulting optimal solution is noted as x̃0. Set problems set 𝕄={Q0≜Q}, upper bound α0=min{f(x̲0),f(x̃0)}, lower bound β(Q0)=f̲(x̲0). x0=argmin{α0}.2° Stop Criterion
Delete allQi∈𝕄 with β(Qi)>αk-δ. Let 𝕄 be the set of remained subproblems. If 𝕄=∅, stop, and xk is an δ-global optimal solution of the problem (Q). Otherwise, goto 3°.3° Branch
Select a problem (Qj) from the set of problems 𝕄:
(Qj)min⁡⁡{f(x)=p(x)+ϕ(x),x∈V&x∈Sj}
with
(3.8)βk=β(Qj)=min⁡{β(Qt),Qt∈M}.
Then divide Sj into Sj,1 and Sj,2 according to an NRS process, the relative subproblems are noted as (Qj,1) and (Qj,2), set 𝕄=𝕄∖(Qj).4° Bound
For the subproblem (Qj,m), m=1,2, solve the underestimated subproblem of (Qj,m) to obtain the optimal solutions x̲j,m. Let β(Qj,m)=f̲j,m(x̲j,m), αj,m=f(x̲j,m). Then set αk+1=min{αk,αj,1,αj,2} and xk+1=argmin{αk+1}.5° Deciding Whether to Call DCA Procedure
Form=1,2. If αj,m<αk-δ, Algorithm 2.1 (DCA) is applied to solve the subproblem of (Qj,m), the resulting solution is denoted by x̃j,m. Then set αk+1=min{αk+1,f(x̃j,m)}, and xk+1=argmin{αk+1}, goto 6°; otherwise, goto 6°.6° Iteration
Let𝕄=𝕄⋃{Qj,1,Qj,2}, k=k+1 and goto 2°.
Since the DCA method is an efficient local optimization method for DC programming, the combination of DCA and B&B algorithm will guarantee the global optimality and accelerate the convergence of general B&B algorithm (see [5]) for the problem (Q). Due to the decrease of upper bound α, the convergence speed of the B&B algorithm will have some improvement. However, we do not need to implement the DCA in each subproblem. Only when some conditions are satisfied, the DCA procedure will be called so as to prevent from the overusing of DCA.


### 3.2. The Convergence of B&B-DCA Algorithm

Theorem 3.4.
The sequence{xk} generated by the B&B-DCA algorithm converges to a global optimal solution of the problem (Q) as k→∞.Proof.
If the algorithm terminates at finite iterationsk, xk is a global optimal solution of the problem (Q) from the definition of αk and βk.
If the algorithm does not stop at finite iterations, it must generate an infinite nested sequenceSkt of rectangles. From the definitions of the upper bound αk and the lower bound βk, we know that the sequence {αk-βk} is nonincreasing and a nonnegative number. Since the rectangle bisection process satisfies an NRS process, we have the following expression:
(3.9)lim⁡t→∞|ϕkt(x̲kt)-ϕ̲kt(x̲kt)|=0.
Obviously, this means that
(3.10)lim⁡t→∞αkt-βkt=0.
Then we have
(3.11)lim⁡k→∞αk-βk=0.
Furthermore, βk≤f(x*)≤αk, so the sequence generated by the algorithm above converges to a global optimal solution as k→∞.We can see that NRS process plays an important role in the convergence of the B&B-DCA algorithm


## 3.1. The Description of the B&B-DCA Algorithm

In this subsection, we present the B&B-DCA method for the problem (Q). Let 𝒮0={l≤x≤u} be the initial set which needs to be branched. We replace each concave function ϕi(xi) in ϕ(x) by its underestimated function ϕ̲i(xi) over the set 𝒮0:(3.1)ϕ̲i(xi)=ai+bixi,
where(3.2)bi=ϕi(ui)-ϕi(li)ui-li,ai=ϕi(li)-bili,i=1,2,…,n.
Then, we let(3.3)f̲(x)=p(x)+ϕ̲(x)=p(x)+∑i=1nϕ̲i(xi)
be the underestimated function of the objective f(x)=p(x)+ϕ(x) in problem (Q). We solve the following quadratic programming problem:(Q)min⁡xp(x)+ϕ̲(x)s.t.x∈Vl≤x≤u.Letx̲0 be an optimal solution of the problem (Q), then we get an upper bound f(x̲0) and a lower bound f̲(x̲0) for the optimal value f(x*)(x* is a global optimal solution) of the primal problem (Q).Then, Algorithm2.1 is used to obtain a local optimal solution for which x̲0 is set as the initial iteration point x0. The relative optimal solution when Algorithm 2.1 stops are noted as x̃0. Then, we set the upper bound for the optimal value f(x*) (where x* is a global optimal solution of the problem (Q)) α0=min{f(x̲0),f(x̃0)}.Theorem 3.1.
Letx̲0 be an optimal solution of the problem (Q), let x̃0 be a local optimal solution obtained by DCA method, and let x* be a global optimal solution of the problem (Q), then we have
(3.4)f̲(x̲0)≤f(x*)≤α0.
where α0=min{f(x̲0),f(x̃0)}.Proof.
The following relationship holds true:(3.5)f̲(x̲0)=min⁡x{f̲(x)∣x∈V∩S0}≤min⁡x{f(x)∣x∈V∩S0}=f(x*)≤α0=min⁡{f(x̲0),f(x̃0)}.
This gives the conclusion.Before continuing to describe the algorithm, we need to know the “Rectangle Subdivision Process”, that is, divide the set𝒮0 into a sequence of subsets 𝒮k by means of hyperplanes parallel to certain facets [5]. The family of subrectangles can be represented by a tree with root 𝒮0 and subnodes. A node is a successor of another one if and only if it represents an element of the latter node. An infinite path in the tree corresponds to an infinite nested sequence of rectangles 𝒮k, k=0,1,…. “Rectangle Subdivision Process” plays an important role in the B&B method. In order to ensure the convergence of the algorithm, the concept of “Normal Rectangular Subdivision” (NRS) has been introduced in [21].Definition 3.2 (see [21]).
Assumed thatϕ̲k(x)=∑i=1nϕ̲ik(xi) is the linear underestimated function of ϕ(x) over the set Sk, x̲k is the optimal solution of the underestimated problem of (Q), then a nested sequence Sk is said to be normal if
(3.6)lim⁡k→∞⁡|ϕk(x̲k)-ϕ̲k(x̲k)|=0.
A rectangular subdivision process is said to be normal if any nested sequence of rectangles generated from the process is normal.Ifα0-f̲(x̲0)≤δ with δ a given sufficient small number, then x̲0(when f(x̲0)≤f(x̃0)) or x̃0 (when f(x̲0)>f(x̃0)) is an δ-approximate global optimal solution of the problem (Q). Otherwise, the problem (Q) will be divided into two subproblems:(Q1)min⁡{f(x)=p(x)+ϕ(x),x∈V&x∈S1},(Q2)min⁡{f(x)=p(x)+ϕ(x),x∈V&x∈S2},
where
(3.7)S1={x∣ls≤xs≤hs,li≤xi≤ui,i≠s,i=1,2,…,n},S2={x∣hs≤xs≤us,li≤xi≤ui,i≠s,i=1,2,…,n}hs is decided by the NRS process such as ω- subdivision.Similar to the problem (Q), we can get the underestimated quadratic programming (noted as (Q1) and (Q2)) for each of the subproblem (Q1) and (Q2) by replacing the concave part ϕ(x) by their respective underestimated function ϕ̲1(x) and ϕ̲2(x):(Q1)min⁡{f̲1(x)=p(x)+ϕ̲1(x),x∈V&x∈S1},(Q2)min⁡{f̲2(x)=p(x)+ϕ̲2(x),x∈V&x∈S2}.(1)
If either of them is infeasible, then the corresponding subproblem (Q1) or (Q2) is infeasible, and we will delete it.(2)
If at least one subproblem is feasible, we can get the optimal solutionx̲1 (or x̲2) of the underestimated subproblem (Q1) (or (Q2)) for the subproblem (Q1) (or (Q2)). Let upper bound α1=min{α0,f(x̲1),f(x̲2)}, then delete the subproblem (Q1) or (Q2) of which the lower bound f̲(x̲1) or f̲(x̲2) is larger than α1-δ.Remarkably, iff(x̲1)<α0-δ or f(x̲2)<α0-δ, Algorithm 2.1 is used for solving the subproblem (Q1) or (Q2). The corresponding optimal solution is noted as x̃1 or x̃2. The upper bound for the optimal value will be updated, α1=min{α1,f(x̃1),f(x̃2)}.We delete those subproblems of which the lower bound are larger thanα1-δ. Then we select one subproblem from (Q1) and (Q2), which has a smaller lower bound for optimal value, and divide it into two subproblems. Repeat this process until no subproblems exist.In the following, we will give the detailed description of B&B-DCA algorithm.Algorithm 3.3 (The Combined B&B-DCA Algorithm).
1° Initialization
Setk=0,l0=l,u0=u, give the tolerance δ>0 a sufficient small number. Solve the underestimated problem (Q) to obtain an optimal solution x̲0. Then use Algorithm 2.1 (DCA) to solve the problem (Q), the resulting optimal solution is noted as x̃0. Set problems set 𝕄={Q0≜Q}, upper bound α0=min{f(x̲0),f(x̃0)}, lower bound β(Q0)=f̲(x̲0). x0=argmin{α0}.2° Stop Criterion
Delete allQi∈𝕄 with β(Qi)>αk-δ. Let 𝕄 be the set of remained subproblems. If 𝕄=∅, stop, and xk is an δ-global optimal solution of the problem (Q). Otherwise, goto 3°.3° Branch
Select a problem (Qj) from the set of problems 𝕄:
(Qj)min⁡⁡{f(x)=p(x)+ϕ(x),x∈V&x∈Sj}
with
(3.8)βk=β(Qj)=min⁡{β(Qt),Qt∈M}.
Then divide Sj into Sj,1 and Sj,2 according to an NRS process, the relative subproblems are noted as (Qj,1) and (Qj,2), set 𝕄=𝕄∖(Qj).4° Bound
For the subproblem (Qj,m), m=1,2, solve the underestimated subproblem of (Qj,m) to obtain the optimal solutions x̲j,m. Let β(Qj,m)=f̲j,m(x̲j,m), αj,m=f(x̲j,m). Then set αk+1=min{αk,αj,1,αj,2} and xk+1=argmin{αk+1}.5° Deciding Whether to Call DCA Procedure
Form=1,2. If αj,m<αk-δ, Algorithm 2.1 (DCA) is applied to solve the subproblem of (Qj,m), the resulting solution is denoted by x̃j,m. Then set αk+1=min{αk+1,f(x̃j,m)}, and xk+1=argmin{αk+1}, goto 6°; otherwise, goto 6°.6° Iteration
Let𝕄=𝕄⋃{Qj,1,Qj,2}, k=k+1 and goto 2°.
Since the DCA method is an efficient local optimization method for DC programming, the combination of DCA and B&B algorithm will guarantee the global optimality and accelerate the convergence of general B&B algorithm (see [5]) for the problem (Q). Due to the decrease of upper bound α, the convergence speed of the B&B algorithm will have some improvement. However, we do not need to implement the DCA in each subproblem. Only when some conditions are satisfied, the DCA procedure will be called so as to prevent from the overusing of DCA.


## 3.2. The Convergence of B&B-DCA Algorithm

Theorem 3.4.
The sequence{xk} generated by the B&B-DCA algorithm converges to a global optimal solution of the problem (Q) as k→∞.Proof.
If the algorithm terminates at finite iterationsk, xk is a global optimal solution of the problem (Q) from the definition of αk and βk.
If the algorithm does not stop at finite iterations, it must generate an infinite nested sequenceSkt of rectangles. From the definitions of the upper bound αk and the lower bound βk, we know that the sequence {αk-βk} is nonincreasing and a nonnegative number. Since the rectangle bisection process satisfies an NRS process, we have the following expression:
(3.9)lim⁡t→∞|ϕkt(x̲kt)-ϕ̲kt(x̲kt)|=0.
Obviously, this means that
(3.10)lim⁡t→∞αkt-βkt=0.
Then we have
(3.11)lim⁡k→∞αk-βk=0.
Furthermore, βk≤f(x*)≤αk, so the sequence generated by the algorithm above converges to a global optimal solution as k→∞.We can see that NRS process plays an important role in the convergence of the B&B-DCA algorithm


## 4. Computational Tests

In this section, we will test the performance of proposed B&B-DCA algorithm for randomly generated datasets and the results will be compared with that of general B&B algorithm (see [5]) for problem (Q). Specifically, portfolio selection problem with concave transaction costs is also studied in Section 4.2. All the computational tests are coded by MATLAB (CPLEX is integrated to solve the relative quadratic programming) and run on a personal computer with Pentium Pro Dual 2.66 GHZ and 2 GB memory.


### 4.1. Problems with Randomly Generated Datasets

Datasets with different dimensions will be generated to test the performance of the B&B-DCA and general B&B algorithms. We will conduct numerical experiments of the proposed algorithms with dimensions from 50 to 400 for the problem (Q). In the following, we will give the generating process of the data sets and values of some parameters.For the objective functionf(x)=p(x)+ϕ(x) in the problem (Q), the separable logarithm function is used to specify the concave part ϕ(x) because of its wide applications in economic and financial problems. Let(4.1)ϕ(x)=∑i=1nϕi(xi)=∑i=1nln⁡(θixi+γi),
where θi and γi are randomly generated in regions [2, 3] and [3, 5], respectively, in uniform distribution.For the convex partp(x)=(1/2)xTHx+cTx, we generate n sequence qj∈Rm(m>n),j=1,2,…,n in region [−1,1] in uniform distribution, and the covariance matrix of qj which is a positive definite matrix is noted as H. So, we can ensure that the function p(x) is convex. The coefficients ci are randomly generated in regions [−1,1], respectively, in uniform distribution.The feasible solution sets in the problem (Q) are the intersection of(4.2)V={x∣∑i=1nxi=1},(4.3)li≤xi≤ui,li=0,ui=1,i=1,2,…,n.The toleranceϵ and δ in Algorithm 2.1 and Algorithm 3.3 are both set equal to 1e-5.B&B-DCA and general B&B algorithms [5] are used to solve the problem (Q) on the same datasets and parameters from dimension 50 to 400. In order to make the results more reliable, we will generate randomly five datasets to test the proposed B&B-DCA and general B&B algorithms for each dimension. The stop criterion of the algorithms is either obtaining an δ-optimal solution or the branch number greater than 20000.The NRS process has an important effect on the convergence of the B&B-DCA and general B&B algorithms. To our knowledge, the NRS process includes the exhaustive bisection,ω-bisection, adaptive bisection, and largest distance bisection [5]. Some evidences in [2, 5] show that the ω-bisection and largest distance bisection are greater than the other two methods. Since the calculation of ω-bisection is much more simple and have similar performance to the largest distance bisection, ω-bisection is applied in our proposed B&B-DCA and general B&B algorithms for problem (Q).Definition 4.1 (ω-subdivision [2, 14]).
With theω-subdivision process, the bisection indexsis determined by(4.4)ϕs(x̲sk)-ϕ̲s(x̲sk)=max⁡{ϕi(x̲ik)-ϕ̲i(x̲ik),i=1,2,…,n.},
where x̲k is the optimal solution of underestimated problem for (Qk). Then, bisection point hsk=x̲sk.Results and Analysis
We find that optimal value computed by two algorithms are equal. In the following, we show the average branch number (Avg Bran) and mean CPU times (Time) for each dimension by the B&B-DCA and general B&B algorithms in Table1. The average number of calling DCA process (Num DCA) in the B&B-DCA algorithm is also given. Furthermore, we test the performance of DCA applied to the problem (Q). The number of times (Num glob) when a global optimal solution is obtained after one process of DCA is also given in Table 1. Average CPU times (Time) for one process of DCA method is also present.Table 1
Computational results with the B&B, B&B-DCA and DCA, methods.
DimB&BB&B-DCADCAAvg BranTime(s)Avg BranTime(s)Num DCATime(s)Num Globn=5056.47.1547.66.2910.465n=100195.840.70145.430.1010.585n=15030983.00174.247.3510.705n=200327.6182.95310.2174.2811.265n=250486.4382.98399.6315.4612.025n=300428.2422.59341.2333.9812.095n=350951.81231.52756969.821.23.514n=4009881753.09666.61183.181.24.284From the results and Table1, we have the following comments.(i)
General B&B and the proposed B&B-DCA algorithms can efficiently solve the problem (Q) from the dimension 50 to 400. Due to the nice features of DCA (inexpensiveness, reliability, robustness, globality of computed solutions, etc.), the proposed B&B-DCA algorithm shows great superiority than general B&B algorithm not only in the average branch number but also in mean CPU time. Take dimension n=400, for example, the average branch number by general B&B is 988, however the one by B&B-DCA is only 666.6. Then, the relative mean CPU time has a decrease of nearly 600 seconds by the B&B-DCA algorithm. So, embedding DCA into the B&B algorithm is quite necessary.(ii)
The DCA method always gives a good approximation for optimal solution of problem (Q) within short CPU time. It can be seen that it gives a global optimal solution five times during five computational tests for the dimension from 50 to 300. Even so, embedding DCA into B&B algorithm is necessary to guarantee the global optimal solution. Furthermore, if we are able to give a new method to obtain a more tighter lower bound for the optimal valve f(x*) in the bound process, the proposed B&B-DCA algorithm can compute global optimal solution within a shorter time.


### 4.2. Portfolio Selection with Concave Transaction Costs

In this subsection, the proposed B&B-DCA and general B&B algorithms are applied to solve portfolio selection problem with concave transaction costs. It is pointed that concave transaction costs function is more reliable [4, 5]. The Mean-Variance (M-V) model can be written as [22]:
(PS)min⁡xU(x)=λ2xTVx-(1-λ)(RTx-C(x))s.t.eTx=1Ax≤bl≤x≤u.
Vector x=(x1,x2,…,xn)T∈ℝn is the decision portfolio with xi the investment weight in each asset. R=(r̅1,…,r̅n)T∈ℝn denotes the expected return rate and V=(σij)n×n∈ℝn×n is the covariance matrix of the return rate for assets. Then, xTVx gives the risk (Variance) and RTx-C(x) gives net return of the portfolio x, where C(x)=∑i=1nCi(xi) denotes the nondecreasing concave transaction costs function, and Ci(xi) is curved in Figure 1.Figure 1
Concave transaction costs functionCi(xi).The sum of investment weight in each asset should be one, that is,eTx=1, where e∈ℝn denotes the vector with all entries equal to 1. A∈ℝm×n, b∈ℝm, l and u are the limitations of lower bound and upper bound of the investment x. Parameter λ∈(0,1) is the risk aversion index decided by the investor.In general, the covariance matrixV is symmetric and positive definite. Then (λ/2)xTVx and (1-λ)(RTx-C(x)) are DC components of function U(x). The proposed B&B-DCA and general B&B algorithms can be used to solve the problem (PS).Tests will be performed on five datasets from the OR-Library (see [23]) which is a publicly available collection of test datasets for a variety of operations research problems. Each data set contains 290 weekly return rates for each stock. The data is computed from component stocks of Hang Seng, DAX, FTSE, S&P, and Nikkei Index for each dataset respectively. We can compute the relative expected return rate vector R and covariance matrix V. For each dataset, we will give the results for different value of λ from 0.05 to 0.95 (19 different values for λ) in Table 2.Table 2
Computational results for portfolio selection problem.
DimB&BB&B-DCADCAAvg BranTime(s)Avg BranTime(s)Num DCATime(s)Num Globdata 1:n=3172.9518.0364.1016.102.000.2914data 2:n=85117.2234.21110.1428.791.780.3215data 3:n=89194.9540.70175.3632.861.420.2517data 4:n=98292.5386.96257.1977.582.110.3014data 5:n=225113.1176.77100.3472.551.160.6218Similar to randomly generated datasets, we show average branch number (Avg Bran), average CPU time (Time), average number of calling DCA (Num DCA) for B&B and B&B-DCA, also total number (Num glob) when a global optimal solution is obtained after one process of DCA in Table2.As can be seen from Table2, similar conclusions can be obtained to Table 1. First, the proposed B&B-DCA can accelerate the convergence of B&B to some extent in the aspects of branch number and CPU time. Second, DCA can compute a global optimal solution in short time and most cases. However, B&B is needed to confirm the globality of computed solutions. When a global solution is found, the loose lower bound for optimal value cannot guarantee fast convergence of the B&B algorithm. How to obtain a well-defined lower bound is a challenging and practical study.Additionally, Figure2 presents the efficient frontiers generated from the the M-V portfolio models without transaction costs (transaction costs function C(x)=0) and with concave transaction costs (C(x) is a separable nondecreasing concave function). No consideration of concave transaction costs will lead to inefficiently solutions. This will provide wrong guidance for the investors.Figure 2
Concave transaction costs function.


## 4.1. Problems with Randomly Generated Datasets

Datasets with different dimensions will be generated to test the performance of the B&B-DCA and general B&B algorithms. We will conduct numerical experiments of the proposed algorithms with dimensions from 50 to 400 for the problem (Q). In the following, we will give the generating process of the data sets and values of some parameters.For the objective functionf(x)=p(x)+ϕ(x) in the problem (Q), the separable logarithm function is used to specify the concave part ϕ(x) because of its wide applications in economic and financial problems. Let(4.1)ϕ(x)=∑i=1nϕi(xi)=∑i=1nln⁡(θixi+γi),
where θi and γi are randomly generated in regions [2, 3] and [3, 5], respectively, in uniform distribution.For the convex partp(x)=(1/2)xTHx+cTx, we generate n sequence qj∈Rm(m>n),j=1,2,…,n in region [−1,1] in uniform distribution, and the covariance matrix of qj which is a positive definite matrix is noted as H. So, we can ensure that the function p(x) is convex. The coefficients ci are randomly generated in regions [−1,1], respectively, in uniform distribution.The feasible solution sets in the problem (Q) are the intersection of(4.2)V={x∣∑i=1nxi=1},(4.3)li≤xi≤ui,li=0,ui=1,i=1,2,…,n.The toleranceϵ and δ in Algorithm 2.1 and Algorithm 3.3 are both set equal to 1e-5.B&B-DCA and general B&B algorithms [5] are used to solve the problem (Q) on the same datasets and parameters from dimension 50 to 400. In order to make the results more reliable, we will generate randomly five datasets to test the proposed B&B-DCA and general B&B algorithms for each dimension. The stop criterion of the algorithms is either obtaining an δ-optimal solution or the branch number greater than 20000.The NRS process has an important effect on the convergence of the B&B-DCA and general B&B algorithms. To our knowledge, the NRS process includes the exhaustive bisection,ω-bisection, adaptive bisection, and largest distance bisection [5]. Some evidences in [2, 5] show that the ω-bisection and largest distance bisection are greater than the other two methods. Since the calculation of ω-bisection is much more simple and have similar performance to the largest distance bisection, ω-bisection is applied in our proposed B&B-DCA and general B&B algorithms for problem (Q).Definition 4.1 (ω-subdivision [2, 14]).
With theω-subdivision process, the bisection indexsis determined by(4.4)ϕs(x̲sk)-ϕ̲s(x̲sk)=max⁡{ϕi(x̲ik)-ϕ̲i(x̲ik),i=1,2,…,n.},
where x̲k is the optimal solution of underestimated problem for (Qk). Then, bisection point hsk=x̲sk.Results and Analysis
We find that optimal value computed by two algorithms are equal. In the following, we show the average branch number (Avg Bran) and mean CPU times (Time) for each dimension by the B&B-DCA and general B&B algorithms in Table1. The average number of calling DCA process (Num DCA) in the B&B-DCA algorithm is also given. Furthermore, we test the performance of DCA applied to the problem (Q). The number of times (Num glob) when a global optimal solution is obtained after one process of DCA is also given in Table 1. Average CPU times (Time) for one process of DCA method is also present.Table 1
Computational results with the B&B, B&B-DCA and DCA, methods.
DimB&BB&B-DCADCAAvg BranTime(s)Avg BranTime(s)Num DCATime(s)Num Globn=5056.47.1547.66.2910.465n=100195.840.70145.430.1010.585n=15030983.00174.247.3510.705n=200327.6182.95310.2174.2811.265n=250486.4382.98399.6315.4612.025n=300428.2422.59341.2333.9812.095n=350951.81231.52756969.821.23.514n=4009881753.09666.61183.181.24.284From the results and Table1, we have the following comments.(i)
General B&B and the proposed B&B-DCA algorithms can efficiently solve the problem (Q) from the dimension 50 to 400. Due to the nice features of DCA (inexpensiveness, reliability, robustness, globality of computed solutions, etc.), the proposed B&B-DCA algorithm shows great superiority than general B&B algorithm not only in the average branch number but also in mean CPU time. Take dimension n=400, for example, the average branch number by general B&B is 988, however the one by B&B-DCA is only 666.6. Then, the relative mean CPU time has a decrease of nearly 600 seconds by the B&B-DCA algorithm. So, embedding DCA into the B&B algorithm is quite necessary.(ii)
The DCA method always gives a good approximation for optimal solution of problem (Q) within short CPU time. It can be seen that it gives a global optimal solution five times during five computational tests for the dimension from 50 to 300. Even so, embedding DCA into B&B algorithm is necessary to guarantee the global optimal solution. Furthermore, if we are able to give a new method to obtain a more tighter lower bound for the optimal valve f(x*) in the bound process, the proposed B&B-DCA algorithm can compute global optimal solution within a shorter time.


## 4.2. Portfolio Selection with Concave Transaction Costs

In this subsection, the proposed B&B-DCA and general B&B algorithms are applied to solve portfolio selection problem with concave transaction costs. It is pointed that concave transaction costs function is more reliable [4, 5]. The Mean-Variance (M-V) model can be written as [22]:
(PS)min⁡xU(x)=λ2xTVx-(1-λ)(RTx-C(x))s.t.eTx=1Ax≤bl≤x≤u.
Vector x=(x1,x2,…,xn)T∈ℝn is the decision portfolio with xi the investment weight in each asset. R=(r̅1,…,r̅n)T∈ℝn denotes the expected return rate and V=(σij)n×n∈ℝn×n is the covariance matrix of the return rate for assets. Then, xTVx gives the risk (Variance) and RTx-C(x) gives net return of the portfolio x, where C(x)=∑i=1nCi(xi) denotes the nondecreasing concave transaction costs function, and Ci(xi) is curved in Figure 1.Figure 1
Concave transaction costs functionCi(xi).The sum of investment weight in each asset should be one, that is,eTx=1, where e∈ℝn denotes the vector with all entries equal to 1. A∈ℝm×n, b∈ℝm, l and u are the limitations of lower bound and upper bound of the investment x. Parameter λ∈(0,1) is the risk aversion index decided by the investor.In general, the covariance matrixV is symmetric and positive definite. Then (λ/2)xTVx and (1-λ)(RTx-C(x)) are DC components of function U(x). The proposed B&B-DCA and general B&B algorithms can be used to solve the problem (PS).Tests will be performed on five datasets from the OR-Library (see [23]) which is a publicly available collection of test datasets for a variety of operations research problems. Each data set contains 290 weekly return rates for each stock. The data is computed from component stocks of Hang Seng, DAX, FTSE, S&P, and Nikkei Index for each dataset respectively. We can compute the relative expected return rate vector R and covariance matrix V. For each dataset, we will give the results for different value of λ from 0.05 to 0.95 (19 different values for λ) in Table 2.Table 2
Computational results for portfolio selection problem.
DimB&BB&B-DCADCAAvg BranTime(s)Avg BranTime(s)Num DCATime(s)Num Globdata 1:n=3172.9518.0364.1016.102.000.2914data 2:n=85117.2234.21110.1428.791.780.3215data 3:n=89194.9540.70175.3632.861.420.2517data 4:n=98292.5386.96257.1977.582.110.3014data 5:n=225113.1176.77100.3472.551.160.6218Similar to randomly generated datasets, we show average branch number (Avg Bran), average CPU time (Time), average number of calling DCA (Num DCA) for B&B and B&B-DCA, also total number (Num glob) when a global optimal solution is obtained after one process of DCA in Table2.As can be seen from Table2, similar conclusions can be obtained to Table 1. First, the proposed B&B-DCA can accelerate the convergence of B&B to some extent in the aspects of branch number and CPU time. Second, DCA can compute a global optimal solution in short time and most cases. However, B&B is needed to confirm the globality of computed solutions. When a global solution is found, the loose lower bound for optimal value cannot guarantee fast convergence of the B&B algorithm. How to obtain a well-defined lower bound is a challenging and practical study.Additionally, Figure2 presents the efficient frontiers generated from the the M-V portfolio models without transaction costs (transaction costs function C(x)=0) and with concave transaction costs (C(x) is a separable nondecreasing concave function). No consideration of concave transaction costs will lead to inefficiently solutions. This will provide wrong guidance for the investors.Figure 2
Concave transaction costs function.


## 5. Conclusions and Future Research

In this paper, a class of DC programming is studied. General B&B is usually adopted to solve such problems. Based on existing local optimization method in DC programming, we have proposed a new global method B&B-DCA to solve the problem. DCA is an efficient local optimization method based on local optimality and the duality for solving DC programming, especially for large-scale problems.Numerical tests on randomly generated datasets show that the proposed B&B-DCA has great superiority of branch number and computational time than general B&B algorithm with different dimensions. In addition, portfolio selection problem with transaction costs can be solved efficiently. The proposed B&B-DCA can be applied to solved other practical problems which can be modeled by this class of DC programming.We find that DCA method always provides a global optimal solution, but the lower bound for the optimal value cannot guarantee fast convergence rate of B&B. If we can give a new method to obtain a more tighter lower bound, the proposed B&B-DCA algorithm can solve the problem with much shorter time. This seems significant in solving practical problems. Furthermore, other global optimization methods like filled function methods and so on can be combined with DCA to solve DC Programming. Some of these are under our current consideration.



---

*Source: 364607-2012-07-12.xml*