Abstract and Applied Analysis

Volume 2012 (2012), Article ID 487870, 15 pages

http://dx.doi.org/10.1155/2012/487870

## On the Simplex Algorithm Initializing

^{1}Faculty of Economics, University of Niš, Trg Kralja Aleksandra 11, 18000 Niš, Serbia^{2}Department of Computer Science, Faculty of Sciences, University of Niš, Višegradska 33, 18000 Niš, Serbia^{3}LEDIB Programme Component Coordinator, Nisava District, 18000 Niš, Serbia

Received 15 June 2012; Revised 19 July 2012; Accepted 27 July 2012

Academic Editor: Sung G. Kim

Copyright © 2012 Nebojša V. Stojković et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

#### Abstract

This paper discusses the importance of starting point in the simplex algorithm. Three different methods for finding a basic feasible solution are compared throughout performed numerical test examples. We show that our two methods on the *Netlib * test problems have better performances than the classical algorithm for finding initial solution. The comparison of the introduced optimization softwares is based on the number of iterative steps and on the required CPU time. It is pointed out that on average it takes more iterations to determine the starting point than the number of iterations required by the simplex algorithm to find the optimal solution.

#### 1. Introduction

There are two main methods for solving linear programming problem: the Simplex method and the interior point method. In both of these two methods it is necessary to determine the initial point. It is known that the application of the simplex algorithm requires at least one basic feasible solution. For the interior point method, in most cases it is enough that the point belongs to the so-called central path. Note also that in most algorithms based on interior point methods, the starting point need not to be feasible. However, in practical implementation it is shown that the numerical stability of the algorithm still depends on the choice of the starting point. These issues are investigated in papers [1, 2].

Two classical algorithms for generating the initial point for the Simplex algorithm are the *two-phase Simplex algorithm* and the *Big-M method*. The main drawback of these algorithms is requiring the introduction of artificial variables, increasing the dimension of the problem. From that reason, algorithms which do not require the introduction of artificial variables are developed. A heuristic for finding the starting point of a linear programming problem, which is based on the method of minimal angles, is proposed in [3]. Unfortunately, these heuristics can be used only for certain classes of problems. Similar heuristics are investigated in the papers [4–6]. Different versions of the algorithm which does not introduce artificial variables are given in the papers [7–12]. One variant of these algorithms is introduced and discussed in the paper [11], which was the inspiration for our paper. We compare three different methods for finding an initial basic feasible solution (the starting point for the Simplex algorithm) throughout performed numerical test examples. Two methods, called and , are introduced in [13], while the third method, called NFB, is established in [11].

#### 2. The Simplex Method and Modifications

Consider the linear programming (LP) problem in the standard matrix form: where is the full row rank matrix (), , and the system is defined by , . It is assumed that -th entry in is denoted by , , , , and .

Then we choose basic variables , express them as a linear combination of nonbasic variables , and obtain the canonical form of the problem (2.1). We write this canonical form in Table 1.

Coefficients of the transformed matrix and the transformed vector are again denoted by and , respectively, without loss of generality.

For the sake of completeness we restate one version of the two-phase maximization simplex algorithm from [12, 14] for the problem (2.1), represented in Table 1.

Within each iteration of the simplex method, exactly one variable goes from nonbasic to basic and exactly one variable goes from basic to nonbasic. Usually there is more than one choice for the entering and the leaving variables. The next algorithm describes the move from the current base to the new base when the leaving-basic and entering-nonbasic variables have been selected.

*Algorithm 2.1 (consider interchange a basic variable and nonbasic variable ). *

The next algorithm finds an optimal solution of the LP problem when the condition is satisfied.

*Algorithm 2.2. **Step *. If , then the basic solution is an optimal solution.*Step *. Choose according to the Bland's rule [15].*Step *. If , stop the algorithm. Maximum is .

Otherwise, go to the next step.*Step *. Compute

If the condition is not satisfied, we use the algorithm from [12, 14] to search for the initial basic feasible solution. In contrast to approach used in [16], it does not use artificial variables and therefore does not increase the size of the problem. It is restated here as the following Algorithm 2.3.

