A distributed computation algorithm for solving portfolio problems with integer variables



O.R. Applications

A distributed computation algorithm for solving

portfolio problems with integer variables

Han-Lin Li


, Jung-Fa Tsai



Institute of Information Management, National Chiao Tung University, 1001 Ta Hsueh Rd., Hsinchu 300, Taiwan


Department of Business Management, National Taipei University of Technology, 1 Sec. 3, Chung Hsiao E. Rd., Taipei 106, Taiwan Received 2 March 2006; accepted 1 February 2007

Available online 16 March 2007


A portfolio problem with integer variables can facilitate the use of complex models, including models containing dis-crete asset values, transaction costs, and logical constraints. This study proposes a distributed algorithm for solving a port-folio program to obtain a global optimum. For a portport-folio problem with n integer variables, the objective function first is converted into an ellipse function containing n separated quadratic terms. Next, the problem is decomposed into m equal-size separable programming problems solvable by a distributed computation system composed of m personal computers linked via the Internet. The numerical examples illustrate that the proposed method can obtain the global optimum effec-tively for large scale portfolio problems involving integral variables.

 2007 Elsevier B.V. All rights reserved.

Keywords: Finance; Portfolio; Quadratic integer program; Convex

1. Introduction

The mean-variance portfolio (MVP) model stems from the work ofMarkowitz (1952). Most MVP models have been formulated as quadratic programming programs. As Young (1998)remarked, the prospects for developing practical applications of portfolio analysis would be greatly enhanced if the MVP program could involve integer variables. Allowing an MVP program containing integer variables can facilitate the use of com-plex models, including models with discrete asset or stock values and models with transaction costs and logical constraints such as ‘‘IF. . .Then’’ and ‘‘OR’’ conditions. Owing to the obvious merits of casting portfolio man-agement in an integer programming framework, many authors have sought to make such a connection feasi-ble. Notably,Sharpe (1971) and Stone (1973) employed a piecewise linear approximation to the quadratic

0377-2217/$ - see front matter  2007 Elsevier B.V. All rights reserved. doi:10.1016/j.ejor.2007.02.010

* Corresponding author. Tel.: +886 2 27712171x3420.

E-mail addresses:hlli@cc.nctu.edu.tw(H.-L. Li),jftsai@ntut.edu.tw(J.-F. Tsai).


Tel.: +886 3 5731683.

Available online at www.sciencedirect.com

European Journal of Operational Research 186 (2008) 882–891


term in the mean-variance quadratic program. Bienstock (1996) developed a branch-and-cut algorithm to solve an MVP program with integer variables. Moreover,Yamakozi and Konno (1991)derived an absolute deviation selection approach, in which the sum of absolute deviations about the mean (a L1 measure) is used to measure risk, to solve an MVP problem. Additionally, Young (1998) developed a minimax selection approach, in which minimum return (a L1 measure) rather than variance serves as a measure of risk, to min-imize the maximum loss in an MVP problem. The MVP model discussed in this study is formulated as follows: Problem 1 Minimize fðxÞ ¼X i6¼j aijdidjxixjþ Xn i¼1 biðdixiÞ 2 ; subject to ðC1Þ X n i¼1 cidixi pihi ð Þ P R; ðC2Þ X i ðdixi pihiÞ 6 q; ðC3Þ xi6qhi for i¼ 1; 2; . . . ; n; ðC4Þ x¼ ðx1; x2; . . . ; xnÞ; 0 6 xi6xi; i¼ 1; 2; . . . ; n; xiare integers; ð1:1Þ

where xithe number of shares allocation to security i, aijthe covariance between securities i and j, dithe price per share in dollars of security i, bithe variance of security i, biP0, cithe expected return in percentages on security i, ci> 0, hithe (0 1) variables; hi= 1 if xi> 0, and hi= 0 if xi= 0, pithe fixed charge transaction costs paid at the beginning for purchasing a security i, q the total allocation budget in dollars, xithe upper bound of investing in security i, R the net return in dollars.

