An Efficient and Concise Algorithm for Convex Quadratic Programming and Its Application to Markowitz’s Portfolio Selection Model

This paper presents a pivoting-based method for solving convex quadratic programming and then shows how to use it together with a parameter technique to solve mean-variance portfolio selection problems.


Introduction
There are a variety of algorithms for solving convex quadratic programming (QP).The most well-known one is active set method [1,2].However this method is difficult to learn for many people due to its operational manner.In this paper we present a pivoting-based method for solving convex QP which is efficient for calculating and concise for understanding.
The Karush-Kuhn-Tucker conditions (KKT conditions) of QP is a system of (in) equalities where all the expressions are linear equalities or inequalities except for complementarity conditions.Like Wolfe's method [3] we solve the linear part by a kind of pivoting operation while maintaining the complementarity conditions in the computational process.However the system computed by our method has a much smaller size because many variables are deleted from the KKT conditions.
In 1952 Harry Markowitz published the milestone paper "Portfolio Selection" in which the portfolio selection problem is formulated as a convex quadratic program with nonnegative variables [4,5].It is nearly 60 years.However most people still think the model is difficult to solve and few people conduct their investment activities by calculating efficient portfolios for references.We see that every investments textbooks have a figure to show portfolios which are formed by two assets with different correlation coefficients.But we can hardly see a book which has an example to show portfolios formed by three or more assets in the case of no short sale.We will present a pivoting-based algorithm together with a parameter technique to solve Markowitz's portfolio selection model in a very simple form.The most important advantage of our parameter technique is that it can continuously obtain minimal risk portfolios at different levels of return in linear time after a portfolio is established by the pivoting algorithm.
The rest sections of this paper are organized as follows.In Section 2, we introduce a pivoting-based algorithm for solving the system of linear inequalities and the parameter technique for generating new basic solutions which are associated with different right-hand side terms.In Section 3, we introduce basic concepts and operations for solving the convex QP.In Section 4, we discuss how to solve Markowitz's mean-variance portfolio selection model.For brevity, relative theorems and proofs as well as tedious reasoning processes are omitted.For details, the reader refers to [6][7][8].= ( , , , )

The System of Linear Inequalities
 .In our algorithm, the following concepts are em-ployed.
A set of maximum linearly independent vectors of a 1 , a 2 , , a m is called a basis of (2.1).Vectors in the basis are called basic otherwise called nonbasic.The equalities and inequalities associated with basic vectors are called basic otherwise called nonbasic.The system of basic (in) equalities is called a basic system and whose solution set is called a basic cone.The solution to the system of equations that are corresponding to basic (in) equalities, i.e., the vertex of the basic cone, is called basic solution.


