A Streamlined Artificial Variable Free Version of Simplex Method

This paper proposes a streamlined form of simplex method which provides some great benefits over traditional simplex method. For instance, it does not need any kind of artificial variables or artificial constraints; it could start with any feasible or infeasible basis of an LP. This method follows the same pivoting sequence as of simplex phase 1 without showing any explicit description of artificial variables which also makes it space efficient. Later in this paper, a dual version of the new method has also been presented which provides a way to easily implement the phase 1 of traditional dual simplex method. For a problem having an initial basis which is both primal and dual infeasible, our methods provide full freedom to the user, that whether to start with primal artificial free version or dual artificial free version without making any reformulation to the LP structure. Last but not the least, it provides a teaching aid for the teachers who want to teach feasibility achievement as a separate topic before teaching optimality achievement.


Introduction
Linear programming has been an indispensable area in the progress of the computational sciences [1]. Since 1947, after World War II, linear programming gradually arose and with the passage of time has become popular among the people of various fields. It is by far the most widely used optimization model. Its impact on economic and government modeling is incredible. Today it has become the center of attention of many Mathematicians, Economists and Decision Scientists etc. Linear programming is the optimization of an outcome based on some set of linear constraints using a linear mathematical model. The origin of developing algorithms to solve a given system of linear inequalities goes back to the 19 th century, where they were first studied by Fourier [2]. Later, several mathematicians such as Dines and Motzkin rediscovered these algorithms [3] [4].
During the course of Second World War, Dantzig formulated the largest coefficient simplex method for solving a given linear program which he presented in a conference in 1951 [5]. Later, it was also published in his famous book "Linear programming and extensions" [6]. Since then, it has become the preferred method of LP practitioners because of its efficiency [7]. Hence, it is now the most useful tool to teach and solve practical linear programming problems.
Considering its vast applicability in various fields, teaching LPs have become an important part of undergraduate and graduate courses. Because of this, many researchers are now focused in designing algorithms which are more efficient and easily implementable for classroom teaching.
Originally the simplex method developed by Dantzig was confined only to LPs having a known feasible solution, commonly referred as the initial basic feasible solution. For the LPs having no initial basic feasible solution, almost all the current variants of simplex method are applicable in two phases [8] [9], called phase 1 and phase 2. In phase 1, we create a basic feasible solution by adding some (non-negative) artificial variables to the problem with an additional objective (auxiliary objective), equal to minimization of sum of all the artificial variables, called phase 1 objective. The purpose of phase 1 process is to maintain feasibility and minimize the sum of artificial variables (or in a simpler sense minimize the sum of infeasibilities) as much as possible. If phase 1 ends with an objective value equal to zero, it implies that all artificial variables have attained a value zero (means all infeasibilities have been removed) and our current basis is feasible to the original problem, then we return to the original objective and proceed with simplex phase 2. Otherwise, we conclude that the problem has no solution.
For larger LPs, implementation of traditional two phase simplex method significantly increases the number of variables, number of iterations and thus the complexity as well. From the point of view of class room teaching, it often becomes a tedious job.
Since simplex method is so far still practically the best known pivot algorithm for solving LPs [10], therefore this has arose the need of developing more general linear program solving methods in which one may start from an arbitrary initial basic solution (not necessarily a feasible one).
Arsham [11] [12][13] [27] presented an artificial-free algorithm named push and pull algorithm which initiates with an incomplete basic variable set (BVS). As the algorithm proceeds the variables are brought in to the basis. The Push Phase continues until the basic variable set is complete. This phase may terminate yielding an infeasible BVS. The problem then proceeds by starting the Pull Phase, which pulls the solution back to feasibility by incorporating pivot rules similar to the dual simplex method. Arsham has claimed that the push and pull algorithm is artificialfree, however, his claim would be correct if we are only concerned with artificial variables, but actually his method requires adding artificial constraints so it is not truly an artificial free method.
Papparrizos [14] presented another artificial variable free method but his method also uses additional artificial constraint with a big-M number. The method also requires a tedious evaluation of series of additional objective functions besides the original objective function. Moreover at each iteration this algorithm must check both primal and dual feasibility [12].
Arsham [15] [16] proposed another algorithm for general LP models in which he claimed that his algorithm will either provide a feasible solution or will declare infeasibility after a finite number of iterations. Enge and Huhn [17] presented a counter example in which Arsham's algorithm is declaring a feasible problem inconsistent. Here we are presenting another consistent problem which Arsham's method declares inconsistent.
Some other artificial free algorithms were presented [18][19] [20][21] [22], but all these methods are based on minimum angle approaches which differ from the simplex method.
Hence, in all Dantzig's simplex method is better than its successor variants in terms of efficiency and as an elementary text book material as well. But from a teacher's point of view difficulty in simplex method is that one could not learn simplex method for feasibility (simplex phase 1), before learning simplex method for optimality (simplex phase 2). So, usually students learn "phase 2" before "phase 1", of course it sounds odd for both teachers and students.
Here in this paper, instead of developing a new method for general linear programs we are going to present a better version of simplex method which would not only hide the unnecessary elements of simplex table but also save many computations.
Furthermore Dual version of the simplex method is the most effective and efficient way to achieve the optimality of dual feasible problem [23]. So in this paper we have also presented a dual version of our method which is indeed an artificial constraint free version of the dual simplex method.