fðxÞ represents the variance of the portfolio. The first constraint is the expected return constraint consid-ering transaction costs. The second constraint is a budget constraint where all portfolio allocation to securities is integral and the transaction costs are paid at the beginning of purchasing the securities. The third constraint is a logical constraint for the fixed charge transaction costs and if xi> 0 then hi= 1, and if xi= 0 then hi= 0. Problem 1 is a quadratic integer programming (QIP) problem for which the methods ofYoung (1998) and Yamakozi and Konno (1991) are unable to reach a global optimum.Khachian (1979)presented an ellipsoid method to solve a convex problem for locating a global solution.Karmarkar (1984)also proposed an interior point method whose worst case complexity bound was better than that of the simplex and the ellipsoid meth-ods. However, the above mentioned methods can only treat a problem with convex real-valued functions. There are three approaches usable for solving Problem 1, as described below:

(i) Dual Lagrangean relaxation approach (Michelon and Maculan, 1991; Guignard and Kim, 1987): This approach decomposesProblem 1into two sub-problems which share the constraints of the original prob-lem and yields a dual Lagrangean relaxation. The lower bound ofProblem 1is found by solving a dual Lagrangean relaxation program, while the upper bound is reached using heuristic or enumerative meth-ods. By decreasing iteratively the primal-dual gap using cutting plane techniques, this approach can eventually find a global optimum. Although this approach can converge to a final result, the rate of con-vergence is quite slow. The experiments conducted here show that for a portfolio problem with 30 assets, a personal computer takes several hours to identify a final solution with 0.5% tolerance.

(ii) Linear terms transformation approach (Li and Chang, 1998): This approach first expresses xiby a set of 0–1 variables ui1; ui2; . . . ; uimi. A product term xixjis then replaced by a set of cross terms uikujk0 which can be linearized conveniently. The problem with this approach is that the transformed linear 0–1 model requires many binary variables, which may cause a heavy computational burden.

(iii) Separable terms transformation approach (Sharpe, 1971; Stone, 1973): By rewriting a cross term xixjas follows xixj¼ 1 2ðxiþ xjÞ 2 1 2x 2 i  1 2x 2 j; ð1:2Þ


fðxÞ in(1.1)then becomes fðxÞ ¼X n i¼1 bix2i þ X i6¼j aijz2ij; ð1:3Þ

where zij= xi+ xjand biand aijare constants with unrestricted signs.

Since(1.3)contains separated terms only, various separable programming techniques (Bazaraa et al., 1993; Horst et al., 2000) can be applied to solve it. A major difficulty of this approach (Sharpe, 1971; Stone, 1973) is that the transformed separable program contains too many quadratic terms. For the objective function in (1.1), which contains n variables, the corresponding number of separated terms in (1.3) is 1


2þ nÞ. For instance, if n = 3, then fðxÞ ¼ b1x21þ b2x22þ b3x23þ a12z212þ a13z213þ a23z223 with six quadratic terms have to be approximated.

Solving a large scale MVP problem with integer variables is very time-consuming. During the past decade, many distributed/parallel algorithms have been developed for different applications to increase computational efficiency. For example,Miller and Pekny (1989)presented results obtained from solving the asymmetric trav-eling salesman problem using a parallel branch and bound algorithm.Cannon and Hoffman (1990)proposed a solution methodology for solving large scale 0–1 linear programming problems over a network with distrib-uted computation. Moreover,Bienstock (1996)presented parallel computation experience with a branch-and-cut algorithm to solve mixed-integer quadratic programming problems.Verkama et al. (1996)developed dis-tributed algorithms for n-player game problems involving the computation of Pareto optimal solutions. Key-ser and Davis (1998) also designed different distributed computer schemes for manufacturing scheduling problems.

