SOCP Relaxation of Sensor Network Localization
Paul Tseng
Mathematics, University of Washington Seattle
University of Vienna/Wien June 19, 2006
Abstract
This is a talk given at Univ. Vienna, 2006.
Talk Outline
• Problem description
• SDP and SOCP relaxations
• Properties of SDP and SOCP relaxations
• Performance of SOCP relaxation and efficient solution methods
• Conclusions & Future Directions
Sensor Network Localization Basic Problem
:• n pts in <d (d = 1, 2, 3).
• Know last n − m pts (‘anchors’) xm+1, ..., xn and Eucl. dist. estimate for pairs of ‘neighboring’ pts
dij ≥ 0 ∀(i, j) ∈ A with A ⊆ {(i, j) : 1 ≤ i < j ≤ n}.
• Estimate first m pts (‘sensors’).
History? Graph realization, position estimation in wireless sensor network, determining protein structures, ...
Optimization Problem Formulation
υopt := min
x1,...,xm
X
(i,j)∈A
kxi − xjk2 − d2ij
• Objective function is nonconvex.
6. .
_
• Problem is NP-hard (reduction from PARTITION).
6. .
_
• Use a convex (SDP, SOCP) relaxation.
NP-hardness
PARTITION: Given positive integers a1, a2, ..., an, ∃ a partition I1, I2 of {1, ..., n} with P
i∈I1 ai = P
i∈I2 ai? (NP-complete)
Reduction to our problem
(d = 1) (Saxe ’79):Let m = n − 1, xn = 0, dn1 = a1, d12 = a2, ..., dn−1,n = an
PARTITION ‘yes’ ⇐⇒ υopt = 0 [This extends to d ≥ 2]
SDP Relaxation
Let X := [x1 · · · xm], A := [xm+1 · · · xn].
Then (Biswas,Ye ’03)
kxi − xjk2 = tr
bijbTij XTX XT
X Id
with bij := Im 0
0 A
(ei − ej).
Fact
: Y XT X Id
0 has rank d ⇐⇒ Y = XTX
Thus
υopt = min
X,Y
X
(i,j)∈A
tr bijbTijZ − d2ij s.t. Z = Y XT
X Id
0, rankZ = d Drop low-rank constraint:
υsdp := min
X,Y
X
(i,j)∈A
tr bijbTijZ − d2ij s.t. Z = Y XT
X Id
0
• Biswas and Ye gave probabilistic interpretation of SDP soln, and proposed a distributed (domain partitioning) method for solving SDP when n > 100.
SOCP Relaxation
Second-order cone program (SOCP) is easier to solve than SDP.
• Q: Is SOCP relaxation a good approximation? Or a mixed SDP-SOCP relaxation?
• Q: How to efficiently solve SOCP relaxation?
SOCP Relaxation
υopt = min
x1,...,xm,yij
X
(i,j)∈A
yij − d2ij
s.t. yij = kxi − xjk2 ∀(i, j) ∈ A
Relax “=” to “≥” constraint:
υsocp = min
x1,...,xm,yij
X
(i,j)∈A
yij − d2ij
s.t. yij ≥ kxi − xjk2 ∀(i, j) ∈ A
y ≥ kxk2 ⇐⇒ y + 1 ≥ k(y − 1, 2x)k
(also Doherty,Pister,El Ghaoui ’03)
Properties of SDP, SOCP Relaxations
d = 2, n = 3, m = 1, d12 = d13 = 2
Problem
:0 = min
x1=(α,β)∈<2
|(1 − α)2 + β2 − 4| + |(−1 − α)2 + β2 − 4|
SDP Relaxation
:0 = min
x1=(α,β)∈<2 y∈<
|y − 2α − 3| + |y + 2α − 3|
s.t.
y α β
α 1 0
β 0 1
0
If solve SDP by IP method, then likely get analy. center.
SOCP Relaxation
:0 = min
x1=(α,β)∈<2 y,z∈<
|y − 4| + |z − 4|
s.t. y ≥ (1 − α)2 + β2 z ≥ (−1 − α)2 + β2
If solve SOCP by IP method, then likely get analy. center.
Properties of SDP & SOCP Relaxations Fact 1
: υsocp ≤ υsdp. If υsocp = υsdp, then{SOCP (x1, ..., xm) solns} ⊇ {SDP (x1, ..., xm) solns}.
Fact 2
: If (x1, ..., xm, yij)(i,j)∈A is the analytic center soln of SOCP, then xi ∈ conv {xj}j∈N (i) ∀i ≤ mwith N (i) := {j : (i, j) ∈ A}.
Opt soln (m = 900, n = 1000, nhbrs if dist< .06)
SOCP soln found by IP method (SeDuMi)
Fact 3
: If X = [x1 · · · xm], Y is a relative-interior SDP soln (e.g., analytic center), then for each i,kxik2 = Yii =⇒ xi appears in every SDP soln.
Fact 4
: If (x1, ..., xm, yij)(i,j)∈A is a relative-interior SOCP soln (e.g., analytic center), then for each i,kxi − xjk2 = yij for some j ∈ N (i) ⇐⇒ xi appears in every SOCP soln.
Error Bounds
What if distances have errors?
d2ij = ¯d2ij + δij,
where δij ∈ < and d¯ij := kxtruei − xtruej k (xtruei = xi ∀ i > m).
Fact 5
: If (x1, ..., xm, yij)(i,j)∈A is a relative-interior SOCP soln corresp.(dij)(i,j)∈A and X
(i,j)∈A
|δij| ≤ δ, then for each i,
kxi − xjk2 = yij for some j ∈ N (i) =⇒ kxi − xtruei k = O(
s X
(i,j)∈A
|δij|).
Fact 6
: As X(i,j)∈A
|δij| → 0, (analytic center SOCP soln corresp. (dij)(i,j)∈A)
→ (analytic center SOCP soln corresp. ( ¯dij)(i,j)∈A).
Error bounds for the analytic center SOCP soln when distances have small errors.
Solving SOCP Relaxation I: IP Method
x1,...,xminm,yij
X
(i,j)∈A
yij − d2ij
s.t. yij ≥ kxi − xjk2 ∀(i, j) ∈ A
Put into conic form:
min X
(i,j)∈A
uij + vij
s.t. xi − xj − wij = 0 ∀(i, j) ∈ A
yij − uij + vij = d2ij ∀(i, j) ∈ A
αij = 12 ∀(i, j) ∈ A
uij ≥ 0, vij ≥ 0, (αij, yij, wij) ∈ Rconed+2 ∀(i, j) ∈ A with Rconed+2 := {(α, y, w) ∈ < × < × <d : kwk2/2 ≤ αy}.
Solve by an IP method, e.g., SeDuMi 1.05 (Sturm ’01).
Solving SOCP Relaxation II: Smoothing + Coordinate Gradient Descent
miny≥z |y − d2| = max{0, z − d2} So SOCP relaxation:
x1min,...,xm
X
(i,j)∈A
max{0, kxi − xjk2 − d2ij}
This is an unconstrained nonsmooth convex program.
• Smooth approximation:
max{0, t} ≈ µh(t/µ) (µ > 0)
h smooth convex, limt→−∞ h(t) = limt→∞ h(t) − t = 0. We use h(t) = ((t2 + 4)1/2 + t)/2 (CHKS).
SOCP approximation:
min fµ(x1, .., xm) := X
(i,j)∈A
µh kxi − xjk2 − d2ij µ
!
Add a smoothed log-barrier term −µ X
(i,j)∈A
log µh d2ij − kxi − xjk2 µ
!!
Solve the smooth approximation using coordinate gradient descent (SCGD):
• If k∇xifµk = Ω(µ), then update xi by moving it along the Newton direction
−[∇2x
ixifµ]−1∇xifµ, with Armijo stepsize rule, and re-iterate.
• Decrease µ when k∇xifµk = O(µ) ∀i.
µinit = 1e − 5. µend = 1e − 9. Decrease µ by a factor of 10.
Code in Fortran. Computation easily distributes.
Simulation Results
• Uniformly generate xtrue1 , ..., xtruen in [0, 1]2, m = .9n, two pts are nhbrs if dist< radiorange.
Set
dij = kxtruei − xtruej k · max{0, 1 + ij · nf },
ij ∼ N (0, 1) (Biswas, Ye ’03)
• Solve SOCP using SeDuMi 1.05 or SCGD.
• Sensor i is uniquely positioned if
kxi − xjk2 − yij
≤ 10−7dij for some j ∈ N (i).
SeDuMi SCGD n m nf cpu/mup/Errup cpu/mup/Errup 1000 900 0 5.5/402/7.2e-4 .4/365/3.7e-5 1000 900 .001 5.4/473/1.8e-3 3.3/451/1.5e-3 1000 900 .01 5.6/554/1.5e-2 2.2/518/1.1e-2 2000 1800 0 209.6/1534/4.3e-4 1.3/1541/3.3e-4 2000 1800 .001 230.1/1464/3.6e-3 6.8/1466/3.6e-3 2000 1800 .01 176.6/1710/5.1e-2 3.7/1710/5.1e-2 4000 3600 0 203.1/2851/4.0e-4 2.5/2864/3.2e-4 4000 3600 .001 205.2/2938/3.2e-3 15.1/2900/3.0e-3 4000 3600 .01 201.3/3073/1.0e-2 23.2/3033/9.1e-3
Table 1: radiorange = .06(.035) for n = 1000, 2000(4000)
• cpu (sec) times are on a HP DL360 workstation, running Linux 3.5.
• mup := number of uniquely positioned sensors.
• Errup := maxi uniq. pos.kxi − xtruei k.
True positions of sensors (dots) and anchors (circles) (m = 900, n = 1000)
SOCP soln found by SeDuMi and SCGD
Mixed SDP-SOCP Relaxation
Choose 0 ≤ ` ≤ m. Let B := {(i, j) ∈ A : i ≤ `, j ≤ `}.
x1,...,xminm,yij,Y
X
(i,j)∈B
tr bijbTijZ − d2ij
+ X
(i,j)∈A\B
yij − d2ij
s.t. Z = Y XT
X Id
0
X = [x1 · · · x`]
yij ≥ kxi − xjk2 ∀(i, j) ∈ A \ B
with bij := I` 0 0
0 0 A
(ei − ej).
Easier to solve than SDP? As good a relaxation? Properties?
Conclusions & Future Directions
• SOCP relaxation may be a good pre-processor.
• Faster methods for solving SOCP? Exploiting network structures of SOCP?
(For d = 1, solvable by -relaxation method (Bertsekas,Polymenakos,T ’97))
• Error bound for SDP relaxation?
• Additional (convex) constraints? Other objective functions, e.g., X
(i,j)∈A
|kxi − xjk − dij|2 ?
• Replace 2-norm by a p-norm (1 ≤ p ≤ ∞)? p-order cone relaxation?
• Q: For any x1, ..., xn ∈ <d, does arg min
x
n
X
i=1
kx − xikpp ∈ conv {x1, ..., xn}?
(1 < p < ∞)
A: Yes for d ≤ 2. No for d ≥ 3.