Professional Documents
Culture Documents
Bei He1
Jin-Hua She2
School of Information Science and Engineering, Central South University, Changsha 410083, PRC
2
Abstract:
LDL-factorization is an efficient way of solving Ax = b for a large symmetric positive definite sparse matrix A. This
paper presents a new method that further improves the efficiency of LDL-factorization. It is based on the theory of elimination trees
for the factorization factor. It breaks the computations involved in LDL-factorization down into two stages: 1) the pattern of nonzero
entries of the factor is predicted, and 2) the numerical values of the nonzero entries of the factor are computed. The factor is stored
using the form of an elimination tree so as to reduce memory usage and avoid unnecessary numerical operations. The calculation
results for some typical numerical examples demonstrate that this method provides a significantly higher calculation efficiency for the
one-to-one marketing optimization algorithm.
Keywords:
Sparse matrix factorization, elimination tree, structure prediction, one-to-one marketing optimization.
Introduction
One-to-one marketing optimization is a crucial technology for analytical customer relations management (CRM).
Its main function is to assist an enterprise in one-to-one
marketing activities by providing suitable decisions. It is
also used as an approach to understand and influence customer behavior through meaningful communication in order
to improve customer retention, customer loyalty, and profitability. Since optimization technology brings great benefits to an enterprise, increasing numbers of enterprises have
been researching and employing it[13] .
A one-to-one marketing optimization problem involves
finding a binary vector (the best marketing plan) that maximizes a linear objective function (profit), which is subject
to constraints, i.e.
max
s.t.
T
,
= [1 n ]T ,
i {0, 1}, i = 1, , n
(1)
(2)
M. Wu et al./A Fast LDL-factorization Approach for Large Sparse Positive Definite System and Its Application to
Related works
At present, several robust algorithms and software packages have been developed to solve the linear matrix equation
(2). Specifically, the algorithms presented in [6] are mainly
used in Cholesky factorization; they factor A into CC T ,
where C is a lower triangular matrix called the Cholesky
factor of A. To avoid the storage of, and operations on,
the zero entries of C, Rose devised a new computational
method for Cholesky factorization[7] , in which the computation is broken down into two stages: First, in the symbolic
stage, the pattern of nonzero entries of C is predicted; and
then, in the numerical stage, this structure is used to carry
out numerical calculations. The advantage of this method
is that the time needed for the first stage is proportional to
the size of C. This method was improved by George and
Reid, who developed SPARSPAK[8] , which uses asymptotically fastest algorithms to compute the Cholesky factorization in the symbolic stage. Later, Liu presented a compact
row-oriented storage scheme for Cholesky factorization[9] .
This structural representation can be viewed as the minimal structure of a given matrix that preserves the symbolic
Cholesky factor.
On the other hand, Gilbert and Peierls devised a new
solution for general Gaussian elimination, A = GU , where
G is a lower triangular matrix and U is an upper triangular
matrix. It also breaks the computation of the factorization
factor into a symbolic and a numerical stages[10] . In the
calculation procedure, the pattern of nonzero entries in each
89
Algorithms
(3)
90
(6)
C := L D = Ldiag (1 , 2 , , n )
(7)
(8)
(9)
(10)
= b. If
This step computes the numerical solution of Lx
there is a path from j to i in the elimination tree TL , then
the solution of xj+1 requires the computation of xi . So,
sorting is necessary. Sorting it in a natural order is not
the best way because it has the drawback of a very large
computational load. In order to avoid unnecessary operations, a new topological sorting algorithm for was developed in which the result is assumed to be stored in the
stack xs .
Algorithm 4. Sorting x
Step 1.
for i
j = 0;
while i is not marked
Step 1.1. xs [j] = i; j = j + 1;
M. Wu et al./A Fast LDL-factorization Approach for Large Sparse Positive Definite System and Its Application to
91
Format of storage
Fig. 1
(13)
92
>
>
<
6
..
6 0
.
1T
6
l
>
=
6
>
.
>
.
.
6
>
..
..
>
4 ..
>
>
:
0
0
Application
This section discusses the application of the method described above to the solution of a one-to-one marketing optimization problem.
Assume a company has p products and wants to sell them
to n customers through l channels (such as e-mail, telemarketing, direct mail, etc.). It makes m = p l offers.
We introduce the variable ij (i = 1, , m, j =
1, , n), which can take the following values:
(
1, if offer i is made to customer j,
ij =
(14)
0, otherwise.
And we define
(
i = [1i mi ]T Rm , i = 1, , n
= [1T nT ]T Rmn .
(15)
ij 6 1, j = 1, , pn.
(18)
i=1
written as
3
0
.. 7
. 7
7
7 R(pn)(mn) .
7
0 5
1T
l
(21)
Summarizing the above discussion, we formulate the oneto-one marketing optimization problem as follows[19] :
max
s.t.
J() = T
= 1q ,
6 1pn ,
ij {0, 1}, i = 1, , m, j = 1, , n.
(22)
J() = T
= 1q ,
6 1pn ,
0 6 ij 6 1, i = 1, , m, j = 1, , n.
(23)
cT
= 1q+pn
+ s = 1(m+p)n
> 0, s > 0
max
s.t.
(17)
0
>
>
<
6
.. 7
..
6 0
.
(20)
2T
. 7
6
7
>
= 6
7 Rq(mn)
>
>
..
..
6 ..
7
>
>
4 .
.
.
0 5
>
>
:
0
0
qT
where
"
=
(24)
0
I
R(q+pn)[(m+p)n] .
(25)
yw
Ty + z w = c
z > 0, w > 0
(26)
M. Wu et al./A Fast LDL-factorization Approach for Large Sparse Positive Definite System and Its Application to
Table 1
Key
BCSPWR03
BCSPWR09
BCSPWR10
BCSSTK13
BCSSTK28
BCSSTK30
Number
of eqs
118
1 723
5 300
2 003
4 410
28 924
Number of nonzero
entries in L
263
4 496
22 711
287 867
348 304
3 724 867
Table 2
Key
BCSPWR03
BCSPWR09
BCSPWR10
BCSSTK13
BCSSTK28
BCSSTK30
Table 3
93
Description
IEEE standard 118 bus test case power network
Western US power network 1723 bus
Western US power network 5300 bus
Fluid flow generalized eigenvalues
Solid element model, linear statics
Statics module of an off-shore generator platform
Number of nonzero
entries in L
263
4 496
22 711
287 867
348 304
3 724 867
Time for
multiplication
1 173
27 382
253 573
69 220 200
382 242 000
865 532 000
Total calculation
time (s)
0.004 340
0.001 837
0.008 636
0.580 561
0.247 724
7.340 698
Scale of one-to-one
marketing
optimization problem
Rows
Columns
Nonzero
entries
113
1 320
5 280
203
2 400
9 600
1 003
12 000
48 000
2 003
24 000
96 000
10 003
120 000
480 000
60 003
720 000
2 880 000
100 003
1200 000
4 800 000
Cholesky-Infinity
Memory
(MB)
0.9
1.3
7.0
15.1
93.3
455.4
672.3
Time
(s)
0.06
0.46
2.81
6.95
96.32
3 522.73
59 348.53
@
A
z
sw
h
iT
T
z T sT wT > 0
(28)
iT
h
where u = T z T sT wT y T . He and Wu used the
predictor-corrector method to solve this linear quadratic
equation (27) with a non-negativity[19] . The algorithm is
iterative; and u can be made to approach the best solution
in the k-th iteration by setting
(
uk+1 = uk + k uk
(29)
uk = p uk + c uk
where p uk and c uk are the predictor and corrector directions of uk , respectively. In the k-th iteration, the main
computation involved in the calculation of (29) is the solving of yk , which is a sub-vector of uk , for
( Dk T )yk = (rbk + Dk rck )
(30)
LDL
Objective
value
32 366.90
58 703.92
297 475.66
598 514.60
2 997 575.03
18 023 178.50
30 104 984.02
Memory
(MB)
0.9
1.2
6.5
14.2
90.5
432.3
520.0
Time
(s)
0.05
0.35
2.14
4.32
32.82
158.75
400.65
Objective
value
32 366.90
58 703.92
297 475.66
598 514.60
2 997 575.03
18 023 178.50
30 104 984.02
Conclusions
This paper has presented a method of performing LDLfactorization on a sparse symmetric positive definite matrix and described its application to one-to-one marketing
optimization. The computations for LDL-factorization are
broken down into two stages: structural prediction and numerical calculation. This method first uses an elimination
tree to construct the nonzero pattern of the factor, and then
uses this structure to compute numerical values. It uses
markedly less memory and involves much fewer numerical
calculations when solving a problem with a large symmetric
sparse matrix.
Tests using numerical examples of typical sparse matri-
94
References
[1] A. Berson, S. Smith, K. Thearling. Building Data Mining Applications for CRM, McGraw-Hill Press, New York, 1999.
[2] Lange, Kirsten. The Benefits of Crm. Pulp and Paper International, vol. 45, no. 11, pp. 4042, 2003.
[3] M. Tim. Crm Goes Small to Get Big Again. Telephony, vol. 246,
no. 19, pp. 3235, 2005.
[4] M. Wu, B. He, S. Chen. A Benchmark Method for One-to-one
Marketing Optimization Algorithms. Computer Engineering and
Applications, vol. 40, no. 19, pp. 4547, 2004. (in Chinese)
[5] E. John, Mitchell, K. Farwell, D. Ramsden. Interior Point
Methods for Large-scale Linear Programming, Technical Report, Mathematical Sciences Rensselaer Polytechnic Institute,
Troy, NY, 2004.
[6] G. W. Stewart. Building an Old-fashioned Sparse Solver, Technical Report, University of Maryland, USA, 2003.
[7] D. J. Rose. A Graph-theoretic Study of the Numerical Solution of Sparse Positive Definite System of Linear Equation.
Graph Theory and Computing, Academic Press, New York, pp.
183217, 1972.
[8] A. George, J. K. Reid. Computer Solution of Large Sparse Positive
Definite System, Prentice-Hall, Englewood Cliffs, NJ, 1981.
[9] J. W. H. Liu. A Generalized Envelope Method for Sparse Factorization by Rows. ACM Transations on Mathematical Software,
vol. 17, no. 1, 1991.
[10] J. R. Gilbert, T. Peierls. Sparse Partial Pivoting in Time Proportional to Arithmetic Operations. SIAM Journal on Scientific
and Statistical Computing, vol. 9, no. 5, pp. 862874, 1988.
[11] T. A. Davis. User Guide for LDL, a Concise Sparse Cholesky
Package, Technical Report, Department of Computer and
Information Science and Engineering, University of Florida,
Gainesville, FL, USA, 2005.
[12] P. R. Amestoy, T. Davis, I. Du. An Approximate Minimum
Degree Ordering Algorithm, SIAM Journal on Matrix Analysis
and Applications, vol. 17, no. 3, pp. 886905, 1996.
[13] I. Brainman, S. Toledo. Nested-dissection Orderings for Sparse
Lu with Partial Pivoting. SIAM Journal on Matrix Analysis and
Applications, vol. 23, no. 4, pp. 9981012, 2001.
[14] Q. Li, N. Wang, D. Yi, Eds., Numerical Analysis, 4th ed.,
Qinghua University Press, Beijing, China, 2004. (in Chinese)
[15] J. R. Gilbert. Predicting Structure in Sparse Matrix Computations. SIAM Journal on Matrix Analysis and Applications, vol. 15,
no. 1, pp. 6279, 1994.
[16] J. W. H. Liu. The Role of Elimination Trees in Sparse Factorization. SIAM Journal on Matrix Analysis and Applications, vol. 11,
no. 1, pp. 134172, 1990.
[17] S. C. Eisenstat, M. C. Gursky, M. H. Schultz, A. H. Sherman.
Yale Sparse Matrix Package I: the Symmetric Codes. International Journal for Numerical Methods in Engineering, vol. 18, no.
4, pp. 11451151, 1982.
[18] P. R. Amestoy, T. A. Davis, I. S. Du. Algorithm 837: Amd,
an Approximate Minimum Degree Ordering Algorithm. ACM
Transactions on Mathematical Software, vol. 30, no. 3, pp.
381388, 2004.
[19] B. He, M. Wu, H. Mitsuma, Y. C. Zhou. An One to One Marketing Optimization Algorithm Based on Minimum Degree Permutation. In Proceedings of 23rd Chinese Control Conference, X. W.
Daizhang Cheng, Ed., East China University of Science and
Techology Press, Shanghai, pp. 451453, 2004. (in Chinese)
[20] K. D. Lu. Single Objective, Multiple Objective and Integer Programming, Tsinghua University Press, Beijing, 1999. (in Chinese)
[21] Y. Zhang. Solving Large-scale Linear Programs by Interiorpoint Methods Under the Matlab Environment. Optimization
Methods and Software, vol. 10, no. 1, pp. 131, 1998.