Geometrically, our algorithm begins with a basic cone whose vertex is denoted by x  .If x  lies on the hyper-planes determined by every equalities and lies in the half-spaces determined by every inequalities of (2.1), it is a solution to the entire system.Otherwise there exists an inequality (or equality) such as r r a x so that r which is called a violating inequality against b  r a x b   x  .If the intersection of the half-space r r and the basic cone is empty, there is no solution for (2.1).Otherwise a x b  x  is projected onto the boundary r of the half-space where r r replaces a basic inequality to constitute a new basic cone.Then the same process is repeated.Algebraically, a nonbasic (in) equality replacing a basic inequality is accomplished by the following pivoting operation.
Given a basis of (2.1), let I 0 , I 1 , I 2 and I 3 be the index sets for basic equalities, basic inequalities, nonbasic inequalities and nonbasic equalities respectively.Let x  be the basic solution, i.e., If w rs  0 for an r  I 3 I 2 and an s  I 1 , from the rth expression of (2.2) we have Substitute it into the other expressions of (2.2) to yield Now, we have a new basic cone whose index set is 0 1 and the associated basic solution is denoted by x  .Multiply both sides of (2.4) by x  on the right to have Multiply both sides of (2.2) by x  to have 0 1 (1) .
Rewrite the above expression as In the same way, from (2.3) we have The above operational process is called a pivoting (operation) and w rs is called pivot (element).The row of w rs is called pivot row and the column of w rs is called pivot column.We say a r enters and a s leaves the basis and the exchange of these two vectors is denoted by a r ↔ a s .The process is simply shown by Tables 1 and 2.Where (1) 2 0, The initial basic vector is e i which is the ith row of the identity matrix of order n, i = 1, 2, , n.Other (in) equalities of (2.1) and their coefficient vectors are nonbasic whose deviation with respect to x  is .Thus we have an initial table as shown by Table 1.
Step 2. Preprocessing.Let I 3 be the index set of equalities, i.e., I 3 = 1, , l.  1) If I 3 = , go to step 3. Otherwise, for an rI 3 if the deviation σ r of a r is negative, positive or zero, go to 2), 3) and 4) respectively.
2) If there is no positive element in the row of a r that is corresponding to the basic inequality, (2.1) has no solution; otherwise carry out a pivoting on one of the positive elements, let 3 3 \ I I r    and return to 1). 3) If there is no negative element in the row of a r that is corresponding to the basic inequality, (2.1) has no solution, otherwise carry out a pivoting on one of the negative elements, let 3 3 \ I I r    and return to 1). 4) If all of the elements in the row of a r that are corresponding to basic inequalities are zeros, let 3 3 \ I I r    and return to 1); otherwise carry out a pivoting on one of the non-zero elements, let 3 3 \ I I r    and return to 1).
1) If all of the deviations of non-basic vectors are nonnegative, the current basic solution is a solution to (2.1).Otherwise 2) select a non-basic vector with negative deviation to enter the basis.If there is no positive element in the row of entering vector that is corresponding to the basic inequality, (2.1) has no solution, otherwise carry out a pivoting on one of the positive elements and return to 1).
Note that step 1 of Algorithm x u    .There are many rules for selecting a vector to enter or leave the basis.We will give several ones which are used in the main iterations stage.
For a given basis of (2.1) let I 0 , I 1 and I 2 be index sets for basic equalities, basic inequalities and non-basic inequalities respectively.Let (1)  x be the current basic solution and 0 1 (1) 2 , = , Rule 1. (The smallest deviation rule).Among all the non-basic vectors with negative deviations, select a vector a r having the smallest deviation to enter the basis.That is if 2 = min{ : < 0, } , then a r enters the basis.
Rule 2. (The largest distance rule).Among all the non-basic vectors with negative deviations, select a vector a r whose associated inequality is farthest away from the current basic solution to enter the basis.That is if Rule 3. (Rule of the farthest distance along an edge).Among all the non-basic vectors with negative deviations, select a vector a r whose associated inequality is farthest away from the current basic solution along an edge of the basic cone to enter the basis.That is if r r s w for an sI 1 , then a r enters the basis.
Rule 4. (The smallest index rule).Among all the nonbasic vectors with negative deviations, select a vector a r having the smallest index to enter the basis; and among all the basic vectors to leave the basis, select a vector a s   Z. Z. ZHANG ET AL.
having the smallest index to leave the basis.That is if , then a r enters the basis; and if , then a s leaves the basis.
Like Bland's anti-cycling rule [9], it can be proved that when the smallest index rule is used to solve system (2.1), cycling doesn't occur.Now let us consider the parameter technique by which a new basic solution can be obtained from the current table by changing the right-hand side terms of some basic (in) equalities.
For a basis of (2.1), let I B and I N denote the index sets of basic and nonbasic vectors respectively and x be the basic solution.Suppose , Multiply both sides by x , since a j x = b j , j  I B , to have Therefore the deviation of the nonbasic a i is , The above operation is denoted by Usually we just change the right-hand side of one basic (in) equality such as changing b s to b s +  for an s  I B .Then the deviation of a i becomes , It indicates that when the right-hand side of a basic (in) equality is increased by , deviations of nonbasic vectors with respect to the new basic solution can be obtained by multiplying the column of this basic (in) equality by , and then add it to the last column (the deviation column).We will use s a  to denote such an operation which gives the result (2.6).

