OR 320/520 Optimization I
11/013/07
Professor Bland
Sparsity and
Packed Storage
Assume we have an
m
×
n
constraint matrix
A
, where
m
and
n
are large, but
σ
(the fraction
of entries in
A
that are nonzero) is very small. Then rather than store
A
explicitly, we can
store only the nonzero entries by the following scheme. The arrays
V AL
(
·
) and
ROW
(
·
) each
have length equal to the number of nonzeros in
A
, which is
σmn
. We scan
A
by columns,
starting from column 1 and enter sequentially the value of each nonzero entry and its row
number in
V AL
( ) and
ROW
( ) respectively.
Consider an example where:
m
= 1
,
000;
n
= 10
,
000,
σmn
= 125
,
000 and
•
column 1 has 4 nonzero entries:
a
72
,
1
= 1;
a
416
,
1
=

1;
a
483
,
1
= 6;
a
640
,
1
= 3
•
column 2 has 5 nonzero entries:
a
46
,
2
=
.
5;
a
47
,
2
= 4;
a
189
,
2
=

2;
a
352
,
2
= 1;
a
810
,
2
= 1
•
column 3 has 8 nonzero entries:
a
212
,
3
= 2
, . . .
.
Then the arrays
V AL
( ) and
ROW
( ) begin with
i:
1
2
3
4
5
6
7
8
9
10
VAL(i):
1
1
6
3
.5
4
2
1
1
2
· · ·
ROW(i):
72
416
483
640
46
47
189
352
810
212
· · ·
These arrays each have length
σmn
= 125
,
000.
Every entry in
ROW
( ) is an integer
This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
This is the end of the preview.
Sign up
to
access the rest of the document.
 Fall '07
 BLAND
 Simplex algorithm, Row, nonzero entries

Click to edit the document details