This study proposes a novel technique for solvingProblem 1. Based on the eigenvector of a convex qua-dratic function, fðxÞ is reformulated as an ellipse function with n axes y1; y2; . . . ; yn, where yi6yi< yi. fðxÞ can then be rewritten as the sum of n separated terms. Branching the whole search region by 0 6 yi6y

iandyi6yi<0 for some i,Problem 1is decomposed into some equal size separable programming programs. These separable programs are solvable conveniently by a distributed computation system com-posed of many personal computers linked via the Internet.

To illustrate the computational efficiency of the proposed method, this study tests several portfolio prob-lems. The experiments show that by solving a problem involving up to 50 stocks by the proposed distributed system composed of eight personal computers, the globally optimal solution can be determined in 12 seconds with 0.5% tolerance.

2. Theoretical developments

Problem 1with a strictly convex objective function is a constrained QIP program which can be rewritten below: Minimize fðxÞ ¼1 2x TQx; subject to ðC1Þ; ðC2Þ; ðC3Þ; ðC4Þ; ð2:1Þ

where Q denotes a positive definite matrix, and all other variables are defined as inProblem 1. Since Q is positive definite, an n· n orthonormal matrix B exists, such that

Q¼ BTdiag k 1; . . . ;kn

ð ÞB; ð2:2Þ

where kiare the eigenvalues of Q for i¼ 1; 2; . . . ; n and 0 < k16k26   6 kn. Let y¼ ðy1; y2; . . . ; ynÞ ¼ B x  xð 0Þ, where x


denotes the unconstrained continuous optimum of fðxÞ and


yi¼X n


bijðxj x0jÞ: ð2:3Þ

Consider the following propositions:

Proposition 1 (Referring toSun and Li, 2001). Given x0, the unconstrained continuous optimum of fðxÞ, for any x2 Rn

, the difference between fðxÞ and f ðx0Þ is computed as

fðxÞ  f ðx0Þ ¼1 2

Xn i¼1

½kiy2i; ð2:4Þ

where yiand kiare specified in(2.2) and (2.3). Proof. SincefðxÞ  f ðx0Þ ¼1 2 x x 0 ð ÞTQðx  x0Þ ¼1 2y Tdiagðk

1; . . . ;knÞy, and kyk ¼ kx  x0k2, clearly fðxÞ  f ðx0Þ ¼1 2 Pn i¼1 kiy2i   . h

Proposition 2. Expression(2.4)can be rewritten as the following ellipse equation Xn i¼1 y2 i d=ki ¼ 1; ð2:5Þ

where d ¼ 2 f ðxÞ  f ðx½ 0Þ and the ellipse is centered at x0 . Proof. By referring to (2.4), Pni¼1kiy2i ¼ d, where yi¼


j¼1bijðxj x0jÞ, which is converted into a standard ellipse equation, Pi¼1 y2i

d=ki¼ 1, centered at y ¼ ð0; 0; . . . ; 0Þ


 Since y¼ Bðx  x0Þ, point y ¼ ð0; 0; . . . ; 0Þ T

on the Y axis is the same as the point x¼ ðx0

1; x02; . . . ; x0nÞ on the X axis. Thus the proposition is proven. h Proposition 3. Given a reference integer point xD 2 Rn, let dD

¼ 2 f ðx½ DÞ  f ðx0Þ, the area of the search region for optimal solution based on xD, denoted as rD, becomes

rD ¼ 2n ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi ðdDÞn k1k2. . .kn s : ð2:6Þ

Proof. Let dD¼ 2½f ðxDÞ  f ðx0Þ, the axis lengths for the ellipse in(2.5)are ffiffiffiffiffiffiffiffiffiffiffiffidD =k1 q ; ffiffiffiffiffiffiffiffiffiffiffiffi dD=k2 q ;. . . ffiffiffiffiffiffiffiffiffiffiffiffi dD=kn q   . Moreover, the bounds for yiare specified as

 ffiffiffiffiffiffiffiffiffiffiffi dD=ki q 6y i6 ffiffiffiffiffiffiffiffiffiffiffi dD=ki q ; for i¼ 1; 2; . . . ; n: ð2:7Þ