Advantages of the New Approach
There are several advantages of the new method. For instance, it could start with any feasible or infeasible basis of an LP. In fact it could also be very useful for solving integer programming problems. This method deals with the artificial variables in an implicit manner therefore, as long as a variable is infeasible its corresponding slack variable would be invisible but implicitly after leaving the basis it would be replaced by the corresponding invisible slack variable. In this method the artificial variables are virtually present but their presence is not revealed to the user in the form of extra columns in the simplex table. This method follows the same pivoting sequence as of simplex phase 1 without showing any explicit description of artificial variables which also makes it space efficient. Due to this reason we have named our method 'A streamlined artificial variable free version of simplex method'. Last but not the least, it is a fruitful tool for the teachers who want to teach feasibility achievement as a separate topic before teaching optimality achievement, because working rule of this method can easily be demonstrated to the students having either a little or even no prior knowledge of simplex method for optimality (phase 2). So this method would change the learning sequence by excluding the need to teach phase 2 before phase 1.
Moreover as mentioned above dual simplex method is very efficient and effective for solving a dual problem but in case of a dual infeasible problem dual simplex method requires addition of artificial constraints which makes things difficult and cumbersome in practice [24]. In contrast the dual version of our method does not require artificial constraints. This makes our methods more efficient and effective not only for attaining feasibility but also for attaining optimality. Our streamlined versions of simplex and dual simplex methods provide a way to easily implement the phase 1 of either simplex or dual simplex method. For a problem having an initial basis which is both primal and dual infeasible, our primal and dual versions provide full freedom to the user that is they can directly initiate with either the streamlined primal simplex or streamlined dual simplex method without making any reformulation to the LP structure.
For a given basis B such that A B is invertible, and non-basis N := {1,Á Á Á,n}\B we get By setting Such vector x is called basic solution of system (2) or system (1) for basis B. Now by substituting the value of x B from equation (2), the objective of system (1) can be reformulated as The problem data could be arranged in the following table, denoted by D(B), known as short simplex table [25] c The dual of system (3) could also be written in the following form, Here dual basic variables are y N and non-basic variables are y B . For a given basis B, the problem data could be read from the short table as The current primal/dual objective value is: or one may conclude that the primal problem has a feasible solution x(B) while if y N ! 0 then B is called dual feasible or one may conclude that the dual problem has a feasible solution y(B). Also if B is both primal and dual feasible then B is optimal. Usually d B0 is referred as certificate column of primal feasibility; and d 0N is referred as certificate row of dual feasibility, see Fig. 1.
A basis B is called primal infeasible if there exists i 2 B such that d i0 < 0 and dual infeasible if there exists j 2 N such that d 0j < 0.
A short table could also be used to reveal inconsistency and unboundedness of an LP. A problem is said to be inconsistent if there exists a basis B, having a member k, to the problem such that d k0 < 0 and d kN ! 0, see Fig. 2. A problem is said to be dual inconsistent if there exists a non-basis N having a member l such that d 0l < 0 and d Bl 0, see Fig. 3.
Primal unboundedness could be deduced if a basis is primal feasible but reveals dual inconsistency; and dual problem is unbounded if a basis is dual feasible but reveals primal inconsistency.

