Вы находитесь на странице: 1из 18

A KKT Simplex Method for Efficiently Solving Linear Programs

for Grasp Analysis Based on the Identification


of Nonbinding Constraints

1 1 1
Alejo Mosso-Vázquez , David Juárez-Romero , Marco Antonio Cruz-Chávez ,
2
and Luis Enrique Sucar
1
Centro de Investigación en Ingeniería y Ciencias Aplicadas, Cuernavaca, Morelos,
Mexico
2
Instituto Nacional de Astrofísica, Óptica y Electrónica (INAOE), Tonantzintla, Puebla,
Mexico
{alejo.mosso, djuarez7}@gmail.com, mcruz@uaem.mx, esucar@inaoep.mx
Abstract: A one-phase efficient method to solve linear iniciar en cualquier punto del conjunto de soluciones
programming (LP) problems for grasp analysis of factibles. Además, el método disminuye el número de
robotic hands is proposed. Our method, named as KKT pasos simplex por una estrategia angular de costo para
Simplex method, processes free variables directly while seleccionar la variable entrante. Aún más importante, el
choosing the entering and leaving variables, which método reduce el tamaño del problema LP por
makes it a one-phase method able to start at any point identificación de restricciones no atadas que preserva
of the set of feasible solutions. Besides, the proposed el cono Karush-Kuhn-Tucker (KKT). Desarrollamos el
method lowers the number of simplex steps by an método Simplex KKT por la incorporación al bien
angular pricing strategy to choose the entering variable. conocido método simplex revisado de los siguientes
Moreover, the method reduces the size of an LP componentes: un método para procesar variables
problem by the identification of nonbinding constraints libres, una estrategia de costo, y un método de
that preserves the Karush-Kuhn-Tucker (KKT) cone. identificación. Resolvemos problemas LP de análisis de
We developed the KKT Simplex method by la sujeción para probar la eficiencia y la naturaleza de
incorporating to the well-known revised simplex method una fase del método propuesto.
the following components: a method to process free
Palabras clave. Método Simplex KKT, programación
variables, a pricing strategy, and an identification
method. We solve LP problems of grasp analysis to test lineal, análisis de la sujeción, restricciones no atadas.
the efficiency and the one-phase nature of the
proposed method.
1 Introduction
Keywords. KKT Simplex method, linear programming,
grasp analysis, nonbinding constraints. Linear programming (LP) is perhaps the most
important and best-studied optimization problem.
Un método simplex KKT para resolver Many real problems can be formulated as linear
eficientemente programas lineales problems [4, 10, 11, 12, 13, 21, 22, 23, 27, 34,
para análisis de la sujeción basado 35]. LP of grasp analysis we will deal with in this
paper is an example [11, 23]. In this kind of
en la identificación de restricciones problems, the analytic center of the polyhedron of
no atadas feasible solutions is known. Therefore, for real-
time grasp analysis, two important challenges are
Resumen: Se propone un método eficiente de una addressed: to solve an LP problem by starting at
fase para resolver problemas de programación lineal
an interior point and to solve it in a computational
(LP) para análisis de la sujeción por manos robóticas.
El método, nombrado como método Simplex KKT,
time as small as possible. Ding [11] reported 238
procesa variables libres directamente mientras milliseconds to solve an LP problem with 400
selecciona las variables entrante y saliente, lo que lo constraints using the simplex method, and Roa
convierte en un método de una fase que es capaz de and Suárez [32] reported about 687 milliseconds

Computación y Sistemas Vol. 18 No. 2, 2014 pp. 225-242


ISSN 1405-5546
http://dx.doi.org/10.13053/CyS-18-2-2014-029
226 Alejo Mosso-Vázquez, David Juárez-Romero…

to solve the grasp analysis which involves 32 column vectors and will be denoted by boldface
constraints by a geometrical approach. characters. Lower indexes denote the
The problem of starting at an interior point has different components of the vector . The
been solved by simplex methods using two superscript denotes transpose operation. -
strategies: (i) two simplex phases [3, 24, 28] and denotes the inverse of a matrix . The identity
(ii) the transformation of free variables into matrix is denoted by I, is the Euclidian norm
nonnegative variables [4]. The first strategy has of a vector .
the disadvantage of solving two LP problems. The
second increases the original size of the LP 2.1 Linear Programming Problem for Grasp
problem. The criss-cross method is worth to Analysis
mention here because it is also a one-phase
simplex method that can start at any, not
The LP problem with free variables to deal with in
necessarily infeasible, basis solution [13, 14, 18,
this paper is stated as follows:
20, 36, 37, 45]. This method is useless if the
starting point is an interior point of the polyhedron. (1)
The problem of efficiency has been addressed
by reducing the number of simplex steps. One
approach consists in bringing the initial solution
closer to the optimal solution [1, 3, 9, 16, 19, 40].
An outstanding instance of this approach is the
work of Andersen et al. [3], which combines an
interior-point method and two simplex phases to where - , , , , ,
solve LP problems in standard form. The second , , - is a
approach simplifies a given LP problem by slack variable, is the linear objective
suppressing superfluous constraints [7, 15, 21,
function, with - ,
29, 30, 38, 39]. A drawback of these works is that
they are computationally expensive. are linear constraints functions, and
The main purposes of this paper are (i) to the gradient of the - constraint function is the
design a one-phase simplex method by dealing constant vector . We will assume
with free variables directly while choosing the and for convenience.
entering and leaving variables, (ii) to reduce the
size of a given LP problem by means of a method The free optimization variable is feasible for
of identification of nonbinding constraints that (1) if . The polyhedron of feasible
preserves the Karush-Kuhn-Tucker (KKT) cone, solutions of the primal problem, denoted by , is
and (iii) to lower the number of simplex steps by a defined as:
pricing strategy based on angular measures to { }. (2)
choose the entering variable.
The paper is organized as follows: in Section 2 For LP problem (1) we will consider the
we state the problem to be solved, in Section 3 following assumptions:
we develop the KKT Simplex method, in Section 4
the performance of the proposed method is 1. The polyhedron is full-dimensional.
tested, in Section 5 conclusions are presented. 2. The polyhedron is bounded towards the
optimization direction.
2 Problem Statement 3. The number of constraints is greater than
the number of optimization variables.
The notation described below will be used in this 4. The origin of the space is at the analytic
paper. There may be some alterations where center of , which implies the optimization
appropriated. Upper-case letters will be used to variables are free and .
represent matrices. Vectors are regarded as 5. .