Fundamental Concepts and Algorithm
Consider quadratic programming in this form: , .
, , , Let λ i be the Lagrange multiplier associated with ,  i be the Lagrange multiplier as-  , and e i be the ith row of the identity matrix of order n.The KKT conditions for (3.1) are as follows. 1 1 , , , , 0 eliminate all the  i from above KKT conditions to have , , We will solve the linear part of (3.2) by Algorithm 2.1 while maintaining all of the complementarity conditions.
(3.2) has n + m variables where λ 1 , λ 2 , , λ l are free.In order to initiate the computation, we introduce artificial inequalities , and the coefficient vectors of last n + m inequalities are denoted by e i which is the ith row of the identity matrix of order n + m, i = 1, 2, , n + m.  , (3.1) are called complementary inequalities, and their coefficient vectors are called complementary vectors in which According to the definition of basic solution of the system of linear inequalities, if one of the complementary inequalities is basic, the corresponding complementarity condition is satisfied.Hence we will keep one of them basic and the other one nonbasic in the computational process.
The initial basic system for solving (3.2) is The representation of nonbasic vectors in terms of basic ones and their deviations are given in Table 3.
Since a 1 , , a l are coefficient vectors of equalities, we first put them into the basis as many as possible.Without loss of generality, suppose that a 1 , , a l are   linearly independent and suppose l pivoting operations can be carried out along the diagonal of the sub-matrix In order to maintain the complementarity conditions, another l pivoting operations are carried out along the diagonal of which translate the l basic artificial vectors out of the basis.The above 2l pivoting operations are called preprocessing.Since the basic solution must satisfy every equality constraints, once an equality enters the basic system, it is never selected to leave the basic system.For this reason, the columns of basic equalities and the associated rows of artificial inequalities can be deleted from the table.It implies that the upper bound M of the artificial variable may be any number.For convenience of computation, we always take M = 0.The computational process following the preprocessing is called main iterations where each table is called general (pivoting) table, as shown by Table 4.
Where We say the principal sub-matrix associated with nonbasic Lagrange vectors and basic constraint vectors to be Lagrange matrix and denote it by L, and say the principal sub-matrix associated with nonbasic constraint vectors and basic Lagrange vectors to be constraint matrix and denote it by .For the initial table, L = H and  = O; for Table 4, and .
11 12 It can be proved that both Lagrange matrix and constraint matrix are positive semi-definite when the Hessian matrix H of (3.1) is positive semi-definite.A positive semi-definite matrix has the property that if the ith diagonal entry is zero, then all the entries in the ith row and in the ith column are zeros.
Main iterations involve two kinds of operations.One is called principal pivoting which is carried out on a positive diagonal element of the table.The other one is called double pivoting which is carried out on a pair of symmetric off-diagonal elements successively while the diagonal element is zero.The 2l pivoting operations in the preprocessing stage are l double pivoting operations.
The basic solution associated with Table 4 is , , 0 , Besides, we have 0 , , , 0, , 0 be the initial basic system and construct initial table given by Table 3.
Step 2. Preprocessing.For i = 1, 2, , l, when the deviation of a i is less than, greater than, or equal to 0, go to 1), 2) and 3) respectively.
1) If there is no positive elements in the row of a i that are corresponding to basic inequalities, there is no feasible solution, stop; otherwise carry out a pivoting on one of the positive elements and then carry out a pivoting on the symmetric element.
2) If there is no negative elements in the row of a i that are corresponding to basic inequalities, there is no feasible solution, stop; otherwise carry out a pivoting on one of the negative elements and then carry out a pivoting on the symmetric element.
3) If all the elements in the row of a i that are corresponding to basic inequalities are zero, delete the row of a i and then delete the column of e n+i ; otherwise carry out a pivoting on one of the nonzero elements and then carry out a pivoting on the symmetric element.
Step 3. Main iterations. 1) If all the deviations of nonbasic vectors (except for nonbasic Lagrange vectors e n+1 , , e n+l that are corresponding to equality constraints) are non-negative, the current basic solution is the solution to (3.2), stop; otherwise select a nonbasic vector with negative deviation to enter the basis. 2) If there is no positive element in the row of the entering vector that is corresponding to the basic inequality, (3.2) has no solution, stop.Otherwise 3) if the diagonal element in the row of the entering vector is positive, carry out a pivoting on that diagonal element, return to 1); otherwise carry out a pivoting on the largest off-diagonal element in the row of the entering vector, and then carry out a pivoting on the symmetric element, and return to 1).
We will prove that the smallest index rule can prevent cycling even though it may involve more pivoting operations than the smallest deviation rule does.Here each pair of complementary vectors has the same index.For example, h i and e i have index i for i = 1, 2, , n, and a i and e n+i have index n + i for i = 1, 2, , m.  If cycling occurs, some vectors would enter and leave the basis repeatedly.Let s be the largest index of such vectors and consider two tables in the computational process.In one table the sth Lagrange vector enters and the sth constraint vector leaves the basis, and in the other table just reverse.Let P and Q be the principal sub-matrices associated with complementary nonbasic vectors of these two tables, and  P and  Q be deviations associated with P and Q respectively.
where Q can be partitioned into a 2  2 matrix as shown in Table 4 or positive definite.It contradicts the assumption that the components of  P and  Q with index s are negative and other components are nonnegative.

