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.
SOCP RELAXATION OF SENSOR NETWORK LOCALIZATION 1 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
SOCP RELAXATION OF SENSOR NETWORK LOCALIZATION 2 Sensor Network Localization Basic Problem: n pts in R d (d = 1, 2, 3). Know last n m pts ( anchors ) x m+1,..., x n pairs of neighboring pts and Eucl. dist. estimate for 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,...
SOCP RELAXATION OF SENSOR NETWORK LOCALIZATION 3 Optimization Problem Formulation υ opt := min x 1,...,x m xi x j 2 d 2 ij Objective function is nonconvex... Problem is NP-hard (reduction from PARTITION)... Use a convex (SDP, SOCP) relaxation.
SOCP RELAXATION OF SENSOR NETWORK LOCALIZATION 4 NP-hardness PARTITION: Given positive integers a 1, a 2,..., a n, a partition I 1, I 2 of {1,..., n} with i I 1 a i = i I 2 a i? (NP-complete) Reduction to our problem (d = 1) (Saxe 79): Let m = n 1, x n = 0, d n1 = a 1, d 12 = a 2,..., d n 1,n = a n [This extends to d 2] PARTITION yes υ opt = 0
SOCP RELAXATION OF SENSOR NETWORK LOCALIZATION 5 SDP Relaxation Let X := [x 1 x m ], A := [x m+1 x n ]. Then (Biswas,Ye 03) x i x j 2 = tr ( b ij b T ij [ X T X X T X I d ]) with b ij := [ ] Im 0 (e 0 A i e j ). Fact: [ Y X T X I d ] 0 has rank d Y = X T X
SOCP RELAXATION OF SENSOR NETWORK LOCALIZATION 6 Thus υ opt = Drop low-rank constraint: min X,Y s.t. Z = ( tr bij b T ijz ) d 2 ij [ Y X T X I d ] 0, rankz = d υ sdp := min X,Y s.t. Z = tr ( b ij b T ijz ) d 2 ij [ Y X T X I d ] 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 OF SENSOR NETWORK LOCALIZATION 7 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 OF SENSOR NETWORK LOCALIZATION 8 SOCP Relaxation υ opt = min x 1,...,x m,y ij yij d 2 ij s.t. y ij = x i x j 2 (i, j) A Relax = to constraint: υ socp = min x 1,...,x m,y ij yij d 2 ij s.t. y ij x i x j 2 (i, j) A y x 2 y + 1 (y 1, 2x) (also Doherty,Pister,El Ghaoui 03)
SOCP RELAXATION OF SENSOR NETWORK LOCALIZATION 9 Properties of SDP, SOCP Relaxations d = 2, n = 3, m = 1, d 12 = d 13 = 2 Problem: 0 = min x 1 =(α,β) R 2 (1 α) 2 + β 2 4 + ( 1 α) 2 + β 2 4
SOCP RELAXATION OF SENSOR NETWORK LOCALIZATION 10 SDP Relaxation: 0 = min y 2α 3 + y + 2α 3 x 1 =(α,β) R 2 y R s.t. y α β α 1 0 0 β 0 1 If solve SDP by IP method, then likely get analy. center.
SOCP RELAXATION OF SENSOR NETWORK LOCALIZATION 11 SOCP Relaxation: 0 = min x 1 =(α,β) R 2 y,z R 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.
SOCP RELAXATION OF SENSOR NETWORK LOCALIZATION 12 Properties of SDP & SOCP Relaxations Fact 1: υ socp υ sdp. If υ socp = υ sdp, then {SOCP (x 1,..., x m ) solns} {SDP (x 1,..., x m ) solns}. Fact 2: If (x 1,..., x m, y ij ) is the analytic center soln of SOCP, then x i conv {x j } j N (i) i m with N (i) := {j : (i, j) A}.
SOCP RELAXATION OF SENSOR NETWORK LOCALIZATION 13 Opt soln (m = 900, n = 1000, nhbrs if dist<.06) SOCP soln found by IP method (SeDuMi)
SOCP RELAXATION OF SENSOR NETWORK LOCALIZATION 14 Fact 3: If X = [x 1 x m ], Y is a relative-interior SDP soln (e.g., analytic center), then for each i, x i 2 = Y ii = x i appears in every SDP soln. Fact 4: If (x 1,..., x m, y ij ) is a relative-interior SOCP soln (e.g., analytic center), then for each i, x i x j 2 = y ij for some j N (i) x i appears in every SOCP soln.
SOCP RELAXATION OF SENSOR NETWORK LOCALIZATION 15 Error Bounds What if distances have errors? d 2 ij = d 2 ij + δ ij, where δ ij R and d ij := x true i x true j (x true i = x i i > m). Fact 5: If (x 1,..., x m, y ij ) is a relative-interior SOCP soln corresp. (d ij ) and δ ij δ, then for each i, x i x j 2 = y ij for some j N (i) = x i x true i = O( δ ij ). Fact 6: As δ ij 0, (analytic center SOCP soln corresp. (d ij ) ) (analytic center SOCP soln corresp. ( d ij ) ).
SOCP RELAXATION OF SENSOR NETWORK LOCALIZATION 16 Error bounds for the analytic center SOCP soln when distances have small errors.
SOCP RELAXATION OF SENSOR NETWORK LOCALIZATION 17 Solving SOCP Relaxation I: IP Method min x 1,...,x m,y ij yij d 2 ij s.t. y ij x i x j 2 (i, j) A Put into conic form: min u ij + v ij s.t. x i x j w ij = 0 (i, j) A y ij u ij + v ij = d 2 ij (i, j) A α ij = 1 2 (i, j) A u ij 0, v ij 0, (α ij, y ij, w ij ) Rcone d+2 (i, j) A with Rcone d+2 := {(α, y, w) R R R d : w 2 /2 αy}. Solve by an IP method, e.g., SeDuMi 1.05 (Sturm 01).
SOCP RELAXATION OF SENSOR NETWORK LOCALIZATION 18 Solving SOCP Relaxation II: Smoothing + Coordinate Gradient Descent So SOCP relaxation: min y z y d2 = max{0, z d 2 } min x 1,...,x m max{0, x i x j 2 d 2 ij} This is an unconstrained nonsmooth convex program. Smooth approximation: max{0, t} µh(t/µ) (µ > 0) h smooth convex, lim t h(t) = lim t h(t) t = 0. We use h(t) = ((t 2 + 4) 1/2 + t)/2 (CHKS).
SOCP RELAXATION OF SENSOR NETWORK LOCALIZATION 19 SOCP approximation: min f µ (x 1,.., x m ) := ( ) xi x j 2 d 2 ij µh µ Add a smoothed log-barrier term µ ( ( )) d 2 ij x i x j 2 log µh µ Solve the smooth approximation using coordinate gradient descent (SCGD): If xi f µ = Ω(µ), then update x i by moving it along the Newton direction [ 2 x i x i f µ ] 1 xi f µ, with Armijo stepsize rule, and re-iterate. Decrease µ when xi f µ = O(µ) i. µ init = 1e 5. µ end = 1e 9. Decrease µ by a factor of 10. Code in Fortran. Computation easily distributes.
SOCP RELAXATION OF SENSOR NETWORK LOCALIZATION 20 Simulation Results Uniformly generate x true 1,..., x true n in [0, 1] 2, m =.9n, two pts are nhbrs if dist< radiorange. Set d ij = x true i ɛ ij N(0, 1) (Biswas, Ye 03) Solve SOCP using SeDuMi 1.05 or SCGD. x true j max{0, 1 + ɛ ij nf}, Sensor i is uniquely positioned if x i x j 2 y ij 10 7 d ij for some j N (i).
SOCP RELAXATION OF SENSOR NETWORK LOCALIZATION 21 SeDuMi SCGD n m nf cpu/m up /Err up cpu/m up /Err up 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. m up := number of uniquely positioned sensors. Err up := max i uniq. pos. x i x true i.
SOCP RELAXATION OF SENSOR NETWORK LOCALIZATION 22 True positions of sensors (dots) and anchors (circles) (m = 900, n = 1000) SOCP soln found by SeDuMi and SCGD
SOCP RELAXATION OF SENSOR NETWORK LOCALIZATION 23 Mixed SDP-SOCP Relaxation Choose 0 l m. Let B := {(i, j) A : i l, j l}. min x 1,...,x m,y ij,y (i,j) B s.t. Z = tr ( b ij b T ijz ) d 2 ij + [ Y X T X I d ] 0 y ij d 2 ij \B X = [x 1 x l ] y ij x i x j 2 (i, j) A \ B with b ij := [ ] Il 0 0 (e 0 0 A i e j ). Easier to solve than SDP? As good a relaxation? Properties?
SOCP RELAXATION OF SENSOR NETWORK LOCALIZATION 24 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? x i x j d ij 2? Other objective functions, e.g., Replace 2-norm by a p-norm (1 p )? p-order cone relaxation? Q: For any x 1,..., x n R d, does arg min x (1 < p < ) A: Yes for d 2. No for d 3. n x x i p p conv {x 1,..., x n }? i=1