Pivot operation
To move through different bases of an LP one may need to apply pivot operations. A single pivot operation may be used to obtain short table of an adjacent basic solution. For The above replacement is known as a pivot operation on (r, k  Deduction of art-free auxiliary form of an LP The term auxiliary form is commonly used in the context of simplex method as a special purpose linear program constructed by incorporating a sufficient number of artificial variables into the system in order to develop a pseudo feasible basis, and then appending an objective function of minimizing sum of all artificial variables to reach a feasible basis to the original system. Here in this section we would develop a variant of the auxiliary form of the LP, namely "the art-free form". Consider the following system of inequalities By adding the slack vector, x S we can get an equivalent equality form of the above system.
where x O are remaining variables other than that of slack variables. Here we are allowing negative variables to reside into the basis. So, in this regard we can take B := S and N := O.
Here B may not constitute a feasible basis (because of some negative values in b).
We can decompose x B into difference of two non-negative variables x þ B and x À B . Here the value of x À B is showing infeasibility of the current basis B (Note: x þ B and x À B work just like slack and artificial variables in usual simplex method). According to the logic of simplex method, to reach a feasible basis our aim should be to make x À B equal to zero keeping feasibility of all other variables preserved.
Clearly, feasible solution set of system (8) becomes also feasible to system (7) x þ pþi be the corresponding basic variable and if b i < 0; x À pþi be the corresponding basic variable".
Let the initial basic variable set developed by above paradigm be would increase the extent of infeasibility if they become basic variable, so to restrict their entrance into the basis we should eliminate them from the system (8). Now, if x À L is also empty then the basis B is feasible to system (7) and hence feasible to system (5), otherwise to obtain a feasible basis we would imbed an additional objective function (we may also call it as infeasibility objective function), Minimize Here the non-negativity x À L ! 0 along with the new objective reinforces x À L to zero. From system (8) one may obtain Note: Throughout this paper, we are overloading the addition '+' and negative '-' operations for affine translations to a set O of real numbers by a number a as O + a := {x+a}: By using the paradigm (described above in this section), we may construct the following augmented matrix showing basic variable corresponding to each row. Here top row (w-row) represents infeasibility objective function.
Constructing a short table of the above matrix, where, b L−p < 0 and b L'-p ! 0. The procedure to find the entering basic variable is similar to phase 1 simplex method i.e. we may identify the entering basic variable by seeking most negative element in w-row (excluding first element, which is actually equal to sum of all infeasibilities). After determining the entering basic variable leaving variable is determined by taking the minimum-ratio test. But the criterion for minimum ratio test would be consequently different for the rows of positive basic variables x þ L 0 and negative basic variables Àx À L .

New form of Minimum ratio test
Here ratio test scheme is different for positive 'x þ L 0 ' and negative 'Àx À L ' variables. Ratios corresponding to variables in x þ L 0 are obtainable by dividing b L'-p by its corresponding element in the pivot column (only if corresponding element in pivot column is positive) whereas; ratios corresponding to variables in Àx À L are obtainable by dividing b L−p by its corresponding element in the pivot column (only if corresponding element in pivot column is negative). The element in the pivot column corresponding to the minimum ratio would be the pivot element. Hence the leaving basic variable would be the variable corresponding to that pivot element.
If the leaving basic variable, say x À i ,belongs to x À L then set L := L\{i} for the next pivoting table and perform the pivot operation. Now in the new pivoting table proceed with the same procedure of entering and leaving basic variable until L becomes empty.

Reduced short table
The short table size can be more reduced by considering the fact that column of x þ L is conjugate of the hidden basic column of Àx À L except the coefficient of x þ L in infeasibility objective is '1' rather than '0'.
One can observe for i 2 L, after the pivot operation, columns of Àx À i and x þ i are identical with the exception that the infeasibility objective coefficient of x þ i is greater than infeasibility objective coefficient of Àx À i by '1', that is w i := w i + 1. So, we can also hide the column of x þ L keeping in mind that for every leaving basic variable x À i 2 x À L after the pivot operation we must replace the newly obtained non-basic column of Àx À i by  Note: Recall that • Step 2: Denote the basic variables x L by Àx À L and compute infeasibility objective vector wðBÞ 2 < N such that w j = S i2L d ij , j 2 N. Place w to the top of the reduced short table D(B).
• Step 4: Choose k 2 K such that w k w h , 8h 2 K (Ties are broken arbitrarily) • Step 5: Choose r 1 2 L and r 2 2 B \L such that Otherwise, go to Step 3.

Proof of Correctness.
As stated earlier, the objective of the simplex phase 1 is, to minimize the sum of all artificial variables. In an analogous sense, as shown in the last section the infeasibility objective w is to Minimize X pþi2L x À pþi . Just like simplex method, our method's ratio test, by taking minimum of all ratios, preserves the feasibility of existing feasible variables. Hence in the streamlined art-free simplex method the number of negative basic variables Àx À L is steadily decreasing. The overall structure of pivoting, forces X pþi2L b i to be strictly increasing for non-degenerate pivots throughout the iterations and constant for degenerate pivots. So, finiteness of total number of bases in every LP problem proves finiteness of our method for complete nondegenerate LP problems.
Example 1. Obtain a feasible basis of the following system of inequalities using ASM.
For more illustration purpose see Fig. 4 for an iteration by iteration comparison between Art-free simplex (ASM) and simplex method (SM) phase 1 of the above example. Remark: The number of iterations and the pivoting sequence of art-free simplex and simplex phase 1 are same, but it could be easily seen that number of computations are noticeably reduced. For more details, see the computational results section.  Example 2. Show that the following system of inequalities is inconsistent by using Art-free simplex method and usual simplex method.  The above table shows that the algorithm terminated unsuccessfully. Hence the problem is primal inconsistent. See Fig. 5 for comparison with simplex method.

Dual Version of Art-Free Simplex Method
The symmetric relationship between primal dual linear programs always enables one to construct a dual version of every method developed for solving the primal problem. The most popular example of such beautiful characteristic is the dual simplex method. Dual simplex method is known for its application in sensitivity analysis, integer programming, branch-and-bound/  cut/price algorithms. But unfortunately phase 1 of dual simplex has not much participated in to the practice of solving dual LPs [24].
In phase 1 of dual simplex, to obtain a dual feasible basis of a given LP problem an additional dual slack variable is introduced which is then assigned an adequately large cost coefficient M in the dual objective function. This is analogous to adding a constraint to the primal problem. The method also requires the addition of artificial variables to transform the LP into the standard form. However this approach becomes tedious as the size of the problem is considerably increased. Another reason for not using this approach in practice is that it depends on the value of M, a high value might result in numerical problems whereas a value too small might fail to produce a primal feasible solution [24].
In this section we are going to develop dual version of the Art-free simplex method, in fact development of this pivot algorithm is a trivial task. Without going into the geometric or algebraic complications we may construct a dual version of the method by keeping in mind that the aim is to solve the dual feasibility problem through primal short table. Consider the following LP problem, By adding non-negative slack variables x 4 , x 5 , x 6 and x 7 , the associated short table of the above problem can be constructed as shown below. Here, the dual variables y 1 , y 2 , y 3 , y 4 , y 5, y 6 and y 7 have been demonstrated explicitly as it is required to observe dual variables too.
x 5 x 6 Here y is the dual objective variable. Objective coefficients (z-coefficients) of primal nonbasic variables are the values of dual basic variables, and values of primal basic variables are coefficients of dual non-basic variables in dual objective.
That is, primal and dual solutions associated with above short table are, With mutual objective values z = − y = 0 Clearly, current primal and dual both basic solution are infeasible.
As demonstrated earlier in this manuscript to achieve optimality one may either have to achieve primal feasibility and then go for optimality through primal simplex method, or on the other hand one may have to achieve dual feasibility and then go for optimality through dual simplex method. If we measure the degree of infeasibility through the number of infeasible variables, one can see that the above problem is more primal infeasible than dual infeasible. So, from a general perspective the primal feasibility achievement problem might be a difficult task in comparing to dual feasibility achievement problem. For system (10), to attain dual feasibility we may either consider solving it by using art-free simplex method on its reduced dual short table see Fig. 6 or using dual art-free simplex on its reduced primal short table see Fig. 7.

Problem 2
Given a short table D(B), obtain dual feasibility.
Algorithm: Dual Art-free Simplex Method (DASM)  • Step 2: Denote the basic variables y K by Ày À K and compute dual infeasibility objective vector w 0 ðBÞ 2 < B such that w 0 i ¼ X j2K d ij ; i 2 B. Append w' to the right of the dictionary D(B).
• Step 3: Let L B such that L ¼ fi : w 0 i < 0; i 2 Bg. If L = φ then D(B) is dual inconsistent. Exit.
• Step 4: Choose r 2 L such that w 0 r w 0 l 8l 2 L (Ties are broken arbitrarily) • Step 5: Choose k 1 2 K and k 2 2 N\K such that • Step 7: If k 2 K, K := K\{k} and w 0 k :¼ w 0 k þ 1, replace notation of Ày À k by y k • Step 8: Otherwise, go to Step 3.

Example 3
Obtain a complementary dual feasible basis for the associated LP of the following short table by using Dual Art-free simplex method. Here K = {1,3}, replace y K ! Ày À

Example 4
Show that the following problem is dual inconsistent by using dual art-free simplex method. Maximize By adding non-negative slack variables x 4 , x 5 , x 6 , x 7 and x 8 we can construct the associated dictionary along with column vector w' (negative sum of columns of infeasible dual basic variables) of the above problem.
x 5 x 6 x 7 The algorithm has terminated unsuccessfully. Here, the last table shows that the problem is dual inconsistent.

Applications
Since the proposed method ASM is an efficient alternative to the simplex method phase 1 and dual simplex method so it can effectively be incorporated in the solution process of linear programming problems, integer programming problems, sensitivity analysis, parametric programming etc. It can become an essential tool which can directly be employed by researchers in solving various problems of diverse fields like biological sciences and engineering for example: biological sciences [29] [31], medical sciences [28] [30], biochemical sciences [32], mechanical engineering [33] etc.

Computational Results
In this section, tables 1 and 2 present a comparison of the computational results of our algorithm with the simplex method. Using random models suggested by Kaluzny [26] we generated 250 consistent linear programs and 250 inconsistent linear programs with the coefficients c j , b i and a ij chosen randomly from the integer interval [−50,50]. The results of both consistent and Artificial-Free Simplex Method inconsistent problems exhibit that our algorithm (ASM) and the simplex method (SM) both take same number of iterations. For further testing on practical problems, we executed both the algorithms on NETLIB problems [34] which again revealed that for each problem number of iterations taken by both algorithms are exactly the same. The results have been summarized in table 3.
The above comparisons in between ASM and SM strengthen that ASM and SM always follow exactly same number of iterations. The following tables show a comparison of computational efficiency of both the methods: Figs. 8 and 9 depict the comparison of SM and ASM by the average number of multiplication and addition operations needed to solve LP problems of different sizes. The tables illustrate that (either we consider multiplications or additions) ASM always need less number of operation computations as compared to SM. This difference becomes quite noticeable especially for the problems that have greater number of constraints as compared to the number of variables. So, it is empirically observed that ASM is much advantageous when "number of constraints minus number of variables" is a large number. This observation could be verified by the graph as depicted in Fig. 10, as the value of m − n increases the percentage of saved computations in ASM also increases. For example for a 200 × 300 order problem the average saving in computations is just about 5% but in contrast to a 300 × 200 order problem it reaches a  remarkable level of 40%. This fact can also be seen in the problems of order 5 × 10, 10 × 5, 50 × 100 and 100 × 70. For the problems having m % n, the savings in number of computations is not much high. Basic theory of duality asserts that in contrast to ASM, the dual art-free simplex method (DASM) would be more efficient computationally when n − m is large.

Conclusion
In this paper streamlined artificial free versions of simplex and dual simplex method have been presented. These new versions do not need any kind of artificial variables or artificial constraints; they could start with any feasible or infeasible basis of an LP, providing full freedom to the user that whether to start with primal artificial free version or dual artificial free version without making any abrupt changes to the LP structure. These methods follow the same pivoting sequence as of simplex phase 1 without showing any explicit description of artificial variables or artificial constraints. Computational results showed that ASM is more efficient when m − n is large and DASM is more efficient when n − m is large. Hence these methods also provide great benefits in class room teaching by eliminating the relatively difficult and tedious calculations of artificial variables and constraints. It is also a teaching aid for the teachers who want to teach feasibility achievement as a separate topic before teaching optimality achievement. It is very helpful tool in integer programming and sensitivity analysis, because it provides a way to avoid dual simplex method.