tableau representation of the constraint matrix. The parallel algorithm reduces .... software. On the other hand, efficient parallel simplex method implement ation .... BI?S x. If B is the basic submatrix of A associated with x, ~we set Xo. = B-lb, and.
An
Efficient
Steepest-Edge
Algorithm
for
Michael
E.
Simplex
SIMD
Thomadakis
Department
Computers
and
Jyh-Charn
of Computer
Texas College
A&M
Science
University
Station,
{miket,
TX
77843-3112
jcliu}~cs
Abstract
.temu.
and
edu
Lewis
simplex This
paper
and
Dual
lems
proposes Simplex
on massively
are based the
on
tableau
taining
local the
Edge the
method
work.
The
speedup that
Edge
1
and
MP-1 1000
Simplex
local
Pivot PEs
and
times, running
MP-2
of
before
pivot
increase models
on high-end
PEs.
and
mesh
respectively,
the
The
to search are
optimal
are in the over Unix
for the net-
results
order
of 100
Steepest-
workstations.
Introduction
Linear Programming (LP) is a significant area in the field of mathematical optimization, where a linear function z = Clxl + C2Z2 + . . . + c~r~ is optimized, subject to a set of linear equality or inequality constraints. The Simplex is the most widely used solution method for linear programming problems [2, 12, 14]. As in the solution of any large scale mathematical system, the computation time for large LP problems is a major concern. Recently, several researchers experimented with the parallelization of the Simplex algorithm, on vector, shared
in
They
reported
sizes.
tableau
and
computer. the
on shared
of the
inverse
Helgason
the the
on
[9] discussed
using
sparse
computer,
implementation.
scalability
simplex
et aL
Simplex
revised a shared
[17] studied
revised
MIMD
on
good
Stunkel
the
revised
memory
actual
and
[5].
Shu
The
[16] parallelized
early
performance. of
matrix
without
Recently,
dense
simplex
are
relatively
efficient quire
easy
elab-
Shu
and
Wu
focus Dual
PA, USA @1996 ACM 0-8979 l-8 fj3-7/9fj/05. .$3.50
286
SIMD
on
a CM-
algorithms
machines
On
the
implement and
with
other
ation
placement
to express
hand,
would
re-
low-level
in current
paper
is on the
methods
on
been
the
pivot
on the sequential
for
The
(SPARC and
Two-Phase
selection
data
data-parallel
design
SIMD
on
solution 1000,
MP-2)
comparisons
parallel
methods.
parallel
simplex
parallel solution matrices. Our
tableau
technique
a Sun effort
MP-1
time
so that
of scalable
multiprocessor
method and
it
and
has been
MP- 1 and MP-2 Ma.sPar SIMD maversion of the steepest-edge simplex
implemented
workstation.
Philadelphia,
on
method
of this
is based
implemented chines. A
(MP-I
prototypes
point
software.
to data
Simplex
Steepest-Edge
tation
interior
We present an efficient massively LP problems with dense constraint
algorithm
has
simplex
a disappointing
algorithms
implement
is dficult
main and
systems. to general
Permission to make digital/hard copies of all or part of thk material for personal or classroom use is granted without fee provided that the copies are not made or dktributed for profit or commercial advsntage, rhe. copyright notice, the title of the publication snd its dste appear, and notxe IS given that copyright is by permission of the ACM, Inc. To copy otherwise, to republish, to post on servers or to rdktribute to lists, requires specific permission andlor fee.
[1] had
and
[5] implemented
that
library
inverse
languages.
The Primal
to
attention
which
high-level
the
concluded
parallel
motion,
in
interior-point
available
careful
explicit
in
et al.
and
They
commercially
the
implementation
Eckstein
2 machine.
and distributed memory Multiple-Instruction Multiple-Data (MIMD) types of computer architectures. One of the earliest parallel tableau simplex methods on a small-scale distributed memory MIMD machines is by Finkel in [6]. His study showed that the overhead for distributing matrix elements for pivot operations, for finding minimum or maximum values among different PEs, and for inter-process synchronization, did not allow for any significant speedup. Wu
ICS’96,
basis
the LU decomposition of the basis simplex algorithms on iPSC/2 and Touchstone Delta computers. Both methods are very successful on uniprocessors, with the first being more suitable to LP problems with dense constraint matrices, and the second LP problems with sparse matrices. For up to medium scale LP problems the explicit form of inverse method attained reasonable speedup. The LU decomposition simplex on the Toughstone Delta attained some speedup only on large and sparse problems. Their sparse simplex parallelization experienced high communication to computation ratio on the Touchstone machine due to strong data dependencies between PEs. Simplex algorithms for general LP problems on Single Instruction Mulitple Data (SIMD) computers have et al. been reported by Agarwal et al. in [1], and by Eckstein [15]
obtained
sequential
of the
on
parallelizations
of the
problem
hypercube
orating
asymptotic
speedups
small
to implement
methods
effi-
utilizing
experimental
the
a way
Steepest-
columns steps,
haa
iPSC/2
along
interconnection
and
and The
two
form
machine.
on very
performance
by main-
tableau
information
rows
properties sizes
method
presented explicit
MIMD
results
algorithms
matrix.
[18]
with
memory
Primal prob-
overhead
one of the
parallelization
scalability
selection
constraint
portions
toroidal
as problem
by MasPar’s times,
to
pipelined,
proposed
and
key
the
The
communication
mainly
element.
broadcasted of
pivot the
on each
utilizes
pivot
geometry
show
of
of
Programming
computers.
of
reduces
replicas
Linear
SIMD
Steepest-Edge
sub-matrices
next
ciently
parallel
the
algorithm
implementation for
representation
parallel with
a new
algorithms
Liu
can
and
per be
Performance running
on
SPARC
server
in terms MP-2)
simplex made
and
between PE
Unix
compu-
communication
iteration
is measured sequential
and
show
that
our
achieves
ex-
experiments a 16,384
1000
of average
MP-2
ecution the
speedups
sequential This
the
paper
scalar
SIMD
of the
and
Simplex
on the 4 discusses
simplex
to attain
The
to
1,200
times
over
the
MP-2
factors
high
Sequential
optimal
MasPar
which
speedup
analyzes
execution
its
the
baaic
per-
time
models.
allow
the
way
Finally,
steepest-edge
results.
Steepest-Edge
X(,), one
that
Algorithm
obtains
the
column,
Al
A
only
if its
that
~O,orzj~O,
j=l,2,
...,
k.
Every
in the general form can be expressed form. In this [4, 14] in the standard
paper,
generality,
types
in the
we consider
standard
into
minimization
form,
defined
as
min
=
z
LP
without of LP
the The
of
XJ
problems,
c’x
(1)
x.
If
B
set
Xo
plex x~o,
the
A
cost
hand
is a m x n constraint coefficients
side
such
(m
(RHS)
that
Ax
polytope
row
vector,
column
{x
E
and
vector
= b is called
F =
coefficient
Rn :
b
E
c’
R m
of constants.
a feasible
Ax
matrix,
the
Any
point,
and
= b, x > O} forms
x
ith
and
basis
present
of this
B partitions
denoted A
in the
vector by
formed
A
=
by
(n
Given
l?(i)
matrix
A
into
[NIB].
N
is a m x (W -
– m)
column two
non-basic
which
a bssis
jth
B,
BFS
basic
the
(n — m)
columns
x
components
associated
with
we denote
a BFS
the
by x =
basic
Ax
= NXN
and
columns [x~
and
the
duced
cost
row
B
expresses
of the
are positive
and,
xB
=
B-lb.
The
x is given
+ BXB
cost
value
= BXB
= b,
z of the
objective
known
tex
(i.e.,
the
optimal
F. X(o)
The and
straint
[4,
a corner
LP.
the
choose
one
among
those
baais,
is
Once the
pivot
a new
termines
matrix
In
the
If
we have
every
of
convex
denoted
BI?S x,
n.
~we
Sim-
matrix ~’.
lower
_cl ~xB uses
to
m
X
X
is
the
rows
of column
row
Xj
...
X2
...
of BFS to
negative x:,
13
a pivot
column
column
pivot
xl
=
a re-
form
vectcms
of X
En
X. heurist-
introduce
into
cost
the
coefficient.
is selected,
z is the
(z)
~
Xn
selection
reduced
where
simplex
row
that
de-
satisfies
condition
Then
simplex
erates
a new
performs to
X
the
tableau
=
k=l,2,...,
m
,
(3)
it
gen-
}
a pivot
tableau
respect new
~:x~2>0, x kj
{
from
operation X.
resulting
X
new
are computed
xkl–zlcj~>
by
BFS
x
c
polytope x*,
is
F is a verF,
also
and
a vertex initial on the
fore
on Z,j
reflects basis
~.
and
a representation The
elements
of
as follows: k=O,l,...,m,~#ij
(4)
~ xi~
k=i,
9
n.
a pivot
step,
throughout
that
row,
of
in
BFS con-
Eq.
X.
and
the
parts
pivot
. . . . x(~)
of
1,2,...,
O is equal
c1
simplex
with
pivot
the
function
called
problem
RHS
with
tableau
consists
X.
profitable
6,=~=min xt~
non-
simplex pivot steps, it generates a of BFSS’. For the values of the at the BFSS we have cost function 20, ZI, . . . . zk evaluated that z, s z,_l, so that after a finite number k of pivot steps 1Ignoring
A,
xc~),x[~),
the
a given
vector
remaining
—z
step
minimum-ratio
the
simplex algorithm starts from some by applying successive transformations
sequence
the
row row
which
and
with
= c’B-lb.
that
point)
solution,
the
=
to
ic
~kl
14]
and
= O — c~B-lb
forl=O,l,...,
is well
where
c’
each
{ It
E’,
At
by Z = C~XB
1) matrix
in
. . . . n,
to introduce
associated
and
Simplex 1,2,
B
numbers. then
form
O, 1, . . . . n,
A3. =
A,
B-l AJ, j =
=
Z3
ame
a representation
matrix of A
by
component
B-l
B associated
a compact
=
m components,
IXB] d = [olxB]~,
X~
B-l[+]
-.2
where,
of
which
rest
in j
‘=
B,
of the m columns with
and
(n +
with
at a BFS
B-lb,
basis
where
amount
O, j
maintains
submatrix
—z
the
columns
(BFS)
basic
1) x
given
submatrix
associated
to zero
that Any
m basic
Rn
c
of the
zero,
the
columns
of constraint
Xo,xl,..., x., asfollows:
Similarly,
of the
method
AJ
rightconvex
N
m)
columns.
consists a vector
are equal
columns
ba-
profitable
components
=
EJ ~
profitable
be
than
basic
a
~ Rn feasible
submatrices
RHS b of (1) as a linear combination a basic feasible solution of A, is called any
basis.
a m x (n + 1) submatrix
the
of A.
no other
current
to
when
Xj
when
in
profitable
the
CJ is
where X*
c Rn
the
= j means
is the
a m x m submatrix of A.
discussion
bssis
–Xj,
rest
profitable
ZJ is less
the
a ncmletting
a “less” into
changes
=
x(,-l)
operation
a “more” A,
while
BFS
there
+
space of the given LP problem, for w~ich we assume F # 0. Any collection of m linearly independent columns of matrix : i = 1,2,. ... m}, is called a basis A, denoted by B = {A~(i) of A,
unit,
quantity
Xj,
C’X*
pivot
is considered
value
one
optimal
maintains
removing
Cj – c&Xj.
=
simplex
columns
by
the
A
introducing
cost coefficient
Aj
current
=
=
while
adjusting
@ L?(i _l ) of
function
is the
and
f? B of A
b in terms
z*
positive,
feasibility.
L?(,,,
tableau
of the
vector
Ax=b
where,
by the
zero,
and
Ai
AJ
is, when
into
basis
by
i.e.,
) to become
to
f3(, _l ),
cost
is found,
. .
primal
reduced
adjusted
LP
loss
c
of x increases
problem
an equivalent
new
the
andz~
drop
— C~B-l
which
reaches
to
column
Ej =c,
x(k)
of X(i_l
column
sis.
Linear Programming (LP) problems are usually formulated in the general form, where a linear function in k variables, z = CIZ1 +CZZZ +. . .+ckZk, is minimized or maximized, while it satisfies a set of linear equality or inequality constraints,
=
When simplex moves from BFS basis B(, ) is formed, by flowing
maintains
non-basic
Simplex
x*
component
a basic
mea-
BFS c F}. a new
: x
to BFS
2 overviews 3 develops
it
presents
and
the
Section
algorithm,
and
MP-1
Section
method.
scalability,
section
2
1,000
sa follows.
Simplex
Steepest-Edge
surements
of
min{c’x
is organized
Primal
formance
order
version.
a,
(4)
it
depends tableau. ods
is the
b.
287
(1 .a) shows columns
reduced
column In
Fig.
row,
is clear
cost
with row
X$,x:
pivot
element,
element
Zit, most
Dantzig’s
rule
~kt
and
[4],
where
top
shaded Z,J
are
respectively.
of the
simplex
the most 0 : k =
X
be-
are scattered
6’ is the
z;l, fCkj, and Zkl widely used pivot
Xj the one with E, = min{?~