A new algorithm for solving linear programming problems

Linear programming (LP) is one of the most widely-applied techniques in operations research. Many methods have been developed and several others are being proposed for solving LP problems, including the famous simplex method and interior point algorithms. This study was aimed at introducing a new method for solving LP problems. The proposed algorithm starts from an interior point and then carries out orthogonal projections using parametric straight lines to move between the interior and polyhedron frontier defining the feasible region until reaching the extreme optimal point.


Introduction 1 2
Linear programming (LP) dates from 1939 when Leonid Kantarovich first expressed a problem in economics in linear form (Bazaraa et al., 1998).However, LP as an area of study has been attributed to George Dantzig who also developed the simplex method in 1947 (Cottle, 2006).LP has been widely studied in engineering programmes, management, mathematics and other fields due to its applicability.
Since its publication, the simplex method (and its variants) was the main tool for solving linear problems until 1980 when Khachiyan proposed an ellipsoidal algorithm (Khachiyan, 1982).Although its practical implementation was not very efficient, nevertheless it served as the basis for designing Karmarkar's interior point algorithm (IPA), which is computationally efficient for solving large-sized problems (Karmarkar, 1984) and computationally less complex than the simplex method (Powell, 1993); many additional contributions have been made since then, for example, a primal-dual simplex algorithm (Norman and Curet, 1993) which uses less basis than the original simplex primal-dual, another solves the primal-dual starting from an infeasible interior point (Mizuno, 1994), a projective simplex algorithm using LU decomposition (Pan, 2000), an extension of Karmarkar's IPA having higher convergence speed (Naseri and Valinejad, 2007) and an adaptive primal-dual IPA (Kim, Lee and Cho, 2009).More recently, a proposed IPA based on a new search direction (Zhang and Xu, 2011) and another method based on a new barrier function (Cho, 2011) have been developed.
Considering the large number of areas where LP can be applied and the importance of having efficient algorithms for solving LP problems, any contribution made to LP is very relevant.Consequently, a new method for solving LP problems is presented in this paper.

Formulating the problem
An LP problem's general structure is well-known: z= dj being the coefficients of the objective function, xj decision variables, aij the coefficient of the j -th variable in the i -th constraint and bi the right side of the i -th constraint.
An LP problem can also be written in a compact form as follows: (1) where d denotes the objective function coefficients' vector, A the matrix of constraint coefficients, x a variable vector, b the vector of variables and 0 a vector made up only of zeros.
A maximisation problem will be used from now on as the basis; non-negative constraints have not included since the algorithm did not require them (if required they could have been added as additional constraints).If fj were to represent the j -th row of matrix A in (1), the LP problem could have been rewritten as: and hyperplane fjx = bj would have been symbolised as j 

Describing the proposed algorithm
The proposed algorithm had two components: an initialisation stage (non-iterative) and the main cycle (iterative).

Initialisation stage
n-1 orthogonal vectors to objective function gradient ( z = d ) were defined.n-1 parametric straight lines from any interior point were also defined during this stage (see Winston, 2005, pp 597-604, explaining how to obtain an interior point with Karmarkar's algorithm).The 2(n-1) intersections of these straight lines were found with faces of a polyhedron defined by the problem's feasible region.The respective centroid C0 was calculated, from which gradient d was projected.This projection's intersection with one of the faces of the polyhedron ended the algorithm's initialisation.The steps involved in this stage were.

PO
were defined.
(2) 4. n-1 parametric straight lines' intersection with hyperplanes 1 j m was found.For each ith straight line there were no more than m intersections with hyperplanes j  , defined by the vector of parameters t .This was calculated by substituting values of xi according to (2) in each hyperplane equation: a y O t a y O t b from where the value of t for straight line i intersection with hyperplane  j could be cleared: The least positive value of t and the least absolute value for the negative values of t were selected for the ith straight line: (3)

Points of intersection
and were calculated using the values of t in (3) for each straight line with the face of the polyhedron.Total 2(n-1) points were 7. These points' centroid was: and intersections with m hyperplanes were found .Substituting the values of obtained from (4) in the respective hyperplane equations, led to: t was defined.The non-existence of at least one positive value of t indicated that the problem was not bounded, thereby finishing the algorithm and reporting this condition.9. Point F1 coordinates were calculated on the kth face of the polyhedron:

Main cycle (iterative)
n-1 orthogonal vectors to objective function gradient ( ) were defined.n-1 parametric straight lines from any interior point were also defined during this stage Once an algorithm has been initialised, iterative calculations must be made to find an optimal solution.Orthogonal projections were performed from F1, and both its intersections on the faces of the polyhedron and the centroid of these intersections were obtained.From the centroid, the gradient of the objective function was projected and the intersection on one of the faces of the polyhedron was calculated.Repeating this procedure led to coming close to an optimal solution for the required level of precision.The steps in the iterative cycle were: 1. Finding n-1 orthogonal vectors Ο ,Ο ,...,Ο ,...,Ο to d so that: Of or zero where k was the index of the face on which the last projection was done.
Comparing the coordinates for Fi+1 with Fi.This was finished if the established precision criterion was satisfied, otherwise one had to return to step 1 and perform another iteration.

Application example
A problem in R 2 is presented to illustrate each step in the algorithm and graphically visualise it.
The following problem was considered: xx Figure 1 shows the feasible region, the objective function gradient and the optimal solution (x1 = 12 x2 = 6).


n-1 parametric straight lines were defined.The equation for the straight line was: , this was Values of t were chosen as follows: 13 75 min min , ,1 1 77


The coordinates of the intersections with the hyperplanes of the polyhedron were: The centroid was calculated as: ; its location is shown in Figure 2.
As seen in Figure 3, point F1 was located on one of the faces of polyhedron and it came close to the optimal point; the main cycle (iterative) then began.
, thus the second condition was satisfied.

FO
ii t  with each hyperplane was found (excluding the plane  2 ).


The t values indicated that the intersections of straight line

FO
where:  The Euclidean distance of points F1 and F2 to the optimal solution were 0.3063 and 0.2797, respectively.This iterative procedure was repeated until the established precision criterion became satisfied.

Conclusions and future research
A new algorithm for solving linear programming problems which does not require slack or excess variables, inverting matrices and the non-negativity of the variables has been presented.The algorithm's complexity and comparison with other methods are important topics for future research currently being investigated by the authors, as well as variations in the algorithm, such as transformation of variables and alternative ways of projection to increase convergence speed.

F
) Cd INGENIERÍA E INVESTIGACIÓN VOL.32 No. 2, AUGUST 2012 (68-73) 70 2. Finding the intersections of each straight line  , il t t R FOwith every m hyperplane (note that plane k minimum positive value of t for each straight line: each straight line's (each minimum value of t) points of intersection with the faces of the polyhedron using: the solution was unbounded, this condition was not necessarily detectable in the initialisation stage.This condition was still indicated by the non-existence of at least one positive value of t, in which case the algorithm had terminated.8.Calculating the coordinates for pointi on the k-th face of the polyhedron:

Figure
Figure 1.Polyhedron, gradient and optimal point Initialisation  Interior point (1 1) was used as 0 P so that  0 P Ax b

Figure 3 .
Figure 3. Gradient projection Main cycle A problem in R 2 is presented to illustrate each step in the algorithm and graphically visualise Point F1 was located on face 