Convex QP with Upper Bounded Variables
Now let us consider the quadratic programming where variables are bounded from above: , .
and let I 1 and I 2 be a partition of 1, , n, i.e., I 1  I 2 = 1, , n and I 1  I 2 = , but empty I 1 or I 2 is allowed.
It can be verified that if x is a solution to the system , , and every components of x satisfy  , then x is the optimal solution for (3.3).The solution of (3.4) is as follows.
Firstly, let I 1 = 1, 2, , n and I 2 = , i.e., ignoring all the upper bounds u i , to solve (3.4) where the first two steps of Algorithm 3.1 are applied.In the following computational process we will make the basic solution satisfy not only i i x l  but also i i x u    .That is we should make deviations of both e i and e i non-negative.In other words, if the deviation of e i or e i is negative, then it is a candidate to enter the basis.
If e i is entering the basis but it does not appear in the table, we change the table as follows.Replace the deviation σ i of e i with u i  l i  σ i , reverse signs of other entries in the row of e i , and then substitute e i for e i ; reverse signs of entries in the column of h i and then substitute h i for h i .The above operation is called a vector substitution for e i .It amounts to replacing the nonbasic i i x l  with and replacing the basic i , 0 Similarly, if e i is entering the basis but it does not appear in the table, we update the table by conducting a vector substitution for e i .
Another problem in solving (3.4) is that when a Lagrange vector h i , h i or e n+i is entering the basis, all the entries in this row are non-positive.In this situation, the change of the table is stated in the following 1) and 2).
1) Suppose that the Lagrange vector h i is entering the basis but all the entries in this row are non-positive.In this case we conduct a vector substitution for h i , i.e., reverse signs of all the entries in the row of h i and then substitute h i for h i ; reverse signs of entries in the column of e i and then substitute e i for e i .It amounts to replacing the nonbasic , . The associated equalities of the last two inequalities are i i x l  and i i x u  , therefore the change of the right-hand side of Considering signs of all the entries in the column of e i had been reversed, by (2.6) we multiply the column of e i by l i  u i , and then add it to the deviation column.Similarly, if h i is entering the basis but all the entries in this row are non-positive, we conduct a vector substitution for h i 2) Suppose that the Lagrange vector e n+i i = l + 1, , m is entering the basis but all the entries in this row are non-positive.We see that e n+i is a n + m dimensional unit vector with 1 at the (n + i) th position, h i and h i are n + m dimensional vector whose last m components are not all zeros, and the last m components of constraint vectors are zeros.It implies that the expression of e n+i in terms of basic vectors must contain h j or h j .Suppose that w ij is a negative off-diagonal entry in the row of e n+i and in the column of j  h = h j or h j .We conduct a vector substitution for e n+i in this way: reverse signs of entries in the column of j  h and then substitute j  for h j  h ; replace the deviation  j of j  e = e j or e j  with u j  l j   j , reverse signs of other entries in the row of j  e , and then substitute j  e for j  e .This substitution transforms w ij into a positive number so that a regular pivoting e n+i ↔ j  h can be carried out.Now let us give the algorithm for solving (3.3).In this algorithm, the non-basic vectors include not only those listed in the table but also those that are not listed in the table where i  e = e i or e i and  = h i or h i .
1) If all the deviations of non-basic vectors except for e n+1 , , e n+l are non-negative, the current basic solution is optimal for (3.3), stop.Otherwise  2) select a non-basic vector with negative deviation to enter the basis.If the entering vector is a i , , a) If all the entries in the row of a i that are corresponding to basic inequalities are non-positive, (3.3) has no feasible solution, stop.If the diagonal entry in the row of a i is positive, carry out a pivoting on that entry, return to 1); otherwise carry out a pivoting on the largest entry in the row of a i and then carry out a pivoting on the symmetric entry, return to 1).b) If i  e is not listed in the table, conduct a vector substitution for i  e .In the row of the entering vector e i , if all the entries that are corresponding to basic inequalities are non-positive, (3.3) has no feasible solution, stop; otherwise if the diagonal entry is positive, carry out a pivoting on that entry, return to 1); otherwise carry out a pivoting on the largest entry and then carry out a pivoting on the symmetric entry, return to 1).c) If the diagonal entry in the row of i  is positive, carry out a pivoting on that entry, return to 1); otherwise if there is a positive entry in the row of i , carry out a pivoting on the largest entry and then carry out a pivoting on the symmetric entry, return to 1); otherwise conduct a vector substitution for , return to 1).
If the diagonal entry in the row of e n+i is positive, carry out a pivoting on that entry, return to 1); otherwise if there is a positive entry in the row of e n+i , carry out a pivoting on the largest entry and then carry out a pivot- ing on the symmetric entry, return to 1); otherwise conduct a vector substitution for e n+i , return to 1).