*Algorithm 2.3. **Step *. Select the last .*Step *. If , then STOP. LP problem is infeasible.*Step *. Otherwise, find , compute
choose as the entering-nonbasic variable, as the leaving-basic variable, apply Algorithm 2.1, and go to Step .

Note that Algorithm 2.3 and the NFB algorithm from [11] are equivalent. As shown in the paper [13], the lack of the algorithm from [12] is that when it is applied to transform the selected coordinate from the basic solution into a positive, it can increase the number of negative coordinates.

The problem of selecting a leaving-basic variable and corresponding entering-nonbasic variable in the two-phase simplex method is contained in Step of Algorithm 2.2 and Step of Algorithm 2.3. We observed two drawbacks of Step . By we denote the index of the last negative .(1)If for each index such that in the next iteration becomes negative: (2)If , in the next iteration is negative: Although there may exist , such that In such case, it is possible to choose for the pivot element and obtain Also, since , each remains convenient for the next basic feasible solution:

Therefore, it is possible that the choice of entering and leaving variable defined by Step reduces the number of positive 's after the application of Algorithm 2.1. Our goal is to obviate the observed disadvantages in Step . For this purpose, we propose a modification of Step , which gives a better heuristic for the choice of basic and nonbasic variables.

Proposition 2.4 (see [13]). *Let the problem (2.1) be feasible and let be the basic infeasible solution with , . Consider the index set .**The following statements are valid.*(1)It is possible to produce a new basic solution with at most negative coordinates in only one step of the simplex method in the following two cases:(a),(b) and there exist and such that
(2)It is possible to produce a new basic solution with exactly negative coordinates in one step of the simplex method if neither condition (a) nor condition (b) is valid.

*Proof. * We restate the proof from [13] for the sake of completeness.

(1) (a) If , for an arbitrary pivot element , we get a new basic solution with at least one positive coordinate:
The existence of negative is ensured by the assumption that the problem (2.1) is feasible.

(b) Now assume that the conditions , , and (2.11) are satisfied. Choose for the pivot element and apply Algorithm 2.1. Choose arbitrary , .

In the case it is obvious that
In the case , using , we conclude immediately
On the other hand, for we obtain from Algorithm 2.1
Therefore, all nonnegative remain nonnegative and becomes nonnegative.

(2) If neither condition (a) nor condition (b) is valid, let and be such that
By choosing as the pivot element and by applying the transformations defined in Algorithm 2.1 we obtain the same number of negative elements in the vector . This fact can be proved similarly as the part 1 (b).

*Remark 2.5. *From Proposition 2.4 we get three proper selections of the pivot element in Step : (i)arbitrary in the case ; (ii)arbitrary satisfying (2.11) when the conditions , are satisfied; (iii)arbitrary satisfying (2.16) when , and there is no satisfying conditions in the previous case.

In accordance with Proposition 2.4 and considerations in Remark 2.5, we propose the following improvement of Algorithm 2.3.

*Algorithm (modification of Algorithm 2.3)**Step *1. If , perform Algorithm 2.2. Otherwise continue.*Step *2. Select the first .*Step *3. If , then STOP. LP problem is infeasible.

Otherwise, construct the set
initialize variable by and continue.*Step *4. Compute
*Step *5. If , then interchange entering-nonbasic variable and leaving-basic variable (apply Algorithm 2.1) and go to Step 1. Otherwise go to Step 6.

*Step *6. If , interchange and (apply Algorithm 2.1) and go to Step 1. Otherwise, put and go to Step 3. * Algorithm * chooses one fixed (the first) value satisfying conditions of Proposition 2.4. But there may exist some other such that conditions of Proposition 2.4 are satisfied, and in the next iteration we can obtain a basic solution with smaller number of negative 's. From that reason, in [13] we gave improved version of * Algorithm *, named .