Computación y Sistemas Vol. 18 No. 2, 2014 pp. 225-242


ISSN 1405-5546
http://dx.doi.org/10.13053/CyS-18-2-2014-029
A KKT Simplex Method for Efficiently Solving Linear Programs for Grasp Analysis… 227

a vertex of the polyhedron . It may happen in


dealing with free variables that all or some
components of are optimization variables; in
such a case BFS is not a vertex, it is just a
feasible point.

2.2 Test Problem

In order to illustrate the methodology that will be


presented in this paper, we will refer to the
following test LP problem:
[ ]

- + = 0.7707
- + = 1.3858
Fig. 1. Orthogonal projection of gradients + + = 1.5148
onto + + = 2.7004
+ + = 3.4183
Assumptions 3 and 4 are critical for LP + + = 2.5059 (4)
problems of grasp analysis. In a more general + + = 1.7007
problem, where assumption 4 is not satisfied, the + + = 1.2121
analytic center of should be computed from an - + = 1.3960
interior or exterior point of by maximizing the - + = 1.9045
logarithmic barrier function ∑ in the - + = 2.1082
way shown in [43]. In grasp analysis, however,
and the analytic center is given as part of - ,
the LP problem [11, 23]. Notice that problem (1) is .
neither in standard nor in canonical form, but it is
adequate for treating the free variables directly The polyhedron of the test problem is shown
avoiding their conversion to nonnegative in Fig. 1. Constraints from 1 to 11 are shown as
variables. lines. An initial vertex and the optimal vertices
are also shown in the figure. The gradient of
The dictionary for (1) can be written as
the objective function, the gradients of constraints
and a cone delimited by
and are also shown there. The entities
(3)
, Q, and will be described in the
next section.
The following definitions classify sets of
where is a vector of non-basic variables
constraints that will be used in this paper.
, is a vector of basic variables
, is the non-basic Definition 1. Let be the set of constraints in a
matrix, is the basic matrix, given LP problem. For the test problem we have
- .
and . The pair with is
called a basic feasible solution (BFS). In any BFS Definition 2. Let the set of binding constraints,
are in general real numbers in case denoted by , be the set of constraints whose
the optimization variables are free. However, the slack variables are zero at the optimal vertex :
slack variables must remain nonnegative. If all . for the
components of are slack variables, the BFS is test problem.

Computación y Sistemas Vol. 18 No. 2, 2014 pp. 225-242


ISSN 1405-5546
http://dx.doi.org/10.13053/CyS-18-2-2014-029
228 Alejo Mosso-Vázquez, David Juárez-Romero…

