您的位置: 首页 > 国外期刊 > American Journal of Operations Research

The Sliding Gradient Algorithm for Linear Programming

Vol.08No.02(2018), Article ID:83485,20 pages
10.4236/ajor.2018.82009

Hochung Lui, Peizhuang Wang

College of Intelligence Engineering and Mathematics, Liaoning Technical University, Fuxin, China

Copyright © 2018 by authors and Scientific Research Publishing Inc.

This work is licensed under the Creative Commons Attribution International License (CC BY 4.0).

http://creativecommons.org/licenses/by/4.0/

Received: February 26, 2018; Accepted: March 27, 2018; Published: March 30, 2018

ABSTRACT

The existence of strongly polynomial algorithm for linear programming (LP) has been widely sought after for decades. Recently, a new approach called Gravity Sliding algorithm [1] has emerged. It is a gradient descending method whereby the descending trajectory slides along the inner surfaces of a polyhedron until it reaches the optimal point. In R3, a water droplet pulled by gravitational force traces the shortest path to descend to the lowest point. As the Gravity Sliding algorithm emulates the water droplet trajectory, it exhibits strongly polynomial behavior in R3. We believe that it could be a strongly polynomial algorithm for linear programming in Rn too. In fact, our algorithm can solve the Klee-Minty deformed cube problem in only two iterations, irrespective of the dimension of the cube. The core of gravity sliding algorithm is how to calculate the projection of the gravity vector g onto the intersection of a group of facets, which is disclosed in the same paper [1] . In this paper, we introduce a more efficient method to compute the gradient projections on complementary facets, and rename it the Sliding Gradient algorithm under the new projection calculation.

Keywords:

Linear Programming, Mathematical Programming, Complexity Theory, Optimization

1. Introduction

The simplex method developed by Dantiz [2] has been widely used to solve many large-scale optimizing problems with linear constraints. Its practical performance has been good and researchers have found that the expected number of iterations exhibits polynomial complexity under certain conditions [3] [4] [5] [6] . However, Klee and Minty in 1972 gave a counter example showing that its worst case performance is O ( 2 n ) [7] . Their example is a deliberately constructed deformed cube that exploits a weakness of the original simplex pivot rule, which is sensitive to scaling [8] . It is found that, by using a different pivot rule, the Klee-Minty deformed cube can be solved in one iteration. But for all known pivot rules, one can construct a different deformed cube that requires exponential number of iterations to solve [9] [10] [11] . Recently, the interior point method [12] has been gaining popularity as an efficient and practical LP solver. However, it was also found that such method may also exhibit similar worse case performance by adding a large set of redundant inequalities to the Klee-Minty cube [13] .

Is it possible to develop a strongly polynomial algorithm to solve the linear programming problem, where the number of iterations is a polynomial function of only the number of constraints and the number of variables? The work by Barasz and Vempala shed some light in this aspect. Their AFFINE algorithm [14] takes only O ( n 2 ) iterations to solve a broad class of deformed products defined by Amenta and Ziegler [15] which includes the Klee-Minty cube and many of its variants.

In certain aspect, the Gravity Sliding algorithm [1] is similar to the AFFINE algorithm as it also passes through the interior of the feasible region. The main difference is in the calculation of the next descending vector. In the gravity falling approach, a gravity vector is first defined (see Section 3.1 for details). This is the principle gradient descending direction where other descending directions are derived from it. In each iteration, the algorithm first computes the descending direction, then it descends from this direction until it hits one or more facets that forms the boundary of the feasible region. In order not to penetrate the feasible region, the descending direction needs to be changed. The trajectory is likened a water droplet falling from the sky but is blocked by linear planar structures (e.g. the roof top structure of a building) and needs to slide along the structure. The core of gravity sliding algorithm is how to calculate the projection of the gravity vector g onto the intersection of a group of facets. This projection vector lies on the intersection of the facets and hence lies on the null space defined by these facets. Conventional approach is to compute the null space first and then find the projection of g onto this null space. An alternative approach is disclosed in [1] which operates directly from the subspace formed by the intersecting facets. This direct approach is more suitable to the Gravity Sliding algorithm. In this paper, we further present an efficient method to compute the gradient projections on complementary facets and also introduce the notion of selecting the steepest descend projection among a set of candidates. With these refinements, we rename the Gravity Sliding algorithm as the Sliding Gradient algorithm. We have implemented our algorithm and tested it on the Klee-Minty cube. We observe that it can solve the Klee-Minty deformed cube problem in only two iterations, irrespective of the dimension of the cube.

This paper is organized as follows: Section 2 gives an overview of the Cone-Cutting Theory [16] , which is the intuitive background of the Gravity Sliding algorithm. Section 3 discusses the Sliding Gradient algorithm in details. The pseudo-code of this algorithm is summarized in Section 4 and Section 5 gives a walk-through of this algorithm using the Klee-Minty as an example. This section also discusses the practical implementation issues. Finally, Section 6 discuss about future work.

2. Cone-Cutting Principle