*Algorithm **Step *1. If , perform Algorithm 2.2. Otherwise, construct the set
*Step *2. Set and perform the following. Step 2.1. If then STOP. LP problem is infeasible. Otherwise, construct the set
put , and continue. Step 2.2. Find the minima:
If , then choose for the pivot element, apply Algorithm 2.1, and go to Step 1. (In the next iteration becomes positive.) Step 2.3. If , then put and go to Step 2.2, otherwise continue. Step 2.4. If , then put and go to Step 2.1, otherwise continue.*Step *3. If and there do not exist and such that
Step 3.1. Select . Step 3.2. Compute
Step 3.3. Choose for pivot element, apply Algorithm 2.1, and go to Step 1.*Algorithm * and * Algorithm * are well defined. If there is no such that the condition (2.11) is valid, we choose pivot element according to Remark 2.5 to obtain a solution with the same number of negative 's. To avoid the cycling in this case, we will present an anticycling rule which is based on the following result from [13].

Proposition 2.6 (see [13]). *Assume that there is no such that the conditions (2.11) of Proposition 2.4 are satisfied. After choosing the pivot element according to (2.16), we obtain a new base where , holds for all . *

Since in Step 2 of * Algorithm * is fixed, * Algorithm * may cycle only if . For that reason, if the minimum in (2.18) is not unique, we choose according to the Bland's rule which guarantees that the simplex method always terminates [15] and [17, Theorem 3.3]. Therefore, according to Proposition 2.6, finite number of iterations value of will start to increase or we will conclude that the problem is infeasible ( are positive for all ).

In the sequel we show that our methods have better performances than the Nabli's NFB method from [11]. Algorithms and are implemented in the software package * MarPlex*, reused from [13] and tested on some standard linear programming test problems.

#### 3. Results of Comparison

We already mentioned that we were motivated with the paper [11] to consider the number of iterations needed to find the starting point. This yields an exact indicator of the quality of the applied linear programming solvers. In the paper [11] that the quotient of the total number of iterations required to determine the initial solution and the number of variables is equal to for the NFB, for the * two-phase* algorithm and for the *Big-M* method. It is obvious that the NFB algorithm is better than the *Two-phases* and the *Big-M* methods with respect to this criterion.

Note that the results of the paper [11] are obtained on a small sample of test problems in which the number of variables is relatively small. To resolve this drawback, we applied the NFB algorithm to the Netlib collection test problems. In addition, we tested our two algorithms, marked with and . In this paper we consider the results of practical application of these algorithms in accordance with the methodologies used in the papers [11, 18].

The comparison of different optimization softwares from [11] is based on the number of iterative steps. In the tables below, columns labeled by contain the number of variables in the problem, while the columns marked with NFB, , and contain the number of iterations that is required for the corresponding algorithm. The names of the *Netlib* problems are given in the column LP. The number of iterations that are necessary to find initial basic feasible solutions in particular test examples is presented in Table 2.

The quotient of the total number of iterations required to determine the initial solution Simplex algorithm and the total number of variables is equal to for the NFB algorithm, for the Algorithm is equal to , and for the method is . For the NFB algorithm we get a higher value compared to the result from [11], as consequence of the larger size and the computational effort to solve the tested problems. Algorithm shows a slightly better efficiency, while produces significantly smaller quotient.

In Table 3 we give comparative results of the total number of iterations required to solve the same test problems.

From Table 3 it is apparent that is the best algorithm. It is interesting to note that the algorithm requires less total number of iterations compared to the NFB, although the Simplex algorithm after applying Algorithm requires more iterations. Hence the choice of algorithm for determining the starting point is very important for the overall efficiency of the software for solving the LP problems.

From Tables 2 and 3 it follows that the total number of iterations spent in the Simplex algorithm to generate the optimal solution is equal to **15409,16400,14170** for the NFB, , and methods, respectively. Therefore, it is clear that the total number of iterations required for the initial basic feasible solution is greater than the number of iterations required by the Simplex algorithm to find the optimal solution. This fact is very important, especially if we observe from Table 2 that about 25% of the considered problems are suitable for determining the starting point in one step. Taking into account the results of the paper [11] from which it follows that the number of iterations of the classical *two-phase* method for determining the starting point is significantly higher than the number of iterations of algorithms that do not introduce artificial variables, the fact becomes more important. This means that finding the starting point represents a very important part in solving LP problems.