Definition 3. Let the Karush-Kuhn-Tucker cone solution is reached. In this subsection, we show
(KKT cone), denoted by , be the set of points that the nonbinding condition may be identified by
determined by a positive linear combination of means of angular information of constraints
gradients of constraints : before the simplex algorithm starts. In formulating
a LP problem for grasp analysis of robotic hands
{ | ∑ (5) [11, 23], there appear a lot of nonbinding
constraints at the optimal solution. Many of these
constraints may be suppressed, then the
In Fig. 1 we have the KKT cone: dimension of the problem could be decreased and
{ | , which is the computational effort reduced.
characterized by constraints in . The Given the set of constraints of a LP
definition (5) of the KKT cone is derived from the problem, we will identify a set of candidates of
concept of the Karush-Kuhn-Tucker optimality binding constraints of reduced cardinality by using
conditions presented in [4]. angular measures of them with respect to
the objective.

3 The KKT Simplex Method 3.1.1 Angular Coordinates


Let be a one-dimensional coordinate on the real
In this section we propose a method, which we
name as the KKT Simplex method, to efficiently axis corresponding to the orthogonal projection
solve LP problems for grasp analysis. As it will be of onto . Fig. 1 shows , j=1, 2, 10, 11. Based
shown here, this method will be the result of the on this definition, the following theorem is
incorporation of three different methods into the obtained easily.
revised simplex method (RSM) [8]: (i) a method of
identification of nonbinding constraints, (ii) a Theorem 1. The coordinate of the orthogonal
method to processes free variables directly while projection of onto is
choosing the entering and leaving variables, and
(iii) an angular pricing strategy to choose the . (6)
entering variable.
Proof: Since is spanned by , the orthogonal
3.1 Method of Identification of Nonbinding projector onto is the following idempotent
Constraints and symmetric matrix [31]:
-
. (7)
Computing the solution of a LP problem in the
space can be reduced to find a set of linearly Therefore, the orthogonal projection of onto
independent hyperplanes such that their
the axis can be computed as follows:
intersection point is feasible and optimal [6]. The
corresponding constraints are binding (8)
constraints, which are known after an optimal
solution has been computed. The rest of After some algebraic manipulation we have:
constraints are superfluous. Constraints can be
superfluous in two ways: nonbinding constraints . (9)
which, although they delimit the polyhedron of
feasible solutions, are over fulfilled at the optimal From (9) the result (6) follows. 
solution, and redundant constraints which do not The coordinate will be named as angular
delimit the polyhedron [38].
coordinate because it is an angular measure of
Since nonbinding constraints can be identified
after a problem has been solved, a question that the gradient of the constraint with respect
arises is whether there is a way to force them to to the gradient of the objective function. Since
be manifested as nonbinding before the optimal and , has the property:

Computación y Sistemas Vol. 18 No. 2, 2014 pp. 225-242


ISSN 1405-5546
http://dx.doi.org/10.13053/CyS-18-2-2014-029
A KKT Simplex Method for Efficiently Solving Linear Programs for Grasp Analysis… 229

- where is the angle between immediately identify as a set of superfluous


and . constraints.
Since constraints correspond to
3.1.2 Improvement Cone whose hyperplane delimit the KKT cone , we
Taking advantage of angular coordinates, we will name the property as the KKT binding
introduce the concept of improvement cone, condition and specify it as follows:
denoted as . The improvement cone is
& (12)
referred to a hyperplane in orthogonal to the
axis , illustrated as the line in the space in Notice that (12) is satisfied when .
figure 1, and specified by vectors that improve However, a set of reduced cardinality is
the value of the objective function: preferred. Therefore, for our purpose is
. (10) the worst case while is the best case.
Let us consider the angular coordinate
As it can be seen from given in (6), that excludes constraint 1 from the set:
belongs to if its angular coordinates . for a threshold coordinate
That is, a constraint such that , or . From the axis located at the right side
equivalently , is a candidate constraint to of figure 2 below we have:
determine the optimal solution.
Notice that may be specialized to the (13)
finite set of vectors . Even better, instead .
of grouping vectors, we may group constraints Since and , we find that
using the criterion to isolate a set of , that is, . However, to make
candidates of binding constraints. The following all we have to do is to move to a
partition of the set into a set of candidates negative value.
of binding constraints and of candidates of
Since - , we may propose - .
superfluous constraints
Proposition 1: From the foregoing discussion, a
(11) method of identification of nonbinding constraints
is proposed which consists in partitioning into
the set of candidates of binding constraints
may be a good selection if & and of candidates of superfluous constraints:
. However, for the test problem with
, we have: - and . (14)
Since constraint 1 belongs to , the fact
excludes constraint 1 from the set . Therefore, where the threshold coordinate must be
the criterion that leads to the partition (11) is chosen such that and satisfy the KKT
not useful to identify as a subset of . In binding condition. If so, may be discarded and
other words, the improvement cone does not recast as . At this point, the identification of
always contain the KKT cone . nonbinding constraints ends and the KKT Simplex
method starts solving the given LP problem by
3.1.3 Identification of Nonbinding Constraints
processing the reduced set .
The KKT cone is not always a subset of the
3.1.4 Tuning Threshold Coordinate
improvement cone . Equivalently, the set
is not always a subset of . If we could find As an illustration for proposing the adequate
a set that satisfies , we would threshold coordinate - we will identify

Computación y Sistemas Vol. 18 No. 2, 2014 pp. 225-242


ISSN 1405-5546
http://dx.doi.org/10.13053/CyS-18-2-2014-029
230 Alejo Mosso-Vázquez, David Juárez-Romero…

Fig. 2. Distribution of angular coordinates Fig. 4. A positive threshold coordinate

Fig. 3. Identification of with - Fig. 5. A negative threshold coordinate -

in three test problems with: - - . Since the set of binding constraints for this
The graphs of figures 3, 4, and 5 show constraints problem is , we ought to propose
in the dashed areas that belong to , whose - as it is shown in figure 5.
coordinates satisfy . The test problem with positive threshold
Since , the coordinates above coordinate of figure 4 exhibits the best
the line - belong now to and the rest reduction of . In contrast, the test
to : , . problem with the negative threshold coordinate
- of figure 5 exhibits the worst reduction
A second test problem is obtained from the
first one by changing the sign of the given because is near to the case:
gradient of the objective function: - . Since - works for the best and a
. Since the set of binding worst case, it may be used as a conservative
constraints for this problem is , we value for a general LP problem.
may propose as it is shown in figure 4.
In this case we have: . 3.2 Entering Variable Selection
A third test problem has [- - ]
As it will be shown in this subsection, the direct
and the set of constraints adapted from [19]:
processing of free optimization variables modifies
+ + = 0.5918 the way the entering and leaving variables are
+ + = 0.9044
chosen. The new methods to determine these
variables will endow the one-phase property to
+ + = 2.8037
the KKT Simplex method.
+ + = 4.0949 (15)
While moving from a vertex to an adjacent
+ + = 0.4082 vertex, the free variables are
+ + = 5.4082 distributed among the components of the vectors
- + = 1.1613 of non-basic variables and basic variables .

Computación y Sistemas Vol. 18 No. 2, 2014 pp. 225-242


ISSN 1405-5546
http://dx.doi.org/10.13053/CyS-18-2-2014-029
A KKT Simplex Method for Efficiently Solving Linear Programs for Grasp Analysis… 231

Recall that an entering variable is chosen from If such a - coefficient exists, we record our
and the leaving variable from . Here we will finding by the sign indicator , otherwise
deal with the selection of an entering variable as it is shown in the second and third rows of
which consists of two steps. The first step table 1 below. Since has been
determines a set of non-basic variables that are considered, may be an optimization variable
candidates to enter the basis. The second step or a slack variable as it is shown in the first
chooses just one entering variable. column of table 1 below.
Now let us consider - - which is a
3.2.1 Set of Candidates of Entering Variables
consequence of taking - . This negative
value means that must be just an optimization
Let us consider the equation for the objective variable , since a slack variable cannot be
function in terms of non-basic variables: negative. The fact is an optimization variable
- may be detected by its lower bound - as it is
- . (16)
shown in the second column of table 1 below.
The criterion to select a candidate to be an Therefore, - - may be increased by
entering variable is to choose one entry of finding a negative - coefficient:
whose cost coefficient increases the value of the
objective function. In order to refer to non-basic, - & - . (21)
optimization, and slacks variables, we will use If such a coefficient exists, we record our
sets of their indices, denoted by , , and
respectively, which are defined as follows: finding by the sign indicator - , otherwise -
as it is shown in the fourth row of table 1 below.
, The table 1 summarizes the way the sign of the
, (17) - cost coefficient - determines the
index of an entering variable that increases
the value of the objective function.
A non-basic variable may be an
optimization variable or a slack variable Table 1. Selection of an entering variable
. Since is free, maybe positive or Indices of
The -
negative. In other words, the current zero value of coefficient -
may change to a negative or positive value:
( ) k
, (18) ( ) k
where the number will be computed in ( ) 0 k
subsection 3.3. Let us search (18) for its effect on
the objective function. Replacing into (16) the In a LP problem with nonnegative variables,
objective function is updated as follows: the detection of positive coefficients is enough.
With free variables, however, it is critical to detect
(19) the negative coefficients because these may also
improve the value of the objective function.
where is the k-th column of the non-basic
Based on the foregoing analysis, the following
matrix . Since and due to the presence of
proposition is stated.
the double sign , the value of the objective
function may be increased by the positive or Proposition 2: The non-basic variables
negative signs of the cost coefficient - . that are candidates to enter the basis
Let us consider - which may be are identified in two sets and - , which are
increased if we can find a positive coefficient: determined from table 1:
- }, (22)
-
(20) - & - }.