The area of the search region for the optimal solution of Problem 1 then becomes 2 ffiffiffiffidD k1 q   2 ffiffiffiffidD k2 q   . . . 2 ffiffiffiffidD kn q   ¼ 2n ffiffiffiffiffiffiffiffiffiffiffiffi ðdDÞn k1k2...kn q . h

Remark 1. If k1¼ k2¼    ¼ kn¼ k, then the area of the search region becomes 2nðdD=kÞ

n 2.

Suppose there exists a set of connected computers comprising one host computer and m = 2s (s is an integer) slave computers for distributed computation. The region rD in(2.6)can be divided into 2sequal-size sub-regions to perform a distributed search to locate an optimum. One convenient method of achieving this division is to split the whole region into equal-size sub-regions, as described below.

Proposition 4. The area of the search region rD in (2.6) can be divided into equal-size sub-regions SR1; SR2; . . . ; SR2s, where

(i) each sub-region has the same area 2ns

ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi ðdDÞn=k1k2. . .kn q



(ii) the upper and lower bounds for SRk are specified as uð ik 1Þ ffiffiffiffiffiffiffiffiffiffiffi dD=ki q 6y i6uik ffiffiffiffiffiffiffiffiffiffiffi dD=ki q for k¼ 1; 2; . . . ; 2s and i 6 s, ffiffiffiffiffiffiffiffiffiffiffidD=ki q 6yi6 ffiffiffiffiffiffiffiffiffiffiffi dD=ki q

for i > s, where u1k; u2k; . . . ; unk 2 f0; 1g and ðu1k; u2k; . . . ; unkÞ 6¼ u1l; u2l; . . . ; unl ð Þ for k 6¼ l and k; l 2 1; 2; . . . ; 2f sg. Proof. Since 0 6 yi6 ffiffiffiffiffiffiffiffiffiffiffi dD=ki q or  ffiffiffiffiffiffiffiffiffiffiffi dD=ki q 6y

i60, for i¼ 1; 2; . . . ; n and s 6 n, the area for each SRk is 2ns ffiffiffiffidD k1 q ffiffiffiffi dD k2 q . . . ffiffiffiffidD kn q ¼ 2ns ffiffiffiffiffiffiffiffiffiffiffiffiðdDÞn k1k2...kn q .

For instance, if there are 32 personal computers, then the search region for the first PC can be 0 6 yi6 ffiffiffiffiffiffiffiffiffiffiffiffi dD=ki q for i¼ 1; 2; . . . ; 5 and  ffiffiffiffiffiffiffiffiffiffiffiffi dD=ki q 6yi6 ffiffiffiffiffiffiffiffiffiffiffiffi dD=ki q

for i¼ 6; 7; . . . ; n. The search region for the second PC can be ffiffiffiffiffiffiffiffiffiffiffiffi dD=k1 q 6y 160, 0 6 yi6 ffiffiffiffiffiffiffiffiffiffiffiffi dD=ki q for i¼ 1; 2; . . . ; 5 and  ffiffiffiffiffiffiffiffiffiffiffiffi dD=ki q 6y i6 ffiffiffiffiffiffiffiffiffiffiffiffi dD=ki q for i¼ 6; 7; . . . ; n.Fig. 1illustrates the search region of a QIP problem with two integer variables by the proposed

method. h

According to the above propositions, finding an optimum of a mean-variance portfolio problem is equiv-alent to solving the following separable program:

Problem 2 Minimize fðx; yÞ ¼X n i¼1 y2 i dD=ki ; subject to ðC1Þ; ðC2Þ; ðC3Þ; ðC4Þ; y¼ Bðx  x0Þ; ð2:8Þ

where all the variables are defined as described previously.

