**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’) x_{m+1}, ..., x_{n} and `_{p}-dist. (1 < p < ∞)
estimate for pairs of ‘neighboring’ pts

d_{ij} ≥ 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

x_{1},...,x_{m}

X

(i,j)∈A

|kx_{i} − x_{j}k_{p} − d_{ij}|

• Objective function is nonconvex.

6. .

_

• Problem is NP-hard (reduction from PARTITION).

6. .

_

• Use a convex (but not SDP) relaxation.

Other formulations: “|kx_{i} − x_{j}k_{p} − d_{ij}|^{2}” or “

kx_{i} − x_{j}k^{p}_{p} − d^{p}_{ij}

” or ...

### p-Order Cone Program Relaxation

υ_{opt} = min

x_{1},...,x_{m},y_{ij}

X

(i,j)∈A

|y_{ij} − d_{ij}|

s.t. y_{ij} = kx_{i} − x_{j}k_{p} ∀(i, j) ∈ A

Relax “=” to “≥” constraint:

υ_{socp} := min

x_{1},...,x_{m},y_{ij}

X

(i,j)∈A

|y_{ij} − d_{ij}|

s.t. y_{ij} ≥ kx_{i} − x_{j}k_{p} ∀(i, j) ∈ A

(p=2: Doherty,Pister,El Ghaoui ’03)

**Properties of** pOCP Relaxation

d = 2, n = 3, m = 1, d_{12} = d_{13} = 2

### Problem

:0 = min

x_{1}∈<^{2}

|kx_{1} − (0, 1)k_{p} − 2| + |kx_{1} − (0, −1)k_{p} − 2|

### pOCP Relaxation

:0 = min

x1∈<2 y12,y13∈<

|y_{12} − 2| + |y_{13} − 2|

s.t. y_{12} ≥ kx_{1} − (0, 1)k_{p}
y_{13} ≥ kx_{1} − (0, −1)k_{p}

If solve pOCP by IP method, then likely get analy. center of soln set.

**Analytic Center Solution**

Define

A_{active} := (i, j) ∈ A | y_{ij} = kx_{i} − x_{j}k_{p} ∀ solns x_{1}, ..., x_{m}, (y_{ij})_{(i,j)∈A} of pOCP

Relative − interior soln := soln x_{1}, ..., x_{m}, (y_{ij})_{(i,j)∈A} of pOCP with
y_{ij} > kx_{i} − x_{j}k_{p} ∀ (i, j) ∈ A\A_{active}

Analytic center soln := arg min

rel.−int. soln x1,...,xm,(yij)(i,j)∈A

X

(i,j)∈A\A_{active}

− log y_{ij}^{p} − kx_{i} − x_{j}k^{p}_{p}

**Properties of** pOCP Relaxations **Key Property**

: If p = 2 or d = 2, then
arg min

x

k

X

i=1

kx − x_{i}k_{p} ∈ conv {x_{1}, ..., x_{k}}

for any k and x_{1}, ..., x_{k} ∈ <^{d}. (Remains true if kx − x_{i}k_{p} is raised to pth power.)

Q: What if d ≥ 3 and p 6= 2? (False if kx − x_{i}k_{p} is raised to pth power. (S. Zhang

’05, C.-K. Sim ’03))

**Fact 1**

: If (x_{1}, ..., x

_{m}, y

_{ij})

_{(i,j)∈A}is the analytic center soln of pOCP, then x

_{i}∈ conv {x

_{j}}

_{j∈N (i)}∀i ≤ m

with 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 (x_{1}, ..., x

_{m}, y

_{ij})

_{(i,j)∈A}is a relative-interior pOCP soln (e.g., analytic center), then for each i ≤ m,

kx_{i} − x_{j}k_{p} = y_{ij} for some j ∈ N (i) ⇐⇒ x_{i} appears in every pOCP soln.

**Error Bounds**

What if distances have errors?

d_{ij} = d^{true}_{ij} + δ_{ij},

where δ_{ij} ∈ < and d^{true}_{ij} := kx^{true}_{i} − x^{true}_{j} k_{p} (x^{true}_{i} = x_{i} ∀ i > m).

**Fact 3**

: If (x_{1}, ..., x

_{m}, y

_{ij})

_{(i,j)∈A}is a relative-interior pOCP soln corresp.

(d_{ij})_{(i,j)∈A} and X

(i,j)∈A

|δ_{ij}| ≤ δ, then for each i,

kx_{i} − x_{j}k_{p} = y_{ij} for some j ∈ N (i) =⇒ kx_{i} − x^{true}_{i} k_{p} = O( _{p}

s X

(i,j)∈A

|δ_{ij}|).

**Fact 4**

: As X
(i,j)∈A

|δ_{ij}| → 0, (analytic center pOCP soln corresp. (d_{ij})_{(i,j)∈A})

→ (analytic center pOCP soln corresp. (d^{true}_{ij} )_{(i,j)∈A}).

Error bounds for the analytic center pOCP soln when distances have small errors.

**Solving** pOCP Relaxation I: IP Method

x_{1},...,xmin_{m},y_{ij}

X

(i,j)∈A

|y_{ij} − d_{ij}|

s.t. y_{ij} ≥ kx_{i} − x_{j}k_{p} ∀(i, j) ∈ A

Put into conic form:

min X

(i,j)∈A

u_{ij}

s.t. x_{i} − x_{j} − w_{ij} = 0 ∀(i, j) ∈ A

y_{ij} − u_{ij} = d_{ij} ∀(i, j) ∈ A

u_{ij} ≥ 0, (y_{ij}, w_{ij}) ∈ 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:

x_{1}min,...,x_{m}

X

(i,j)∈A

max{0, kx_{i} − x_{j}k_{p} − d_{ij}}

This is an unconstrained nonsmooth convex program.

• Smooth approximation:

max{0, t} ≈ h_{µ}(t) := (t^{2} + µ^{2})^{1/2} + t

2 (µ > 0)

pOCP approximation:

min f_{µ}(x_{1}, .., x_{m}) := X

(i,j)∈A

h_{µ} (kx_{i} − x_{j}k_{p} − d_{ij} + µ)

Add a smoothed log-barrier term −µ X

(i,j)∈A

log (µ + h_{µ} (d_{ij} − µ − kx_{i} − x_{j}k_{p}))

Solve the smooth approximation using coordinate gradient descent (SCGD):

• If k∇_{x}_{i}f_{µ}k = Ω(µ), then update x_{i} by moving it along the Newton direction

−[∇^{2}_{x}

ix_{i}f_{µ}]^{−1}∇_{x}_{i}f_{µ}, with Armijo stepsize rule, and re-iterate.

• Decrease µ when k∇_{x}_{i}f_{µ}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 x^{true}_{1} , ..., x^{true}_{n} in [0, 1]^{2}, m = .9n,
two pts are nhbrs if dist< radioR.

Set

d_{ij} = kx^{true}_{i} − x^{true}_{j} k_{2} · |1 + _{ij} · nf |,

_{ij} ∼ N (0, 1) (Biswas, Ye ’03)

• Solve SOCP using SeDuMi 1.05 or SCGD.

• Sensor i is uniquely positioned if

kx_{i} − x_{j}k_{2} − y_{ij}

≤ 10^{−7}d_{ij} for some j ∈ N (i).

SeDuMi “SCGD”

n m nf cpu/m_{up}/Err_{up} cpu/m_{up}/Err_{up}
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.

• m_{up} := number of uniquely positioned sensors.

• Err_{up} := maxi uniq. pos.kx_{i} − x^{true}_{i} k_{2}.

◦ = 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

|kx_{i} − x_{j}k_{p} − d_{ij}|^{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

x_{1},...,x_{m}

X

(i,j)∈A

kx_{i} − x_{j}k^{2}_{2} − d^{2}_{ij}
?