Markowitz's Portfolio Selection Model
Suppose that there are n assets for selection.The rates of return of these n assets are R 1 , , R n (random variables) whose means are r 1 , , r n respectively and the covariance matrix is where , x n be fractions of n assets.The problem is to determine the portfolio (x 1 , x 2 , , x n ) so that it has a minimal variance risk at a certain level of expected return rate.It is formulated as follows.
  and r p is the expected return rate of the investor.Obviously, r p should satisfy to ensure the feasibility.
The KKT conditions of model (4.1) are   Add up the n complementarity conditions to have , thus This is another way to compute the variance risk of the portfolio.(4.1) is a special case of (3.1) mainly in that (4.1) has no general inequality constraints and has feasible solutions.It makes the computation of (4.1) much easy.
Step 1.Initial step.Let be the initial basic system to construct initial table as shown by Table 5.
Where e 1 , , e n , e n+1 , e n+2 are coefficient vectors of the initial basic system which are the n + 2 rows of the   Step 3. Main iterations. 1) If all the deviations of nonbasic vectors except for e n+1 and e n+2 are nonnegative, the current basic solution is the solution of (4.2), stop.Otherwise 2) select a nonbasic vector except for e n+1 and e n+2  with the most negative deviation to enter the basis.If the diagonal entry in the row of entering vector is positive, carry out a pivoting on that entry, return to 1); otherwise carry out two pivoting operations first on the largest entry in the entering vector row and then carry out a pivoting on the symmetric entry, return to 1).
Denote rank (H) by the rank of H.It can be proved that among n basic vectors e 1 , , e n at most rank (H) + 2 ones may be pivoted out of the basis.It implies that at most rank (H) + 2 components of may be nonzeros.
Let r i1 , , r iT be the realization of R i in T periods, then Since D is an T  n matrix, rank (H) is no more than T. Therefore each portfolio obtained by Algorithm 4.1 contains no more than T + 2 assets no matter how larger n is.
An experiment was conducted by using algorithm 4.1 combining with the parameter formula (2.6)  , , T x x x x    , H is the covariance matrix and r p = 0.07, 0.08, 0.09 or 0.1.
The initial table for r p = 0.07 is given by Table 6.
Since the minimal mean is in the first column, we carry out a double pivoting to have Ta- ble 7. Since the maximal mean is in the second column of the initial table, we carry out a double pivoting ( 2 r e  ,  to have Table 8.
In Table 8, ignoring the deviations of e 4 and e 5 since they are associated with equalities, there is only one negative deviation 0.2217 taken by h 3 .Therefore h 3 enters the basis.Since the diagonal entry 0.37 in the row of h 3 is positive, carry out a principal pivoting on 0.37 to yield Table 9 ignoring the last three columns.
From the column r p = 0.07 we see that all the deviations of nonbasic vectors except for e 4 and e 5 are positive, therefore the minimal risk portfolio for r p = 0.07 is ( , , ) x x x = (0.3671, 0.0338, 0.5991), and  1 = 0.4165 and  2 = 3.2117.The variance risk of this portfolio is  1 +  2 r p = 0.4165  3.2117  0.07 = 0.1916.Now consider the portfolio with r p = 0.08.since  = 0.08 -0.07 = 0.01, by (2.6), we multiply the column of r by 0.01 and then add it and the column of r p = 0.07 to get the column of r p = 0.08.We see that the last three numbers of the column of r p = 0.08 are still positive.Therefore the minimal risk portfolio for r p = 0.08 is 1 2 3 ( , , ) x x x = (0.2095, 0.2095, 0.5811), and  1 = 0.2607 and  2 = 1.4459.The variance risk of this portfolio is  1 +  2 r p = 0.2607  1.4459  0.08 = 0.1451.
For r p = 0.09, since  = 0.09 -0.08 = 0.01, we multiply the column of r by 0.01 and then add it and the column of r p = 0.08 to get the column of r p = 0.09.We see that the last three numbers of the column of r p = 0.09 are positive also.Therefore the minimal risk portfolio for r p = 0.09 is 1 2 3 ( , , ) x x x = (0.0518, 0.3851, 0.5631), and  1 = 0.1050 and  2 = 0.3198.The variance risk is  1 +  2 r p = 0.1050 + 0.3198  0.09 = 0.1338.
In the same way, we can get the column of r p = 0.1.We see that the deviation of e 1 is negative and the diagonal entry is positive.Carry out a pivoting e 1 ↔ h 1 to have Table 10.

Portfolio of Upper Bounded Assets
For institutional investors some asset such as a stock is not allowed greater than a limited ratio of the total capital.In this situation the model with upper bounded variables is required.Let u i be the upper bound for asset x i that satisfies 1  to ensure the feasibility.The minimal value of r p is obtained as follows.Suppose that .Distribute 1 to x 1 , x 2 , , x n sequentially such that x u  ,,  where and 0 . Then Similarly, we can obtain the maximal value r max of r p .The algorithm for (4.3) is as follows.Algorithm 4.2.Computational steps for (4.3).
Step 3. Main iterations. 1) If all the deviations of non-basic vectors except for e n+1 and e n+2 are non-negative, the current basic solution is optimal for (4.3), stop.Otherwise 2) select a non-basic vector with negative deviation to enter the basis.If this vector is not listed in the table, conduct a vector substitution.If the diagonal entry in that row is positive, carry out a pivoting on that entry, return to 1); otherwise carry out a pivoting on the most positive entry in that row and then carry out a pivoting on the symmetric entry, return to 1).
Example 2. In Example 1, each asset is not allowed to exceed 50%.Solve a minimal risk portfolio with r p = 0.09.
Solution.The initial form is given by Table 11.
As done for Example 1, carrying out 4 pivoting operations e ↔ e 1 , h 1 ↔ e 4 , r ↔ e 2 , h 2 ↔ e 5 , and then carrying out a principal pivoting h 3 ↔ e 3 , we have Table 12 where the columns of e and r and the rows of e 4 and e 5 are deleted.
We see that the third asset 0.5631 is greater than 0.5.Therefore we let e 3 enter the basis.But e 3 is not listed  in the current table.For this we conduct a vector substitution for e 3 : replace the deviation 0.5631 of e 3 with 0.5  0.5631 = 0.0631,reverse signs of other entries in the row of e 3 , and then substitute e 3 for e 3 ; reverse signs of entries in the column of h 3 and then substitute h 3 for h 3 .
It results in Table 13.
In Table 13 we carry out a pivoting on the diagonal entry 2.7027 to yield Table 14.Now all the deviations are positive and no assets are greater than 0.5.Hence we get the required portfolio.
h N and h B are a partition of the Lagrange vecand e n+B are a partition of the Laand e B as well as a N and a B are partitions of the constraint vectors 1 , ,  h ,  λ ,  e ,  a in the last column are vectors formed by deviations of the corresponding nonbasic vectors.