Problem 2is a separable integer program solvable to find an optimal solution by linearizing the quadratic terms y2

i using piecewise linearization techniques described below.

Proposition 5 [Piecewise Linearization,Li et al., 2002]. Denote Lðf ðxÞÞ as a piecewise linear function of f ðxÞ, where aj, j¼ 1; 2; . . . ; m represents the break points of Lðf ðxÞÞ, and sjis the slopes of line segments between ajand ajþ1 for j¼ 1; 2; . . . ; n. Lðf ðxÞÞ is expressed as follows:

1 x 2 -1 1 y X0 2 x 1 2 1 3 2 y SR1 (0,0) SR2 SR4 SR3


fðxÞ ffi Lðf ðxÞÞ ¼ f ða1Þ þ s1ðx  a1Þ þ Xm


sj sj1

2 ðjx  ajj þ x  ajÞ; ð2:9Þ

where jxj denotes the absolute value of x and ffi represents approximation. Since the quadratic terms y2i


i in (2.8) are convex, the following proposition can be used to effectively transform the problem into a linear program.

Proposition 6 (Referring toLi, 1996). Consider the program below:

Minimize z¼X m j¼1 ðjx  bjj þ x  bjÞ; subject to x2 F ; ð2:10Þ

where F is a feasible set, x is unrestricted in sign, and bjare constants, 0 < b1< b2<   < bm:. This program can be linearized as follows:

Minimize z¼ 2X m j¼1 x bjþ Xj k¼1 dk ! ; subject to xþX m k¼1 dk P bm; 0 6 d16b1; 0 6 dk 6bk bk1 for k¼ 2; 3; . . . ; m; x2 F ðwhere F is a feasible setÞ:


3. Solution process with distributed computation

Suppose there exists a set of connected computers comprising one host computer and 2sslave computers. A distributed algorithm using m + 1 computers to solve Problem 1is described below:

Step 1: Solve an integer relaxation program ofProblem 1, where x is considered a vector of continuous vari-ables. Denote the solution as x0.

Step 2: Solve Problem 1 by the genetic algorithm. Let xD denote the best integer solution found by the algorithm.

Step 3: Find out the upper and lower bounds of variables xiby the following programs. Max=Min xij 1 2x TQx 6 fðxDÞ; ðC1Þ; ðC2Þ; ðC3Þ; ðC4Þ ; where x is treated as a vector of continuous variables.

Denote the obtained upper and lower bounds of xias xiand xi. The integral upper and lower bounds of xithen arebxic and dxie.

Step 4: Formulate an ellipse equation centered at x0.

Step 5: Partition the area of the search region rD ¼ 2n ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiðdDÞn =k1k2. . .kn q

into 2s sub-regions according to Proposition 4.

Step 6: Transform the separable QIP program with search region SRkinto a linear integer program according toPropositions 5 and 6. The host computer then assigns the transformed linear integer program with search region SRkto a slave computer to find the optimal solution.


Step 7: If no integer solution better than xDis found after searching all the sub-regions, then xDis the global optimum of Problem 1. If an integer solution x* exists, where one of the slave computers finds fðxÞ < f ðxDÞ, then terminate the other processes and replace xD

by x*. Reiterate Steps 3–7.

After searching the 2ssub-regions, SR1; SR2; . . . ; SR2s, the obtained solution can be guaranteed to be the glo-bal optimum ofProblem 1.

4. Numerical examples

Example 1. This study uses the example from Markowitz (1952) to demonstrate the process of solving a portfolio problem with integer variables.Table 1displays the 12 year data from 1943 to 1954 for three stocks, ATT, GMC, and USX. Meanwhile,Table 2lists the expected returns of the three stocks.

The associated variance-covariance matrix ofTable 1is computed as shown inTable 3.

Given a total allocation budget of 100, annual returns of 15%, and no transaction costs, the portfolio opti-mization model is formulated below:

