Privacy-Preserving Linear Programming

Privacy-Preserving Linear Programming
UCSD – Center for Computational Mathematics Seminar
January 11, 2011
Olvi Mangasarian
UW Madison & UCSD La Jolla
Problem Statement
• Entities with related data wish to solve a linear program
based on all the data
• The entities are unwilling to reveal their data to each other
– If each entity holds a different set of variables for all constraints,
then the data is said to be vertically partitioned
– If each entity holds a different set of constraints with all variables,
then the data is said to be horizontally partitioned
• Our approach: privacy-preserving linear programming
(PPLP) using random matrix transformations
– Provides exact solution to the total linear program
– Does not reveal any private information
Horizontally
Partitioned
Matrix
Linear
Programming
Constraint
Matrix
Vertically
Partitioned
Matrix
Variables
1 2 ..………….…………. n
1
2
.
.
Constraints
.
.
.
.
.
.
m
A1
A¢1
A¢2
AA
A3
A¢3
Outline
• Vertically (horizontally) partitioned linear
program
• Secure transformation via a random matrix
• Privacy-preserving linear program solution
• Computational results
• Summary
Vertically Partitioned Data:
Each entity holds different variables for the
same constraints
A¢1 A¢2 A¢3
A¢1
A¢2
A¢3
LP with Vertically Partitioned Data
We consider the linear program:
min c0 x where X = f x j Ax ¸ bg
x2X
where A 2 Rm£n, c 2 Rn
£ c0 ¤
The matrix A is divided into p vertical blocks
Each block is (m + 1) £ nj , j = 1; 2; : : : ; p,
such that n1 + n2 + : : : + np = n,
is \owned" by a distinct entity unwilling to make it public
Objective: Solve this linear program without revealing any
privately held data.
Secure Linear Program Generation
Each of the p entities chooses its own privately held
random matrixB¢j 2 Rk£nj , j = 1; : : : ; p,
where k ¸ n. De¯ne: B = [B¢1 B¢2 : : : : : : B¢p ] 2 Rk£n .
We note immediately that the rank of the random matrix
B 2 Rk£n with k ¸ n is n, which is the reason
for choosing k ¸ n. Utilizing this fact we de¯ne
the invertible transformation: x = B 0 u, and
its least 2-norm inverse: u = B(B 0 B)¡1 x:
We now transform our original linear program into
the following \secure" linear program:
min c0 B 0 u where U = f u j AB 0 u ¸ bg:
u2U
Why Secure Linear Program?
We use the term \secure" to describe the transformed
linear program because it does not reveal any of
£ c0 ¤
the privately held data Aj¢j , j = 1; : : : ; p. This is so
because for each entity di®erent from entity j, it is
impossible to compute either cj from the revealed product
cj 0 B¢j 0 , or A¢j from the revealed product A¢j B¢j 0
without knowing the random matrix B¢j chosen by
entity j and known to itself only.
Original & Secure LPs Are Equivalent
Let k ¸ n for the random matrix B 2 Rk£n .
The secure linear programis solvable if and only if
the original linear program is solvable in which case
the extrema of both linear programs are equal.
For one page proof see:
ftp:/ / ftp.cs.wisc.edu/ pub/ dmi/ tech-reports/ 10-01.pdf
Optimization Letters, to appear.
PPLP Algorithm
1. All p entities agree on a k ¸ n, the number of rows
of the random matrix B 2 Rk£n as de¯ned earlier.
2. Each entity generates its own privately held random
matrix B¢j 2 Rk£nj , j = 1; : : : : : : ; p, where nj
is the number of features held by entity j. This results
in B = [B¢1 B¢2 : : : : : : B¢p ] 2 Rk£n :
PPLP Algorithm (Continued)
3. Each entity j makes public only its matrix product
A¢j B¢j 0 as well as its cost coe±cient product B¢j cj .
These products do not reveal either A¢j or cj but
allow the public computation of the full constraint
matrix needed for the secure linear program:
AB 0 = A¢1 B¢1 0 + A¢2 B¢2 0 + : : : : : : + A¢p B¢p 0 ;
as well as the cost coe±cient:
c0 B 0 = c01 B¢1 0 + c02 B¢2 0 + : : : : : : + c0p B¢p 0 :
PPLP Algorithm (Continued)
4. A public optimal solution vector u to the secure
linear program and a public optimal objective function
value c0 B 0 u are computed. This optimal value equals
the optimal objective function of the original linear
program.
5. Each entity computes its optimal xj component group
as follows:
xj = B¢j 0 u; j = 1; : : : ; p:
PPLP Algorithm (Continued)
6. The solution component vectors xj , j = 1; : : : ; p,
are revealed by its owners if a public solution vector to
the original linear program is agreed upon. Else,
the component vectors may be kept private if only
the minimum value is needed, in which case that
minimum value equals the publicly available minimum
value min c0 B 0 u of the secure linear program.
u2U
Computatinal Results
Example 1 (k=n=1000)
² Generated a random solvable linear program
with m = 100 and n = 1000
² Partitioned the columns of A as well as the cost vector c
into three groups with n1 = 500, n2 = 300 and n3 = 200
² Generated three random matrices, with coe±cients
uniformly distributed in the interval [0,1] with
B¢1 2 Rn£n1 , B¢2 2 Rn£n2 andB¢3 2 Rn£n3
² Solved secure linear program and compared its optimal
objective value with that of the original linear program.
² The two optimal objectives agreed to 14 signi¯cant
¯gures attained at two distinct optimal solution points.
Computatinal Results
Example 2 (k=n=100)
² Generated a random solvable linear program
with m = 1000 and n = 100
² Partitioned the columns of A as well as the cost vector c
into three groups with n1 = 50, n2 = 30 and n3 = 20
² Generated three random matrices, with coe±cients
uniformly distributed in the interval [0,1] with
B¢1 2 Rn£n1 , B¢2 2 Rn£n2 andB¢3 2 Rn£n3
² Solved secure linear program and compared its optimal
objective value with that of the original linear program.
² The two optimal objectives agreed to 13 signi¯cant
¯gures attained at points that were essentially the same,
the 1 -norm of their di®erence was less than 2:3e ¡ 13.
Horizontally Partitioned Constraint Matrix:
Entities hold different constraints with the same variables
A1
A2
A3
A1
A2
A3
LP with Horizontally Partitioned Data
We consider the linear program:
min c0 x where X = f x j Ax = b; x ¸ 0g
x2X
where A 2 Rm£n, c 2 Rn
Here, [A b], is divided into p horizontal blocks of
m1 ; m2 ; : : : : : : and mp , (n + 1)-dimensional
rows with m1 + m2 + : : : + mp = m.
Each block of rows of [A b] is \owned" by a distinct
entity that is unwilling to make its block of data public.
Objective: Solve this linear program without revealing any
privately held data.
Secure Linear Program Generation
Each of the p entities chooses its own privately held
random matrix B¢i 2 Rk£mi , i = 1; : : : ; p, where k ¸ m,
which de¯nes: B = [B¢1 B¢2 : : : : : : B¢p ] 2 Rk£m :
We note immediately that the rank of the random matrix
B 2 Rk£m with k ¸ m is m, which is the reason
for choosing k ¸ m. Utilizing this fact we de¯ne
the transformations: BA and Bb.
We now transform our original linear program into
the following \secure" linear program:
min c0 y where Y = f y j BAy = Bb; y ¸ 0g:
y2Y
Why Secure Linear Program?
We use the term \secure" to describe the transformed
linear program because it does not reveal any of the
privatelyheld data: the horizontal partitions of [A b].
This is so because for each entity di®erent from entity i,
it is impossible to compute either Ai from the revealed
product B¢i Ai , or bi from the revealed product B¢i bi
without knowing the random matrix B¢i
chosen by entity i and known to itself only.
Original & Secure LPs Are Equivalent
Let k ¸ m for the random matrix B 2 Rk£m .
The secure linear programis solvable if and only if
the original linear program is solvable in which case
the extrema of both linear programs are equal.
The proof follows from the obvious fact that:
Ax = b ( )
BAx = Bb:
For more details see:
ftp:/ / ftp.cs.wisc.edu/ pub/ dmi/ tech-reports/ 10-02.pdf
PPHPLP Algorithm
1. All p entities agree on a value for k ¸ m, where k
is the number of rows of the random matrix B 2 Rk£m
2. Each entity generates its own privately held random
matrix B¢i 2 Rk£mi , i = 1; : : : : : : ; p,where mi is
the number of rows held by entity i which results in:
B = [B¢1 B¢2 : : : : : : B¢p ] 2 Rk£m :
PPHPLP Algorithm (Continued)
3. Each entity i makes public only its matrix product
B¢i Ai as well as its right hand side product B¢i bi .
These products do not reveal either Ai or bi but allow
the public computation of the full constraint matrix
needed for the secure linear program:
BA = [B¢1 A1 + B¢2 A2 + : : : + B¢p Ap ] 2 Rk£n ;
as well as the right hand side :
Bb = [B¢1 b1 + B¢2 b2 + : : : + B¢p bp ] 2 Rk :
4. A public optimal solution vector y to the secure linear
program is obtained which also solves the original linear
program
Computatinal Results
Example 1 (k=1000)
² Generated a random solvable linear program
with m = 600 and n = 1000
² Partitioned the rows of A as well as the right hand
side vector b into three groups with m1 = 100, m2 = 200
and m3 = 300.
² Generated three random matrices, with coe±cients
uniformly distributed in the interval [0,1] with
B1 2 Rk£m1 , B2 2 Rk£m2 and B3 2 Rk£m3 .
² Solved secure linear program and compared its optimal
solution with that of the original linear program.
² The two optimal solutions were identical.
Computatinal Results
Example 2 (k=1000)
² Generated a random solvable linear program
with m = 1000 and n = 1000
² Partitioned the rows of A as well as the right hand
side vector b into three groups with m1 = 200, m2 = 300
and m3 = 500.
² Generated three random matrices, with coe±cients
uniformly distributed in the interval [0,1] with
B1 2 Rk£m1 , B2 2 Rk£m2 and B3 2 Rk£m3 .
² Solved secure linear program and compared its optimal
solution with that of the original linear program.
² The two optimal solutions were identical.
Summary & Outlook
Privacy preserving linear programming
for vertically or horizontally partitioned data
– Based on a transformation using a random
matrix B
– Get exact solution to the original linear
program without revealing privately held data
Possible extensions to: horizontally partitioned inequality
constraints, complementarity problems and nonlinear
programs
References
ftp://ftp.cs.wisc.edu/pub/dmi/tech-reports/10-01.pdf
ftp://ftp.cs.wisc.edu/pub/dmi/tech-reports/10-02.pdf
Optimization Letters, to appear