Computación y Sistemas Vol. 18 No. 2, 2014 pp. 225-242


ISSN 1405-5546
http://dx.doi.org/10.13053/CyS-18-2-2014-029
232 Alejo Mosso-Vázquez, David Juárez-Romero…

3.2.2 Angular Pricing Strategy as an angular measure of each Cartesian axis of


with respect to . Let us name this
In this subsection we propose a pricing strategy
angular measure as Cartesian angular
based on angular coordinates for the KKT
coordinate, denoted as and defined as the
Simplex method to choose one entering variable
absolute value of the direction cosines of :
from the sets and - defined in (22).
Some pricing strategies have been suggested . (23)
[10, 17, 44]. One of the most widely used is the
D ’ w v Notice that . The usefulness of
an element of the set -
which corresponds relays on the fact that is directed toward a
to the maximum cost coefficient among those that region of where the optimal vertex is located.
improve the value of the objective function. The That is, coordinates with the property may
basic idea of a pricing strategy based on an be used to choose an entering variable that better
angular criterion has been developed for LP improve the value of the objective function. Since
problems with nonnegative variables [44]. , may be used just when is a member of
Here, we develop a pricing strategy in the the non-basic vector . That is, may be used
context of free variables, which we name as during the migration from to .
angular pricing strategy. The strategy will use the As it is stated in proposition 2, is a
angular coordinates introduced in -
candidate to enter the basis if . Notice
subsection 3.1.1 and angular coordinates of the that for each candidate there must be an
Cartesian axis which will be introduced in
angular Cartesian coordinate or an
this subsection.
angular coordinate . Since both angular
Assume that the origin of the space is
at the analytic center of the polyhedron . The coordinates will be used to choose one entering
KKT Simplex method should start at , migrate to variable, they must be associated to and -
a feasible vertex on the boundary of the as follows:
polyhedron , and proceed until the optimal If we may group in the set:
vertex is reached. Therefore, the non-basic
vector contains n optimization variables (24)
at , n-1 optimization variables at -
and zero optimization variables at . However, If we may group in the set:
contains just slack variables from to - -
. (25)
. Since the angular coordinate is defined for
each constraint , it must be associated to a If we may group in the set:
vertex from to .
Let us consider that contains . (26)
the set of binding constraints . Since Since and means that the best
- , the fact when , for improvement of the value of the objective function
some chosen from , means the - constraint may be obtained, we propose the following
may determine the optimal vertex when . strategy to choose the entering variable.
That is, coordinates with the property may Proposition 3: For -
use to determine
be used to choose an entering variable that better -
improve the value of the objective function at the entering variable indicated by or :
vertices from to . ,
For the migration from to there is not yet - - - -
,
any angular measure. We propose the direction - -
cosines of the gradient of the objective function if , otherwise .

Computación y Sistemas Vol. 18 No. 2, 2014 pp. 225-242


ISSN 1405-5546
http://dx.doi.org/10.13053/CyS-18-2-2014-029
A KKT Simplex Method for Efficiently Solving Linear Programs for Grasp Analysis… 233

For use to determine the entering Algorithm 1. The angular pricing strategy at an
variable indicated by : iteration “ ”
. Reset the indexes of the entering variable:
,
Based on proposition 3, we propose the -
angular pricing strategy presented in Algorithm 1 PART I: The Cartesian pricing strategy:
to determine the entering variable , whose v “ ” (use ):
- - -
“ ” -
or . The strategy is implemented , , , , ,
- -
in two parts for an iteration of the KKT Simplex for k=1 to n construct: , , , and :
method. The first part, named the Cartesian if
pricing strategy, chooses one entering variable at if -
-
each feasible solution from to using .
The second part, named the constraint pricing
strategy, chooses one entering variable at each if - & -
- -
basic feasible solution from to using .
- -

3.3 Leaving Variable Selection if ,


- - - - -
if ,
Assume that the entering variable has been - -
selected. Then the current zero value of may if , otherwise
change to a negative or positive value: . if ,
The positive number will be computed here. if - , -

Let us consider the system of equations given PART II: The constraint pricing strategy:
in the dictionary (3) at a simplex iteration : if t  v “ ” (use ):
, ,
- -
- . (27) for k=1 to n construct: and :
When the new value is substituted if
in k-th element of , the vector of basic variables if -
is updated as follows:

(28) if ,
END of the algorithm 1.
To preserve its feasibility, should let one of
its components become zero, which is called
the leaving variable. In this way, the entering (30)
variable becomes nonzero and one
Let us substitute in (30): and
leaving variable becomes zero.
The number must be chosen such that
v
given in (28) and the entering variable { (31)
remain feasible, that is: v

, Then, we get from (30) two inequalities which


- (29) depend on the nature of basic variable or,
.
more precisely, on the values of its lower
Since , - , , and , the bound :
first inequality in (30) does not impose any bound
-
to . Let us define and
( ) (32)
express the second inequality of (29) for each
element of : ( )

Computación y Sistemas Vol. 18 No. 2, 2014 pp. 225-242


ISSN 1405-5546
http://dx.doi.org/10.13053/CyS-18-2-2014-029
234 Alejo Mosso-Vázquez, David Juárez-Romero…

If the non-basic variable is increased , - (38)


, the basic variable is changed to
( ) and the first inequality of (32) derives Summarizing formulas (34), (36) and (38) that
in the result: compute the numbers , we have:

(33)
(39)
Since the value of the objective function must
increase with by means of , we have
to choose as large as constraint (33) allows: {
Let us name given in (39) as
. simplex coordinates because they are delivered
(34) by the KKT Simplex method in the context of free
variables. Let us notice that for each constraint
The formula (34) is valid when: (i) , and
there is just one number .
(ii) the non-basic variable is increased ,
which is detected by . Let us remark that the set { } are
Now, if the non-basic variable is decreased: calculated at the current vertex at each iteration
, the basic variable is changed to “” KKT Simplex method. Also, as it is
( ) and again the first inequality of (32) shown in [8, 26] the strictly positive coordinate,
derives now in the result: denoted as , specified by:

(40)
(35)
defines the adjacent vertex at which the
Since the value of the objective function value of the objective function is improved.
increases with by means of - , we have Therefore, the leaving variable corresponds to
to choose as small as constraint (35) allows: . Then the desired value for in
should be .
-
- . (36)
3.4 The KKT Simplex method
The formula (36) is valid when: (i) , and
(ii) the non-basic variable is decreased - , The KKT Simplex method is presented in
which is detected by - . Algorithm 2. Steps 1 to 5 were transcribed from
The second inequality in (32) derives simply the RSM as it is presented in [8] and adapted to
into the following constraint: solve LP problems for grasp analysis. The
identification of nonbinding constraints is
- |, , - (37) incorporated in step 0 as a pre-solution procedure
[7, 39]. The entering variable is chosen in step
Condition (37) means that is a real number. 2 by the angular pricing strategy of table 2. In step
However, it is valid just when: , which is 4 the leaving variable is selected. Step 5
updates the dictionary. Steps 1 and 3 are the
detected by - .
same as that of the RSM in [8]. The input data
For a non-degenerated LP problem, numbers may be obtained from (1) and (3).
are computed by formulas (34) or (36), which
are characterized by the condition . The rest 3.5 Discussion of the KKT Simplex Method
numbers must be zero; as it is implied by
constraint (37); these zero valued numbers are The one-phase property of the KKT simplex
identified by the condition - : method is derived from the direct processing of

Computación y Sistemas Vol. 18 No. 2, 2014 pp. 225-242


ISSN 1405-5546
http://dx.doi.org/10.13053/CyS-18-2-2014-029
A KKT Simplex Method for Efficiently Solving Linear Programs for Grasp Analysis… 235

the free variables. We distinguish three different


Algorithm 2. The KKT Simplex method
classes of starting points:
Step 0. Identify the set of candidates of binding
(i) Points in the interior of , constraints :
(ii) Points on a face of , Propose the threshold coordinate: - just for
(iii) Vertices on the boundary of LP of grasp analysis.
Compute the angular coordinates:
Therefore, the KKT simplex method generates
in general a sequence of feasible points: , , Partition the set of constraints:
,
in just one simplex phase. If the
starting point is a vertex of the sequence begins Recast as and proceed.
at . If the starting point is , the first vertex An iteration "t" of the KKT Simplex method:
is reached in exactly n simplex steps. As a
consequence, the KKT simplex method is able to Step 1. Solve the system .
start at any point on the polyhedron . Therefore,
Step 2. Choose an entering variable by means of the
the KKT Simplex method is suitable to be
angular pricing strategy of table 2. If there is no such
combined with an interior-point method for solving -
LP problems [2, 3, 42]. entering variable and , then the current
solution is optimal.
The efficiency of the KKT simplex method is
due to: (i) the reduction of the size of the LP Step 3. Solve the system , .
problem and (ii) the reduction of the number of
Step 4. Find the living variable :
simplex steps by means of the angular pricing
Compute the simplex coordinates
strategy. However, the method bears the same
complexity as the usual simplex method. That is, -
If :
the number of simplex steps taken to solve a LP
problem is bounded [2] by
{

( ) (41)
-
If and :
However, this bound changes as a result of the
reduction of the size of the LP problem from m to {
0.6m, as it will be shown graphically in section 4.

Find .
4 Numerical Experiments
If there is no such , the problem is unbounded;
In this section we test the performance of the KKT otherwise, at least one component of - equals
Simplex method with respect to the RSM [8] in zero if , or equals zero if , and the
solving LP problems for grasp analysis. These LP associated variable is leaving the basis.
problems are discussed in Appendix A. A single
Step 5. Set the value of the entering variable equals
problem with 400 constraints and a sequence of -
probl w to if , or to - if . Replace by - if
-
solved using the same threshold coordinate , or by if . Replace the leaving column
- . The starting point is the analytic center of the basic matrix by the entering column , and
of . replace the leaving variable by the entering
variable .
In particular, we will test the efficiency and the
one-phase nature of the KKT Simplex method. END of the algorithm 2.

Computación y Sistemas Vol. 18 No. 2, 2014 pp. 225-242


ISSN 1405-5546
http://dx.doi.org/10.13053/CyS-18-2-2014-029
236 Alejo Mosso-Vázquez, David Juárez-Romero…

4.1 Reduction of the Problem Size

Fig. 6 shows the graph of reduced sizes vs.


the initial size of the sequence of LP problems
solved by the KKT Simplex method with respect
to the RSM. A slope of 0.6 is exhibited in the
graph for the reduced sizes . That is, a
reduction of 40% of the size of each of these
problems was reached.
Fig. 7 shows the ratio Fig. 6. Reduced sizes of a sequence of problems

0.065
(42)
0.06
of the reduced bound to the original
bound for problem . 0.055
From figure 7 we can see that a size reduction
0.05
from m to 0.6m causes a bound reduction from
C(m) to about C(0.6m)=0.05C(m) for . 0.045
0 200 400 600 800
Size of the LP problem "m"
4.2 Reduction of the Number of Simplex Steps
Fig. 7. Bound ratio
The two graphs in figure 8 show the reduction of
the number of simplex steps due to the angular
pricing strategy implemented in the KKT Simplex
method in solving a LP problem of 400
constraints.
The optimal solution is reached in 35 steps
when the angular pricing strategy is implemented,
w w D ’
is used.

Fig. 8. Reduction of number of simplex steps


4.3 Computation Time of the Problem
solve the grasp analysis which involves 32
A single problem: The time in milliseconds constraints by means of a convex hull based
of the KKT Simplex method is compared method; the KKT Simplex method solves a LP
with of the RSM spent per step in solving problem of 400 constraints in
a LP problem of 400 constraints, as it is shown in milliseconds. Since these results were obtained
figure 9. The identification of nonbinding on different machines and/or methods, we just
constraints takes milliseconds as part of may say that the KKT Simplex method solves a
the above methods. That is, is on the order LP problem of grasp analysis in a reasonable
of . computational time. We must point out that there
is not still a benchmark on grasp analysis for
Therefore, the KKT Simplex method is about execution time comparison.
times faster than the RSM in this experiment.
In 2001 Ding [11] reported 238 milliseconds for
solving the same LP problem of 400 constraints A sequence of problems: Figures 10 and 11
by means of a Simplex method; in 2009 Roa and below show the solution time spent by the KKT
Suárez [32] reported about 687 milliseconds to Simplex method and the IBM ILOG CPLEX

Computación y Sistemas Vol. 18 No. 2, 2014 pp. 225-242


ISSN 1405-5546
http://dx.doi.org/10.13053/CyS-18-2-2014-029
A KKT Simplex Method for Efficiently Solving Linear Programs for Grasp Analysis… 237

optimization software respectively in solving a


sequence of LP problems.
Graph ① of Fig. 10 shows the time spent by
the RSM in solving a sequence of LP problems of
with
no size reduction (using - ). While graph ②
shows the time spent by the KKT Simplex method
in solving the same sequence but in the free
variable form sated in (1) with size reduction
(using - ). We can see that the KKT
Fig. 9. Time per step
Simplex method is about 4.5 times faster than the
RSM in solving each of these problems.
In a grasp analysis situation, the user may
choose the precision of the grasp linearization
and the corresponding solution time by
changing the problem size m. A reasonable
precision is obtained with m=400 [11].
Fig. 11 shows the time spent by the IBM ILOG
CPLEX optimization software in solving a
sequence of LP problems of dimensions m=25,
400.
From Fig. 11 we can see that the reduced LP Fig. 10. Solution time spent per LP problem of size “ ”
by the KKT Simplex method
problem (using - ) with free variables ②
is solved about 2 times faster than the non-
reduced LP problem (using - ) in standard
form ①. Comparing the graphs of figures 10 and
11 we see that the CPLEX software is completely
faster than our Matlab implementation. We neither
optimized the programming code nor performed
any numerical improvement. Even though the
great difference in time response, both
implementations show that the solution ② of the
reduced LP problem is better than that of ①.
Fig. 11. Solution time spent per LP problem of size “ ”
4.4 Combination of a Primal-Dual Interior- by the IBM ILOG CPLEX optimization software
Point Method and the KKT Simplex Method

The one-phase nature of the KKT Simplex


method is shown in Fig. 12 by means of its
combination with a primal-dual interior-point
method (PD-IPM) [2, 3, 42]. The figure shows the
times 13 milliseconds and 2
milliseconds spent per step by the PD-IPM and
KKT Simplex method respectively in solving a LP
problem of 400 constraints. The LP problem in
standard form and the PD-IPM are briefly
described in appendix B. Fig. 12. Time spent per step

Computación y Sistemas Vol. 18 No. 2, 2014 pp. 225-242


ISSN 1405-5546
http://dx.doi.org/10.13053/CyS-18-2-2014-029
238 Alejo Mosso-Vázquez, David Juárez-Romero…

The PD-IPM brings the starting point, denoted for one simplex step, at least when solving a LP
as , of the KKT Simplex method close to the problem of 400 constraints.
optimal vertex in 40 steps as it is shown in the The fact that the KKT Simplex method can
graph of figure 12. Then in just 6 more steps the start at any point of the polyhedron and reach the
KKT Simplex method reaches in just one first vertex on the polyhedron of feasible solutions
simplex phase: “ ”
makes the KKT Simplex method suitable to be
(43) combined with an interior-point method as it was
- . shown in the experiments. Since the PD-IPM is a
polynomial-time method in solving LP problems
Since is close enough to :
-
[2, 43] and that the KKT Simplex method reaches
‖ - ‖ , the first vertex found on the the optimal solution in a reduced number of steps
polyhedron is . The first vertex is reached in when it starts at the solution delivered by the PD-
“ ” IPM, we suggest, as a future work, to search the
analysis). The tested combination is not efficient proposed combination for a polynomial-time
because the PD-IPM solved a LP problem in property [3].
standard form. However, the KKT Simplex Although the method of identification of
method maintains its efficiency. nonbinding constraints works in LP problems for
grasp analysis, the method is subjected to the
tuning of the threshold coordinate for a
5 Conclusions
general LP problem. However, - is
In this paper, we have proposed a one-phase suggested as a conservative value.
method, named as KKT Simplex method, which
efficiently solves linear programming problems for
Appendix A.
grasp analysis of robotic hands. The proposed
method possesses the three following properties: LP Problem for Grasp Analysis
(i) The one-phase nature by dealing with free
variables directly while choosing the entering and In grasp and manipulation planning, the two most
leaving variables, which enables the method to important classes of grasp are known as form-
start at any point of the polyhedron of feasible closure and force-closure grasps [5, 25, 41]. In
solutions, (ii) the reduction of the problem size by this paper, grasp analysis refers to the decision
the identification of nonbinding constraints as a whether a grasp is force-closure or not.
pre-solution procedure which is based on an Many works have been reported to solve grasp
angular measure and preserves the KKT cone, analysis, among them are: [11, 23, 25, 32, 33,
and (iii) the reduction of the number of simplex 35, 41]. Liu [23] and Ding [11] proposed a new LP
steps by means of an angular pricing strategy. formulation of the grasp analysis based on the
The one-phase property of the KKT simplex duality between convex hull and convex
method is derived from the direct processing of polytopes. Roa and Suárez [32, 33] presented a
the optimization free variables. The efficiency of geometrical approach to compute force-closure
the KKT Simplex method derives from: (i) the grasp with or without friction.
suppression of nonbinding constraints, and (ii) the We will focus on the LP problem introduced by
reduction of the number of simplex steps by Liu [23] and Ding [11]. The details of the LP
means of the angular pricing strategy. formulation may be found in these works.
Numerical experiments on LP problems for Assume a polyhedral rigid object is grasped
grasp analysis show a reduction of 40% of the with 4 fingers in a 3D workspace. Each finger is in
problem size by the identification of nonbinding a point to point frictional contact with the object
constraints. Although a high size reduction is with the same frictional coefficient . The
achieved, the computational cost of the grasping position and normal vectors, with
identification is negligible: on the order of the time respect to the center of mass of the object, are

Computación y Sistemas Vol. 18 No. 2, 2014 pp. 225-242


ISSN 1405-5546
http://dx.doi.org/10.13053/CyS-18-2-2014-029
A KKT Simplex Method for Efficiently Solving Linear Programs for Grasp Analysis… 239

the same as that used in [11]: ,


, , - , - ,
, , , - .
At each contact points, the friction cone is
linearized by a polyhedral convex cone with The PD-IPM of the Algorithm A.1 computes a
sides. Therefore, the number of constraints of the feasible solution to the LP problem in the
resultant LP problem is . standard form (B.2) with parameters given
in the left hand side of (B.3). We choose
Appendix B. PD-IPM ( ) as the initial point, the
parameter 0.00007 to terminate the algorithm,
By applying to (1) the following transformation [4] , and .
- - (B.1)
- , Algorithm A.1. The PD-IPM adapted from [2, 42]
we get the LP problem in the standard form:
Step 1. Choose such that , , and
(B.2) . Let k = 0.
, ,
where the parameters and variables have been Step 2. Let - - , - - , and
recast as follows: .
[ - ] ,
Step 3. If , then terminate.
- ,
(B.3)
-
, Step 4. Pick and compute the increments
. :
The parameters and variables in the right hand
-
side of (B.3) correspond to the LP problem (1) ,
with free variables, while those in the left hand
side correspond to the standard form (B.2), which - ,
will be used just in this appendix.
The first order optimality conditions to (B.2) are
- -
where and ( - ).
[ ] (B.4)
Step 5. Compute the step size: for
some , where: D ,
where the first equality enforces primal feasibility,
- , D -v v v .
the second enforces dual feasibility, are
Lagrange multipliers, are dual slacks Step 6. Update:
variables, , , and
is proposed. Assuming and , then
[ ] [ ] [ ].
by a Taylor approximation of (B.4) to the first
order, we obtain [2, 42]
Step 7. Let k = k+1 and return to step 2.
-
[ ][ ] -[ - ], (B.5) Step 8. Recover the optimal solution to the original LP
- problem: - from:
.
where
v v (B.6) END of the algorithm A.1.

Computación y Sistemas Vol. 18 No. 2, 2014 pp. 225-242


ISSN 1405-5546
http://dx.doi.org/10.13053/CyS-18-2-2014-029
240 Alejo Mosso-Vázquez, David Juárez-Romero…

References 16. Gondzio, J. & González-Brevis, P. (2012). A New


Warmstarting Strategy for the Primal-Dual Column
1. Al-Najjar, C. & Behnam, M. (2011). Hybrid LP: Generation Method. University of Edinburgh,
Finding Advanced Starting Points for Simplex, and Edinburgh, UK. (Technical Report ERGO 12-007).
Pivoting LP Methods. Computers & Operations 17. Harris, P.M.J. (1973). Pivot Selection Methods of
Research, 38(2), 427–434. the Devex LP Code. Mathematical Programming,
5(1), 1–28.
2. Andersen, E.D. (2001). Linear optimization:
Theory, methods and extensions. Retrieved from 18. Illés, T., Szirmai, Á., & Terlaky, T. (1996). The
http://plato.asu.edu/ftp/linopt.pdf. Finite Criss-Cross Method for Hyperbolic
Programming. (Report 96-103). Delft, The
3. Andersen, E.D. & Ye, Y. (1996). Combining
Netherlands: The Faculty of Technical Mathematics
Interior-Point and Pivoting Algorithms for Linear
and Informatics.
Programming. Management Science, 42(12),
1719–1731. 19. Junior, H.V. & Lins, M.P.E. (2005). An improved
initial basis for the Simplex algorithm. Computer
4. Bazaraa, M.S., Sherali, H.D., & Shetty, C.M.
and Operations Research, 32(8), 1983–1993.
(2006). Nonlinear Programming Theory and
Algorithms. Hoboken, N.J.: Wiley-Interscience. 20. Kaluzny, B.L. (2001). Finite Pivot Algorithms and
Feasibility. Master of Science Thesis. McGill
5. Bicchi, A. (1995). On the Closure Properties of
University, Montreal, Canada.
Robotics Grasping. The International Journal of
Robotics Research, 14(4), 319–334. 21. Karwan, M.H., Lotfi, V., Telgen, J., & Zionts, S.
(1983). Redundancy in Mathematical Programming.
6. Borgwardt, K.H. (1987). The Simplex Method, A
Berlin; New York: Springer-Verlag.
probabilistic Analysis. Berlin; New York:
Springer Verlag. 22. Lippiello, V., Siciliano, B., & Villani, L. (2013).
Multi-fingered grasp synthesis based on the object
7. Brearley, A.L., Mitra, G., & Williams, H.P. (1975). dynamic properties. Robotics and Autonomous
Analysis of Mathematical Programming Problems Systems, 61(6), 626–636.
Prior to Applying the Simplex Algorithm.
Mathematical Programming, 8(1), 54–83. 23. Liu, Y.H. (1999). Qualitative Test and Force
Optimization of 3-D Frictional Form-Closure Grasps
8. Chvatal, V. (1983). Linear Programming. New York: Using Linear Programming. IEEE Transaction of
W. H. Freeman. Robotics and Automation, 15(1), 163–173.
9. Corley, H.W., Rosenberger, J., Yeh, W.C., & 24. Megido, N. (1991). On Finding Primal-Dual Optimal
Sung, T.K. (2006). The Cosine Simplex Algorithm. Bases. ORSA Journal on Computing, 3(1), 63–65.
The International Journal of Advanced
Manufacturing Technology, 27(9-10), 1047–1050. 25. Mishra, B., Schwartz, J.T., & Sharir, M. (1987). On
the Existence and Synthesis of Multifinger Positive
10. Dantzig, G.B. (1963). Linear Programming and Grips. Algorithmica, 2(1-4), 541–558.
Extensions. New Jersey, UK: Princeton
University Press. 26. Mosso-Vázquez, A. (2012). Método Simplex KKT
para la Solución del Análisis de la Sujeción por
11. Ding, D. (2001). Grasp Synthesis of Multi-fingered Manos Robóticas. Tesis de Doctorado. Universidad
Robotic Hands. PhD Thesis. Chinese University of Autónoma del Estado de Morelos (UAEM), México.
Hong Kong, Hong Kong, China.
27. Mulmuley, K. (1994). Computational Geometry.
12. El-Khoury, S., Sahbani, A., & Bidaud, P. (2011). Englewood Cliffs, NJ: Prentice Hall.
th
3D Objects Grasps Synthesis: A Survey. 13 World
28. Paparrizos, K., Samaras, N., & Stephanides, G.
Congress in Mechanism and Machine Science,
(2003). A New Efficient Primal Dual Simplex
Guanajuato, México.
Algorithm. Computers & Operations Research,
13. Floudas, C.A. & Pardalos, P.M. (2009). 30(9), 1383–1399.
Encyclopedia of Optimization. New York: Springer.
29. Paulraj, S. & Sumathi, P. (2010). A Comparative
14. Fukuda, K. & Terlaky, T. (1997). Criss-Cross Study of Redundant Constraints Identification
Methods: A Fresh View on Pivot Algorithms. Methods in Linear Programming Problems.
Mathematical Programming, 79(1-3), 369–395. Mathematical Problems in Engineering, Volume
15. Gal, T. (1995). Postoptimal Analyses, Parametric 2010, Article ID 723402.
Programming, and Related Topics: degeneracy, 30. Paulraj, S. & Sumathi, P. (2012). A New Approach
multicriteria decision making, redundancy. Berlin; for Selecting a Constraint in Linear Programming
New York: Walter de Gruyter. Problems to Identify the Redundant Constraints.

Computación y Sistemas Vol. 18 No. 2, 2014 pp. 225-242


ISSN 1405-5546
http://dx.doi.org/10.13053/CyS-18-2-2014-029
A KKT Simplex Method for Efficiently Solving Linear Programs for Grasp Analysis… 241

International Journal of Scientific and Engineering 44. Yeh, W.C. & Corley, H.W. (2009). A simple direct
Research, 3(8), 1345–1348. cosine simplex algorithm. Applied mathematics and
31. Rao, C.R. (2002). Linear Statistical Inference and Computation, 214(1), 178–186.
nd
Its Applications (2 ed.). New York: Wiley. 45. Zionts, S. (1969). The Criss-Cross Method for
32. Roa, M.A. & Suarez, R. (2007). Geometrical Solving Linear Programming Problems.
Management Science, 15(7), 426–445.
approach for grasp synthesis on discretized 3D
objects. IEEE/RSJ International Conference on
Intelligent Robots and Systems (IROS, 2007), San Alejo Mosso Vazquez received an
Diego, CA, 3283–3288. engineering degree in
33. Roa, M.A. & Suarez, R. (2009). Computation of Communication and Electronics
Independent Contact Regions for Grasping 3-D from the School of Electrical and
Objects. IEEE Transactions on Robotics, 25(4), Mechanical Engineering of the
839–850. National Polytechnic Institute (IPN)
34. Sahbani, A., El-Khoury, S., & Bidaud, P. (2012). of Mexico in 1975. He holds M.Sc.
An overview of 3D object grasp synthesis from CINVESTAV-IPN, Mexico (1986), M.Sc.
algorithms. Robotics and Autonomous Systems, from ITESM, Mexico (2003), and Ph.D. in
60(3), 326–336.
Engineering and Applied Sciences from CIICAP-
35. Salisbury Jr., J.K. (1982). Kinematic and Force UAEM, Mexico (2012). His research interests are
Analysis of Articulated Hands. PhD. dissertation, optimization and linear control, and their
Stanford University, Stanford, CA.
applications to robotics.
36. Shang, S. (1997). New Variants of Finite Criss-
Cross Pivot Algorithms for Linear Programming.
David Juárez-Romero received
European Journal of Operational Research, 116(3),
607–614. his engineering degree in
Chemical Engineering from the
37. Terlaky, T. (1985). A Convergent Criss-Cross
Chemical Faculty-UNAM. He has
Method. Optimization: A Journal of Mathematical
Programming and Operations Research, 16(5), M.Sc. and Ph.D. from the Imperial
683–690. College, University of London,
U.K. His research interest is the
38. Thompson, G.L., Tonge, F.M., & Zionts, S.
(1966). Techniques for Removing Nonbinding improvement of the design and
Constraints and Extraneous Variables from Linear operation of processes of separation-
Programming Problems. Management Science, transformation related with energy machines. He
12(7), 588–608. develops methodologies of analysis, design, and
39. Trigos, F. (2002). Sobre la Reducción de Modelos control of these processes. He is a member of the
de Programación Lineal. Métodos Numéricos en National System of Researchers of Mexico.
Ingeniería y Ciencias Aplicadas, 1, 409–418.
40. Trigos-Salazar, F., Frausto-Solís, J. F. and Marco Antonio Cruz-Chávez
Rivera-López, R. (2002). A Simplex-Cosine holds Ph.D. in Computer Science
Method for Solving Hard Linear Problems. from ITESM, Mexico (2005). He
Advances in Simulation, System Theory and has been a Research Professor
Systems Engineering, WSEAS Press, ISBN 960852 since 2004 at CIICAP-UAEM,
70X, pp 27-32. Mexico, where he was appointed
41. Trinkle, J.C. (1992). On the Stability and as Head of the Academic Staff of
Instantaneous Velocity of Grasped Frictionless Research on Optimization and
Objects. IEEE Transactions on Robotics and Software. He is a member of the
Automation, 8(5), 560–572. National System of Researchers of Mexico. He is
42. Wright, S.J. (1997). Primal-Dual Interior-Point currently Technical President of CICos Congress
Methods. Philadelphia: The Society for Industrial and Technical Editor of the journal Optimization
and Applied Mathematics. and Software published by the UAEM. His
43. Ye, Yinyu (1997). Interior point Algorithms Theory research interests are resources assignment
and Analysis. John Wiley and Sons, Inc. optimization.

Computación y Sistemas Vol. 18 No. 2, 2014 pp. 225-242


ISSN 1405-5546
http://dx.doi.org/10.13053/CyS-18-2-2014-029
242 Alejo Mosso-Vázquez, David Juárez-Romero…

Luis Enrique Sucar has Ph.D. in Sciences, and Senior Member of the IEEE. His
Computing from the Imperial main research interests are in graphical models
College, London (1992) and M.Sc. and probabilistic reasoning, and their applications
in Electrical Engineering from in computer vision, robotics and biomedicine.
Stanford University (1982). He is a
Senior Research Scientist at
INAOE, Puebla, Mexico. Dr. Sucar
is a member of the National System of
Researchers of Mexico, the Mexican Academy of Article received on 11/06/2012, accepted on 07/03/2014.

Computación y Sistemas Vol. 18 No. 2, 2014 pp. 225-242


ISSN 1405-5546
http://dx.doi.org/10.13053/CyS-18-2-2014-029

Вам также может понравиться