Min 0:0108x21þ 0:0584x2 2þ 0:0942x 2 3þ 0:0248x1x2þ 0:0262x1x3þ 0:1108x2x3 ð4:1Þ subject to 1:089x1þ 1:214x2þ 1:235x3P115; ð4:2Þ x1þ x2þ x3¼ 100; ð4:3Þ x¼ ðx1; x2; x3Þ; xi are integral:

This example can be solved by the proposed algorithm with four computers connected via the Internet, as follows:

Iteration 1:

Step 1: The optimal solution of the continuous relaxation of (4.1) is ðx0

1; x02; x03Þ ¼ ð53; 35:64; 11:34Þ with fðx0Þ ¼ 224:105. The eigenvalues of Q are k

1¼ 0:274111; k2¼ 0:0371779, and k3= 0.0155112. Step 2: Let an initially feasible solution obtained by the genetic algorithm be xD¼ ð52; 37; 11Þ with

fðxDÞ ¼ 228:348.

Step 3: The found upper and lower bounds of xiare:

51:35 6 x1654:65; 24:22 6 x2647:08; and 1:55 6 x3621:13: Moreover, the integral upper and lower bounds of xiare: 52 6 x1654; 25 6 x2647; and 2 6 x3621:

Table 1

Returns of three selected stocks from 1943 to 1954


43 1.300 1.225 1.149 44 1.103 1.290 1.260 45 1.216 1.216 1.419 46 0.954 0.728 0.922 47 0.929 1.144 1.169 48 1.056 1.107 0.965 49 1.038 1.321 1.133 50 1.089 1.305 1.732 51 1.090 1.195 1.021 52 1.083 1.390 1.131 53 1.035 0.928 1.006 54 1.176 1.715 1.908


Step 4: The obtained B is 0:14 0:585 0:799 0:214 0:77 0:601 0:967 0:256 0:017 0 B @ 1 C A: y1, y2, and y3are expressed as

y1¼ 0:14ðx1 53Þ  0:585ðx2 35:64Þ  0:799ðx3 11:34Þ; y2¼ 0:214ðx1 53Þ  0:77ðx2 35:64Þ þ 0:601ðx3 11:34Þ; y3¼ 0:967ðx1 53Þ  0:256ðx2 35:64Þ þ 0:017ðx3 11:34Þ: The related ellipse equation, based on xD¼ ð52; 37; 11Þ, is

y21 30:96þ y22 228:25þ y32 547:09¼ 1: ffiffiffiffiffiffiffiffiffiffiffiffi dD=k1 q ¼ 5:56; ffiffiffiffiffiffiffiffiffiffiffiffi dD=k2 q ¼ 15:1 and ffiffiffiffiffiffiffiffiffiffiffiffi dD=k3 q ¼ 23:39:

Step 5: The search region is divided into four sub-regions SRkfor k¼ 1; 2; 3; 4. The search region for each computer is listed below.

For 1st PC: 0 6 y165:56; 0 6 y

2615:1;23:39 6 y3623:39: 2nd PC:  5:56 6 y160; 0 6 y2615:1;23:39 6 y3623:39: 3rd PC: 0 6 y165:56;15:1 6 y260;23:39 6 y3623:39: 4th PC:  5:56 6 y160;15:1 6 y260;23:39 6 y3623:39: Step 6: Taking SR1for instance, the program is formulated as:

Minimize Lðy 2 1Þ 30:96þ Lðy2 2Þ 228:25þ Lðy2 3Þ 547:09 subject to ð4:2Þ; ð4:3Þ; y1¼ 0:14ðx1 53Þ  0:585ðx2 35:64Þ  0:799ðx3 11:34Þ; ð4:4Þ y2¼ 0:214ðx1 53Þ  0:77ðx2 35:64Þ þ 0:601ðx3 11:34Þ; ð4:5Þ y3¼ 0:967ðx1 53Þ  0:256ðx2 35:64Þ þ 0:017ðx3 11:34Þ; ð4:6Þ 0 6 y165:56; 0 6 y2615:1; 23:39 6 y3623:39; 52 6 x1654; 25 6 x2647; 2 6 x3621; Table 2