The better performances of the method primarily (and particularly the method), compared to the NFB method, can also be confirmed by using the so-called performance profile, introduced in [18]. The underlying metric is defined by the number of iterative steps. Following the notations given in the paper [18] we have that the number of solvers is (the NFB, , and ) and the number of numerical experiments is . For the performance metrics we use the number of iterative steps. By we denote the number of iterations required to solve problem by the solver . The quantity is called the performance ratio. Finally, the performance of the solver is defined by the following cumulative distribution function where and represents the set of problems. Figure 1 shows the performance profiles for NFB, , and regarding the number of iterations. Figure 1(a) (resp., Figure 1(b)) illustrates data arranged in Table 2 (resp., Table 3).

It is clear from Figure 1(a), that and methods show better performances compared to NFB. Comparison of and algorithms gives somewhat contradictory results. Namely, the probability of being the optimal solver regarding the number of iterative steps required for generating the starting point is in favor of the algorithm, which is confirmed by . On the other hand, the probability of Algorithm is greater than the probability for all values . On the other hand, is always satisfied.

From Figure 1(b), it is evident that the inequality is always satisfied, which means that Algorithm has the highest probability of being the optimal solver with respect to the total number of iterations required to solve the problem.

In sequel, the total CPU time is the comparison criteria. The required CPU time for NFB, and methods is given in Table 4. The time ratio and the number of iteration ratio, of Algorithms and with respect to the NFB algorithm are also given in Table 4.

The situation in this case is not quite clear. Namely, comparing the time ratio with respect to the number of iterations ratio given in columns labeled and , we conclude the number of required iterations of and algorithms for problems *czprob, share1b, ship04l*, and *ship08l* is smaller then the number of iterations of NFB algorithm but this is not in accordance with required CPU time ratio. This is the consequence of the greatest number of conditions that must be checked in the and algorithms with respect to the NFB algorithm. The difficulties of that type may occur especially when the LP problem has dense matrix. Note that for all others test problems accordance of the number of iterations ratio with respect to the required CPU time ratio does exist.

Figure 2 shows the performance profiles for NFB, , regarding the required CPU time.

It is clear from Figure 2 that the probability of being the optimal solver regarding the CPU time required is in favor of the algorithm, which is confirmed by the inequalities . On the other hand, further comparison when increases gives contradictory results. Unfortunately, algorithm is not the best solver for all value . In the case it follows that algorithm is the best option except for when NFB algorithm takes advantage. Further, for we have , which means that the considered solvers are equivalent. Finally, for values Algorithm is the best again.

#### 4. Conclusion

The importance of selecting the starting point is known problem from the linear programming theory. In this paper, we investigated that problem in terms of the number of iterations required to find the initial point and the optimal point as well as in the terms of the required CPU time.

We observed that our Algorithm achieved the lowest total number of iterations for finding the starting point for the Simplex method as well as the minimal total number of iterations for determining the optimal point. On the other hand, Algorithm has the highest probability to achieve the minimal number of iterations to find the initial basic feasible solution. Algorithm has the highest probability of being the optimal solver with respect to the total number of iterations required to solve the problem.

Comparison with respect to the required CPU time gives that the probability of being the optimal solver is in favor of the algorithm for and for . It is clear that CPU time generally depends on the number of iterations, but it is obvious that there are some others important factors. Further research will be in that direction.

#### Acknowledgments

The authors would like to thank the anonymous referees for useful suggestions. P. S. Stanimirović, N. V. Stojković, and M. D. Petković gratefully acknowledge support from the Research Project 174013 Serbion Ministry of Education and Science.

#### References