The cone-cutting theory [16] offers a geometric interpretation of a set of inequality equations. Instead of considering the full set constraint equations in a LP problem, the cone-cutting theory enables us to consider a subset of equations, and how an additional constraint will shape the feasible region. The geometric insight forms the basis of our algorithm development.

2.1. Cone-Cutting Principle

In an m-dimension space m , a hyperplane y T τ = c cuts m into two half spaces. Here τ is the normal vector of the hyperplane and c is a constant. We denote the positive half space { y | y T τ c } the accepted zone of the hyperplane and the negative half space where { y | y T τ < c } is rejected zone. Note that the normal vector τ points to accepted zone area and we call the hyperplane with such orientation a facet α : ( τ , c ) . When there are m facets in m and { τ 1 , τ 2 , , τ m } are linear independent, this set of linear equations has a unique solution which is a point V in m . Geometrically, { α 1 , α 2 , , α m } form a cone and V is the vertex of the cone. We now give a formal definition of a cone, which is taken from [1] .

Definition 1. Given m hyperplanes in m , with rank r ( α 1 , , α m ) = m and intersection V, C = C ( V ; α 1 , , α m ) = α 1 α m is called a cone in m . The area { y | y T τ i c i ( i = 1 , 2 , , m ) } is called the accepted zone of C. The point V is the vertex and αj is the facet plane, or simply the facet of C.

A cone C also has m edge lines. They are formed by the intersection of (m − 1) facets. Hence, a cone can also be defined as follows.

Definition 2. Given m rays R j = { V + t r j | 0 t < + } ( j = 1 , , m ) shooting from a point V with rank r ( r 1 , , r m ) = m , C = C ( V ; r 1 , , r m ) = c [ R 1 , , R m ] , the convex closure of m rays is called a cone in m . R j is the edge, r j the edge direction, and R j + = { V + t r j | < t < + } the edge line of the cone C.

The two definitions are equivalent. Furthermore, P.Z. Wang [11] has observed that R i + and α i are opposite to each other for i = 1 , , m . Edge-line R i + is the intersection of all C-facets except α i , while facet α i is bounded by all C-edges except R i + . This is the duality between facets and edges. For i = 1 , , m , { τ i , R i } is called a pair of cone C.

It is obvious that r j T τ i = 0 (for i j ) since r j lies on α i . Moreover, we have

r i T τ i 0 ( for i = 1 , , m ) (1)

2.2. Cone Cutting Algorithm

Consider a linear programming (LP) problem and its dual:

(Primary): max { c ˜ T x | A x b ; x 0 } (2)

(Dual): min { y T b | y T A c ˜ ; y 0 } (3)

In the following, we focus on solving the dual LP problem. The standard simplex tableau can be obtained by appending an m × m identity matrix I m × m which represents the slack variables as shown below:

[ a 11 a 1 n a m 1 a m n 1 0 0 1 b 1 b m c ˜ 1 c ˜ n 0 0 0 ]

We can construct a facet tableau whereby each column is a facet denoted as α j : ( τ j , c j ) , where τ i = ( a 1 i , a 2 i , , a m i ) T and

c i = { c ˜ i for 1 i n 0 for n < i m + n (4)

The facet tableau is depicted as follow. The last column ( b 1 , b 2 , , b m , 0 ) T is not represented in this tableau.

α 1 α 2 α m + n [ τ 1 τ 2 τ m + n c 1 c 2 c m + n ]

When a cone C = C ( V ; α 1 , , α m ) = C ( V ; r 1 , , r m ) is intersected by another facet α j , the ith edge of the cone is intersected by α j at certain point q i j . We call α j cuts the cone C and the cut points q i j can be obtained by the following equations:

q i j = V + t i r i where t i = ( c i V T τ j ) / r i T τ j (5)

The intersection is called real if t i 0 and fictitious if t i < 0 . Cone cutting greatly alters the accepted zone, as can be seen from the simple 2-dimension example as shown in Figures 1(a)-(e). In 2-dimension, a facet α : ( τ , c ) is a line. The normal vector τ is perpendicular to this line and points to the accepted zone of this facet. Furthermore, a cone is formed by two non-parallel facets in 2-dimension. Figure 1(a) shows such a cone C ( V ; α 1 , α 2 ) . The accepted zone of the cone is the intersection of the two accepted zones of facets α1 and α2. This is represented by the shaded area A in Figure 1(a). In Figure 1(b), a new facet α3 intersects the cone at two cut points q 13 and q 23 . They are both real cut points. Since the arrow of normal vector τ 3 points to the same general direction of the cone, V lies in the rejected zone of α3 and we say α3 rejects V. Moreover, the accepted zone of α3 intersects with the accepted zone of the cone so that the overall accepted zone is reduced to the shaded area marked as B. In Figure 1(c), τ 3 points to the opposite direction. α3 accepts V and the overall

Figure 1. Accepted zone area of a cone and after it is cut by a facet.

accepted zone is confined to the area marked as C. As the dual feasible region

上一篇:Compact Model for the Obnoxiou 下一篇:The Pivot Adaptive Method for

我要分享到: