A Novel Algorithm for Linear Programming

1 downloads 0 Views 3MB Size Report
The method has the advantage that an LP problem of n dimensions .... Area A of a spherical cap of height h and radius r in n-dimension space, a = r sin α; ...
A Novel Algorithm for Linear Programming Dr. Kumar Eswaran, Member IEEE Professor of Computer Science, Sree Nidhi Institute of Science and Technology, (JNTU), Yamnampet, Ghatkesar Hyderabad 501301 India

Abstract/Summary • In this paper we present a novel algorithm for the solution of the Linear Programming Problem • The method exploits the Convexity properties that the feasible space of a well defined LP program possesses.

Brief History • The First contributors who dealt with the LP problem were: • Kanrovich[1] and Dantzig[2] who developed the Simplex method, which is basically a search method which moves from one vertex to another on the surface of the polytope which contains the feasible space.

Brief History (2) • An important contribution was made by Kachiyan who showed that the LP problem could be solved in polynomial time. • Karmarkar then developed a fundamentally different algorithm using an interior point search algorithm [4]. • Another method akin to the steepest gradient method, called the gravitational method, was developed by Chang and Murty [5].

Brief History (3) • Inspite of several developments [6,7], the LP problem has not, till date, met with a satisfactory solution and the Steven Smale, (the Field’s medalist), has included it as one of his 18 unsolved problems, for the researchers to tackle in the 21st century.

This Paper (about) • In this paper we present an alternative approach to the solution of the LP problem. • The method has the advantage that an LP problem of n dimensions (excluding “slack” variables) involving an objective function of n variables, is reduced to another LP problem in n-1 dimensions and so on recursively. • This stage by stage dimensional reduction is made possible because we make use of the fact that the feasible space of the problem is a convex space.

Def. of LP Problem • Consider an LP problem as a task to maximize the objective function of n variables and m linear constraints

Problem (cont’d) • In the following we assume that the problem has a solution and an optimum vertex exists • For convenience, we assume that the normals to all the planes are drawn outward (away from the feasible region). The normal nk to the plane represented by the kth row in matrix A, will be represented by the vector: nk = {ak1 , ak2 , ak3 , ……….., akn } , suitably normalized to unity. • The unit vector in the objective function direction is: nd = {d1 , d2 , d3 , ……….., dn }

Def.: “Flattest Plane” • Among all the m constraint planes that constitute the polytope containing the feasible region, we define the “Flattest plane” as that plane whose normal makes the least angle with the objective function direction. • If k is the flattest plane then: nk . nd >= nj . nd for all planes j = 1,2,…..m

On Convexity and the “flattest plane” • We now make a crucial observation: If an optimum vertex exists then it must lie on the flattest plane. The above statement is a consequence of the convexity of the feasible space, see figures in the next two slides. (A proof of the n-dimensional case is given in Section V of the paper).

N-dim case • If there are two planes A and B such that A is the flattest and B is steeper and if we assume that it is B that contains the optimum vertex (and not A), then one is lead to a non convex space (a contradiction). We can rotate the coordinates such that eqs. for A and B are:

N-dim case continued • Since Plane B is assumed steeper than Plane A We must have the angle that the normal of B makes with the Optimum direction (90 - b ) should be less than the corresponding angle for Plane A (90- a): That is : b > a If we assume that P is a feasible point on A and Q another feasible point on B with a greater Z-value than P, then the above inequality makes the line segment of PQ , with P on A and Q on B to lie outside the feasible region (see figure 3). Hence we are forced to conclude that the optimum vertex must contain the optimum vertex. QED. (see Section V for details).

Algorithm • Once it is acknowledged that the flattest plane (wrt to the objective function direction), contains the Optimum Vertex the procedure is simplified in the following steps: 1) Examine the constraint matrix A and find the row which represents the flattest plane, (say the kth row) 2) Choose the variable, say xj , whose coefficient is the highest in the kth row, use this coefficient akj , as the pivot and eliminate variable xj , from all the remaining m-1 planes.

Algorithm contd (2) 3) Similarly substitute for xj , in the objective function Z. The objective function now will depend only on n-1 variables, ( Z will acquire a constant term which will not disturb the procedure.) 4) Now we have a new LP problem with n-1 variables and m-1 constraint planes, with a new objective function Z . Now with respect to the new objective function direction find the “flattest plane”, by going to step 1)

Algorithm cont’d (3) • In this manner we recursively reduce the LP problem of n dimension to n-1,n-2 and… finally to a single dimension which can then be solved for finding the value of the last variable (say) x1. • By the procedure of back-substitution we then find the previous variable x2 (say) and so to find the rest of the variables x3 , x4 ,…., xn . • The method is identical to the Gauss-Seidel backsubstitution technique. • The values (x1 , x2 ,…., xn ) represent the coordinates of the Optimum Vertex. • The paper contains the detailed procedure for the algorithm.

How fast is the Algorithm? • The algorithm is obviously polynomial time, however, in order to determine as to how fast it really is, depends on some factors, the most important being: • 1) When a flattest plane is identified, it needs to be checked that it is a feasible plane and NOT a redundant plane. If it happens to be a redundant plane then this plane needs to be deleted and the next flattest plane needs to be considered.

How fast.. ? Contd 2) Though it is not necessary to check if all planes are redundant, however we need to check if the recently discovered flattest plane is not redundant. Every time a flattest plane is found to be a redundant plane, then one needs to check the next flattest plane for non redundancy. The number of such events is obviously problem dependent. 3) One of the methods for such a test is described in the next figure

Probability of finding a flattest plane which is redundant • If the normal of a flattest n-dimensional plane, (assumed to be feasible), makes an angle of a, with respect to the objective function. Then what is the probability of a redundant plane making an angle less than a? • This probability is proportional to A/An , where A is the area of a spherical cap of a n-dimension sphere subtending an angle 2 a at the centre and An is the surface area of the sphere. • If there are m planes then the probability is m. (A/An ).

Courtesy: Ref: http://en.wikipedia.org/wiki/Spherical_cap

Spherical Cap in n-dim

Area A of a spherical cap of height h and radius r in n-dimension space, a = r sin a; h=r(1-cos a), r=length of normal, r=1 in our case. Ref: http://en.wikipedia.org/wiki/Spherical_cap

Incomplete Beta Functions

Thank You !