- P. S. Stanimirović, N. V. Stojković, and V. V. Kovačević-Vujčić, “Stabilization of Mehrotra's primal-dual algorithm and its implementation,”
*European Journal of Operational Research*, vol. 165, no. 3, pp. 598–609, 2005. View at Publisher · View at Google Scholar · View at Zentralblatt MATH - N. V. Stojković and P. S. Stanimirovic, “Initial point in primal-dual interior point method,”
*Facta Universitatis, Series Mechanical Engineering*, vol. 3, pp. 219–222, 2001. View at Google Scholar · View at Zentralblatt MATH - N. V. Stojković and P. S. Stanimirović, “Two direct methods in linear programming,”
*European Journal of Operational Research*, vol. 131, no. 2, pp. 417–439, 2001. View at Publisher · View at Google Scholar · View at Zentralblatt MATH - H. W. Corley, J. Rosenberger, W. C. Yeh, and T. K. Sung, “The cosine simplex algorithm,”
*International Journal of Advanced Manufacturing Technology*, vol. 27, no. 9-10, pp. 1047–1050, 2006. View at Publisher · View at Google Scholar · View at Scopus - P. Q. Pan, “The most-obtuse-angle row pivot rule for achieving dual feasibility: a computational study,”
*European Journal of Operational Research*, vol. 101, no. 1, pp. 164–176, 1997. View at Publisher · View at Google Scholar · View at Zentralblatt MATH · View at Scopus - W.-C. Yeh and H. W. Corley, “A simple direct cosine simplex algorithm,”
*Applied Mathematics and Computation*, vol. 214, no. 1, pp. 178–186, 2009. View at Publisher · View at Google Scholar · View at Zentralblatt MATH - H. Arsham, “A big-$M$ free solution algorithm for general linear programs,”
*International Journal of Pure and Applied Mathematics*, vol. 32, no. 4, pp. 37–52, 2006. View at Google Scholar - H. Jian-Feng, “A note on ‘an improved initial basis for the simplex algorithm’,”
*Computers & Operations Research*, vol. 34, no. 11, pp. 3397–3401, 2007. View at Publisher · View at Google Scholar · View at Zentralblatt MATH - H. V. Junior and M. P. E. Lins, “An improved initial basis for the Simplex algorithm,”
*Computers & Operations Research*, vol. 32, no. 8, pp. 1983–1993, 2005. View at Publisher · View at Google Scholar - N. Khan, S. Inayatullah, M. Imtiaz, and F. H. Khan, “New artificial-free phase 1 simplex method,”
*International Journal of Basic and Applied Sciences*, vol. 9, no. 10, pp. 97–114, 2009. View at Google Scholar - H. Nabli, “An overview on the simplex algorithm,”
*Applied Mathematics and Computation*, vol. 210, no. 2, pp. 479–489, 2009. View at Publisher · View at Google Scholar · View at Zentralblatt MATH - J. K. Strayer,
*Linear Programming and Its Applications*, Springer, 1989. View at Publisher · View at Google Scholar - N. V. Stojković, P. S. Stanimirović, and M. D. Petković, “Modification and implementation of two-phase simplex method,”
*International Journal of Computer Mathematics*, vol. 86, no. 7, pp. 1231–1242, 2009. View at Publisher · View at Google Scholar · View at Zentralblatt MATH - E. D. Nering and A. W. Tucker,
*Linear Programs and Related Problems*, Academic Press, New York, NY, USA, 1993. - R. G. Bland, “New finite pivoting rules for the simplex method,”
*Mathematics of Operations Research*, vol. 2, no. 2, pp. 103–107, 1977. View at Publisher · View at Google Scholar · View at Zentralblatt MATH - J. P. Ignizio,
*Linear Programming in Single-Multiple-Objective Systems*, Prentice Hall, Englewood Cliffs, NJ, USA, 1982. - R. J. Vanderbei,
*Linear Programming: Foundations and Extensions*, Department of Operations Research and Financial Engineering, Princeton University, Princeton, NJ, USA, 2001. - E. D. Dolan and J. J. Moré, “Benchmarking optimization software with performance profiles,”
*Mathematical Programming*, vol. 91, no. 2, pp. 201–213, 2002. View at Publisher · View at Google Scholar · View at Zentralblatt MATH