Localization
Paul Tseng
Mathematics, University of Washington Seattle
BIRS Workshop, Banff November 11-16, 2006
Abstract This is a talk given at Banff, 2006.
Talk Outline
• Problem description
• pOCP relaxations
• Properties of pOCP 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 `p-dist. (1 < p < ∞) 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 − xjkp − dij|
• Objective function is nonconvex.
6. .
_
• Problem is NP-hard (reduction from PARTITION).
6. .
_
• Use a convex (but not SDP) relaxation.
Other formulations: “|kxi − xjkp − dij|2” or “
kxi − xjkpp − dpij
” or ...
p-Order Cone Program Relaxation
υopt = min
x1,...,xm,yij
X
(i,j)∈A
|yij − dij|
s.t. yij = kxi − xjkp ∀(i, j) ∈ A
Relax “=” to “≥” constraint:
υsocp := min
x1,...,xm,yij
X
(i,j)∈A
|yij − dij|
s.t. yij ≥ kxi − xjkp ∀(i, j) ∈ A
(p=2: Doherty,Pister,El Ghaoui ’03)
Properties of pOCP Relaxation
d = 2, n = 3, m = 1, d12 = d13 = 2
Problem
:0 = min
x1∈<2
|kx1 − (0, 1)kp − 2| + |kx1 − (0, −1)kp − 2|
pOCP Relaxation
:0 = min
x1∈<2 y12,y13∈<
|y12 − 2| + |y13 − 2|
s.t. y12 ≥ kx1 − (0, 1)kp y13 ≥ kx1 − (0, −1)kp
If solve pOCP by IP method, then likely get analy. center of soln set.
Analytic Center Solution
Define
Aactive := (i, j) ∈ A | yij = kxi − xjkp ∀ solns x1, ..., xm, (yij)(i,j)∈A of pOCP
Relative − interior soln := soln x1, ..., xm, (yij)(i,j)∈A of pOCP with yij > kxi − xjkp ∀ (i, j) ∈ A\Aactive
Analytic center soln := arg min
rel.−int. soln x1,...,xm,(yij)(i,j)∈A
X
(i,j)∈A\Aactive
− log yijp − kxi − xjkpp
Properties of pOCP Relaxations Key Property
: If p = 2 or d = 2, thenarg min
x
k
X
i=1
kx − xikp ∈ conv {x1, ..., xk}
for any k and x1, ..., xk ∈ <d. (Remains true if kx − xikp is raised to pth power.)
Q: What if d ≥ 3 and p 6= 2? (False if kx − xikp is raised to pth power. (S. Zhang
’05, C.-K. Sim ’03))
Fact 1
: If (x1, ..., xm, yij)(i,j)∈A is the analytic center soln of pOCP, then xi ∈ conv {xj}j∈N (i) ∀i ≤ mwith N (i) := {j | (i, j) ∈ A}.
True soln (m = 900, n = 1000, nhbrs if `2-dist< .06)
SOCP soln found by IP method (SeDuMi)
Fact 2
: If (x1, ..., xm, yij)(i,j)∈A is a relative-interior pOCP soln (e.g., analytic center), then for each i ≤ m,kxi − xjkp = yij for some j ∈ N (i) ⇐⇒ xi appears in every pOCP soln.
Error Bounds
What if distances have errors?
dij = dtrueij + δij,
where δij ∈ < and dtrueij := kxtruei − xtruej kp (xtruei = xi ∀ i > m).
Fact 3
: If (x1, ..., xm, yij)(i,j)∈A is a relative-interior pOCP soln corresp.(dij)(i,j)∈A and X
(i,j)∈A
|δij| ≤ δ, then for each i,
kxi − xjkp = yij for some j ∈ N (i) =⇒ kxi − xtruei kp = O( p
s X
(i,j)∈A
|δij|).
Fact 4
: As X(i,j)∈A
|δij| → 0, (analytic center pOCP soln corresp. (dij)(i,j)∈A)
→ (analytic center pOCP soln corresp. (dtrueij )(i,j)∈A).
Error bounds for the analytic center pOCP soln when distances have small errors.
Solving pOCP Relaxation I: IP Method
x1,...,xminm,yij
X
(i,j)∈A
|yij − dij|
s.t. yij ≥ kxi − xjkp ∀(i, j) ∈ A
Put into conic form:
min X
(i,j)∈A
uij
s.t. xi − xj − wij = 0 ∀(i, j) ∈ A
yij − uij = dij ∀(i, j) ∈ A
uij ≥ 0, (yij, wij) ∈ p−order cone ∀(i, j) ∈ A.
Solve by an IP method, e.g., SeDuMi or Mosek for p = 2.
Solving pOCP Relaxation II: Smoothing + Coordinate Gradient Descent
miny≥z |y − d| = max{0, z − d}
So pOCP relaxation:
x1min,...,xm
X
(i,j)∈A
max{0, kxi − xjkp − dij}
This is an unconstrained nonsmooth convex program.
• Smooth approximation:
max{0, t} ≈ hµ(t) := (t2 + µ2)1/2 + t
2 (µ > 0)
pOCP approximation:
min fµ(x1, .., xm) := X
(i,j)∈A
hµ (kxi − xjkp − dij + µ)
Add a smoothed log-barrier term −µ X
(i,j)∈A
log (µ + hµ (dij − µ − kxi − xjkp))
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 for p = 2
• Uniformly generate xtrue1 , ..., xtruen in [0, 1]2, m = .9n, two pts are nhbrs if dist< radioR.
Set
dij = kxtruei − xtruej k2 · |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 1.0/327/4.6e-5 .2/357/3.8e-5 1000 900 .001 0.9/438/1.6e-3 .4/442/1.5e-3 1000 900 .01 1.1/555/1.5e-2 1.6/518/1.1e-2 2000 1800 0 33.7/1497/4.3e-4 0.8/1541/3.3e-4 2000 1800 .001 38.0/1465/3.3e-3 1.8/1466/3.6e-3 2000 1800 .01 16.2/1704/6.3e-2 2.9/1707/5.1e-2 4000 3600 0 17.8/2758/3.0e-4 1.6/2844/3.2e-4 4000 3600 .001 20.4/2907/3.2e-3 5.1/2894/3.0e-3 4000 3600 .01 17.2/3023/9.1e-3 6.1/3020/9.1e-3
Table 1: radioR = .06(.035) for n = 1000, 2000(4000)
• cpu (minutes) times are on a HP DL360 workstation, running Linux 3.5.
• mup := number of uniquely positioned sensors.
• Errup := maxi uniq. pos.kxi − xtruei k2.
◦ = anchors ∗ = true positions of sensors
• = SOCP soln found by SCGD (m = 900, n = 1000, radioR = .06, nf = .01)
Conclusions & Future Directions
• Finding an analytic center soln of pOCP is key.
• Exploit network structures of pOCP? Distributed computation?
• Additional linear constraints?
• Other objective functions, e.g., X
(i,j)∈A
|kxi − xjkp − dij|2 ?
• How to localize sensors not uniquely positioned? Smoothing + local descent on original objective function...
• Extend error bound result to SDP and ESDP relaxations (Biswas, Ye ’04, ..., Wang et al. ’06)) of min
x1,...,xm
X
(i,j)∈A
kxi − xjk22 − d2ij ?