3 . 1 . 1 .
l B and l N are vectors formed by the right-hand side terms of basic and nonbasic i ix l  , λ B and λ N are vectors formed by basic and nonbasic multipliers of λ 1 , λ 2 , , λ m ,  B and  N are vectors formed by basic and nonbasic multipliers of μ 1 , μ 2 , , μ n respectively. Computational steps for the convex QP are as follows.Algorithm Computational steps for (3.2).Step Initial n+i , go to a), b), c), d) respectively.

Since e 3
is basic, x 3 = u 3 = 0.5, and x 1 = 0.0833, x 2 = 0.4167.The variance risk x T Hx = 0.1353.An experiment was conducted by using the same data with n = 1072 and T = 69.For u i = 0.1, i = 1, 2, , n, it experiences about 95 pivoting operations to obtain one efficient portfolio and 347 pivoting operations to obtain 20 minimal variance portfolios with different values of r p .Each pivoting requires about 1074  1075 multiplications and additions.Therefore the total amounts of computation are 95  1074  1075 and 347  1074  1075 multiplications and additions respectively.

Table 2 . The result of pivoting.
The computational steps for the system of linear inequalities are as follows.
s 1/w rs w rj /w rs σ r /w rs a i w is /w rs ij w i   Copyright © 2011 SciRes.TI violating inequality against x  and r r
for 70 weekend closed prices of 1072 stocks.Here n = 1072 and T = 70  1 = 69.It experiences about 80 pivoting operations to obtain one efficient portfolio and 314 pivoting operations to obtain 20 minimal variance portfolios with different values of r p which are evenly ranging from the