Expected returns of the selected stocks

ATT GMC USX Expected return 1.089 1.214 1.235 Table 3 Variance-covariance matrix ATT GMC USX ATT 0.0108 0.0124 0.0131 GMC 0.0124 0.0584 0.0554 USX 0.0131 0.0554 0.0942


where Lðy2

1Þ, Lðy22Þ, and Lðy23Þ are piecewise linear functions of y21, y22, and y23, respectively, and x1, x2, and x3are integral.

Step 7: The execution time for the three sub-problems submitted in the first iteration is almost identical and the solutions obtained for these sub-problems are listed below:

SR1: No feasible solution.

SR2: ðx1; x2; x3Þ ¼ ð52; 39; 9Þ, f ðxÞ ¼ 227:1066.

SR3: ðx1; x2; x3Þ ¼ ð53; 35; 12Þ, f ðxÞ ¼ 224:645.

Since the solution of SR3is better than xD¼ ð52; 37; 11Þ; xD is replaced by (53, 35, 12). Reiterate Steps 3–7. Iteration 2: Only one sub-problem is left to be solved in this iteration. The search region of this sub-problem is smaller than SR4because a better integer solution xD¼ ð53; 35; 12Þ is found in the first iteration.

Step 30: The integral upper and lower bounds of x

ibecome: x1¼ 53; 32 6 x2639; and 8 6 x3614:

Step 40: The related ellipse equation, based on xD ¼ ð53; 35; 12Þ, is y2 1 3:94þ y2 2 20:05þ y2 3 69:63¼ 1:

Step 60: The host computer assigns the transformed sub-problem to a slave computer and the sub-problem is formulated as: Minimize Lðy 2 1Þ 3:94 þ Lðy2 2Þ 20:05þ Lðy2 3Þ 69:63 subject to ð4:2Þ; ð4:3Þ; ð4:4Þ; ð4:5Þ; ð4:6Þ;  1:98 6 y160; 4:48 6 y260; 8:34 6 y368:34; x1¼ 53; 32 6 x2639; 8 6 x3614;

where all variables are defined as before.

Step 70: Solving the sub-problem reveals no feasible solution better than xD¼ ð53; 35; 12Þ. The whole solution process is completed after this step.

From the above solution process, the globally optimal solution found for this example is x¼ ð53; 35; 12Þ with f ðxÞ ¼ 224:645 and y¼ ð0:153; 0:889; 0:175Þ. This is exactly the global opti-mum of this example.

Most stock markets require invested units to be integral. However, traditional mean variance portfolio models can only find solutions with continuous values. Such models will then round off the obtained contin-uous values to integral values. However, the rounded integral values may not be the optimal solution for the original program. In this example, a global solution with 0.5% tolerance identified by the Lagrangian relax-ation techniques (Geoffrion, 1974; Fisher, 1981) is (53, 35.64, 11.34) and rounding off the continuous solution to an integral solution may obtain (53, 36, 11), which is neither a global solution nor a feasible solution.

Table 4

Empirical results from different portfolio sizes (Tolerance: e = 0.5%) Number of stocks CPU time

Single PC (second) Distributed computation (8 PCs, (second))

10 2 <1

30 9 3


Example 2. This example is used to test the execution time of the proposed method with distributed computation for various sizes ofProblem 1, where aijand biare generated randomly.

The same data sets are run by the proposed model with a total allocation budget of 100, annual returns of 15% and transaction costs of 1%. Table 4 lists the computational results, which demonstrates that the proposed method can find optimal integer solutions within 12 seconds for n 6 50 with a network of eight personal computers. Using the proposed method with a distributed computation mechanism significantly reduces computational time.

5. Conclusions

This study proposes a distributed algorithm for solving a portfolio problem with integer variables. By con-verting the objective function of the portfolio problem into a related ellipse function, the original problem is transformed into a linear mixed integer program. The search region is partitioned equally into several sub-regions for distributed computation. By searching these sub-sub-regions, a global optimum is guaranteed to be reached. The numerical examples illustrate that the proposed distributed algorithm can find the global opti-mum of a portfolio problem effectively.


Bazaraa, M.S., Sherali, H.D., Shettty, C.M., 1993. Nonlinear Programming: Theory and Algorithms, second ed. John Wiley & Sons, New York.

Bienstock, D., 1996. Computational study of a family of mixed-integer quadratic programming problems. Mathematical Programming 74, 121–140.

Cannon, T.L., Hoffman, K.L., 1990. Large scale 0–1 linear programming on distributed workstations. Annals of Operations Research 22, 181–217.

Fisher, M.L., 1981. The Lagrangian relaxation method for solving integer programming problems. Management Science 27, 1–18. Geoffrion, A.M., 1974. Lagrangean relaxation for integer programming. Mathematical Programming Study 2, 82–114.

Guignard, M., Kim, S., 1987. Lagrangean decomposition: A model yielding stronger Lagrangean bound. Mathematical Programming 32, 215–228.

Horst, R., Pardalos, P.M., Thoai, N.V., 2000. Introduction to Global Optimization, second ed. Kluwer Academic Publishers, Dordrecht, The Netherlands.

Karmarkar, N.K., 1984. A new polynomial–time algorithm for linear programming. Combinatorica 4, 373–395.

Keyser, T.K., Davis, R.P., 1998. Distributed computing approaches toward manufacturing scheduling problems. IIE Transactions 30, 379–390.

Khachian, L.G., 1979. A polynomial algorithm in linear programming. Soviet Mathematics Doklady 20, 191–194.

Li, H.L., 1996. Notes: An Efficient Method for Solving Linear Goal Programming Problems. Journal of Optimization Theory and Applications 90 (2), 465–469.

Li, H.L., Chang, C.T., 1998. An approximate approach of global optimization for polynomial programming problems. European Journal of Operational Research 107 (3), 625–632.

Li, H.L., Chang, C.T., Tsai, J.F., 2002. An approximately global optimization for assortment problems using piecewise linearization techniques. European Journal of Operational Research 140, 584–589.

Markowitz, H., 1952. Portfolio selection. Journal of Finance 7, 77–91.

Michelon, P., Maculan, N., 1991. Lagrangean decomposition for integer nonlinear programming with linear constraints. Mathematical Programming 52, 303–313.

Miller, D., Pekny, J., 1989. Results from a parallel branch and bound algorithm for the asymmetric traveling salesman problem. Operations Research Letters 8, 129–135.

Sharpe, W., 1971. A linear programming approximation for the general portfolio analysis. Journal of Finance and Quantitative Analysis 6, 1263–1275.

Stone, B., 1973. A linear programming formulation of the general portfolio selection model. Journal of Financial and Quantitative Analysis 8, 621–636.

Sun, X.L., Li, D., 2001. On the relationship between the integer and continuous solutions of convex programs. Operations Research Letters 29, 87–92.

Verkama, M., Ehtamo, H., Hamalainen, R.P., 1996. Distributed computation of Pareto solutions in n-player games. Mathematical Programming 74, 29–45.

Yamakozi, H., Konno, H., 1991. Mean absolute deviation portfolio optimization model and its application to Tokyo stock market. Management Science 37, 519–531.

Young, M.R., 1998. A minimax portfolio selection rule with linear programming solution. Management Science 44 (5), 673–683. H.-L. Li, J.-F. Tsai / European Journal of Operational Research 186 (2008) 882–891 891


Fig. 1. Graphic illustration of the search region after the transformation.
Fig. 1. Graphic illustration of the search region after the transformation. p.5