290 likes | 423 Views
A Combinatorial Maximum Cover Approach to 2D Translational Geometric Covering. Karen Daniels, Arti Mathur, Roger Grinde University of Massachusetts Lowell and University of New Hampshire 11 August, 2003. http://www.cs.uml.edu/~kdaniels. Acknowledgment: Cristina Neacsu. future work:.
E N D
A Combinatorial Maximum Cover Approach to 2D Translational Geometric Covering Karen Daniels, Arti Mathur, Roger Grinde University of Massachusetts Lowell and University of New Hampshire 11 August, 2003 http://www.cs.uml.edu/~kdaniels Acknowledgment: Cristina Neacsu
future work: rotation approximate 3D spline flexible A Family of Covering Problems • Input: • Covering Items: Q = {Q1, Q2 , ... , Qm} • Target Items: P = {P1, P2 , ... , Ps} • Subgroup G of • Output: a solution g = {g1, …,gj , ... , gm}, , such that Translated Q Covers P Sample P and Q P2 P1 Q1 Q2 Q3 NP-hard Rigid, 2D, Exact, Polygonal & Point, Translation this work:
Sample Application Areas Sensors Locate, Identify, Track, Observe Lethal Action CAD Sensor Coverage Targeting
covering geometric covering combinatorial covering VERTEX-COVER, SET-COVER, EDGE-COVER, VLSI logic minimization, facility location 2D translational covering P: finite point sets P: shapes covering Q: identical Q: nonconvex Q: convex . . . decomposition: . . . . . . . . . . 1D interval covered by annuli • Thin coverings of the plane with congruent convex shapes • Translational covering of a convex set by a sequence of convex shapes • Translational covering of arbitrary polygonal shapes [CCCG’01] BOX-COVER partition: Decomposition with covering • NP-hard/complete polygon problems • polynomial-time results for restricted orthogonal polygon covering and horizontally convex polygons • approximation algorithms for boundary, corner covers of orthogonal polygons Polynomial-time algorithms for triangulation and some tilings COVERINGPROBLEMS Source: CCCG’01 Daniels, Inkulu
P 4 {2} 4 {2} {2} 5 Covered by Q2 {2} 5 {1, 2} 3 {1, 2} 3 covered by Q2 Covered by Q2 {2} 6 {2} 6 covered by Q1 covered by Q1 2 {1} 2 {1} potentially uncovered covered by Q1 1 {1} 1 {1,2} Q”3 7 10 11 4 9 Q’3 3 8 5 6 Q’2 2 Q1 1 Previous Work: CCCG’01 Daniels, Inkulu • Assignments of covering shapes to vertices of target shape constrain positions of covering shapes • Incremental approach seeks cover with small number of constraints • Q covers P using following constraints: • 4 convex pieces of Q • 11 points of P • 16 constraints: • Q1 must cover points 1,2,3,4,5 of P • Q’2 must cover points 2,6,7,8 of P • Q’3 must cover points 5,4,9,10 of P • Q’’3 must cover points 4,10,11 of P Convex decomposition of Q leverages convexity coverage property.
7 8 6 9 5 7 {3} 8 {1} 10 6 {1} 4 9 {3} 5 {3} 11 3 10 {2} 12 4 {2} 2 13 1 11 {2} P 3 {2} 12 {3} 2 {1} 13 {3} 1 {1} Previous Work: CCCG’01 Daniels, Inkulu Heuristic seeks cover with specified type of intersection graph. • Entire approach works well when: • - number of vertices of convex hull of P is small; • entire convex hull of P can be covered by Q; • number of faces in convex decomposition of Q is small. Lacks strong mechanism for deciding which Qj’s should cover which parts of P.
Triangles: Groups: Qj’s: T1 G1 T2 Q1 G2 T3 T4 Q2 G3 T5 Group choices: G1 for Q1 G2 for Q2 New Covering Approach T
Qj t Minkowski Sum for Containmentin ADD-GROUPS Minkowski Sum: Intersection: Containment:
Qj t Group Generation ProcedureADD-GROUPS 2-contact position removes both x,y degrees of freedom t G2
Combinatorial Covering Procedure: LAGRANGIAN-COVER • Integer Programming (IP) formulation maximizes number of triangles covered by selecting one triangle group for each covering shape. • One constraint set is brought into the objective function for Lagrangian Relaxation. • Lagrangian Relaxation is used as a heuristic since optimal value of Lagrangian Dual is no better than Linear Programming relaxation. • Approach was used successfully by Grinde, Daniels (1999) with containment to maximize apparel pattern piece placement.
T1 T2 T3 T4 T5 Combinatorial Covering Procedure: LAGRANGIAN-COVER IP Parameters Triangles: Groups: Qj’s: G1 Q1 G2 Q2 G3 G3
T1 T2 T3 T4 T5 Combinatorial Covering Procedure: LAGRANGIAN-COVER IP Variables Triangles: Groups: Qj’s: Group choices: G1 for Q1 G2 for Q2 G1 Q1 G2 Q2 G3
Brought into objective function for Lagrangian Relaxation Combinatorial Covering Procedure: LAGRANGIAN-COVER IP Model Lagrangian Relaxation is used as a heuristic since optimal value of Lagrangian Dual is no better than Linear Programming relaxation. exactly 1 group chosen for each Qj value of 1 contributed to objective function for each triangle covered by a Qj, where that triangle is in a group chosen for that Qj Variables: Parameters:
P SUBDIVIDE-TRI Invariant: T is a triangulation of P T’ T uncovered triangle
Row 1 Row 13 Row 12 Row 2 Row 3 Row 10 Row 4 Implementation Results ALG 1: recent results ALG 2: CCCG’01 Daniels, Inkulu h=number of vertices of P #Pts 1,2 = cover description size for ALG 1, 2 Time 1, 2 = run-time in seconds for ALG 1, 2 * Subdivision tolerance of 300 triangles reached ** Run-time cutoff of 10 minutes reached Software Libraries: CGAL, LEDA
Implementation Results Nonconvex Q Polygons # triangles = 35 Time = 145 seconds
Rigid, 2D, Exact, Polygonal & Point, Translation this work: future work: rotation approximate 3D spline flexible Future Work • Improve triangle subdivision • Generalize the covering problem
Combinatorial Covering Procedure: LAGRANGIAN-COVER IP Model exactly 1 group chosen for each Qj value of 1 contributed to objective function for each triangle covered by a Qj, where that triangle is in a group chosen for that Qj Variables: Parameters:
T1 T2 T3 T4 T5 Combinatorial Covering Procedure: LAGRANGIAN-COVER IP Parameters Triangles: Groups: Qj’s: b11=1 b12=0 b21=0b22=1 b31=1b32=1 G1 Q1 G2 Q2 a11=1 a12=1 a13=1 a21=1a22=1a23=1 a31=1a32=0a33=0 a41=1a42=0a43=0 a51=0a52=1a53=0 G3 G3
exactly 1 group for each Qj Combinatorial Covering Procedure: LAGRANGIAN-COVER IP Constraints k=2 k=1 k=3 b11=1 b12=0 b21=0b22=1 b31=1b32=1 j=1 j=2 Variables: Parameters:
j=1 j=1 j=1 j=1 j=1 j=2 j=2 j=2 j=2 j=2 Combinatorial Covering Procedure: LAGRANGIAN-COVER IP Constraints value of 1 contributed to objective function for each triangle covered by a Qj, where that triangle is in a group chosen for that Qj k=3 k=1 k=2 b11=1 b12=0 b21=0b22=1 b31=1b32=1 a11=1 a12=1 a13=1 a21=1a22=1a23=1 a31=1a32=0a33=0 a41=1a42=0a43=0 a51=0a52=1a53=0 Variables: Parameters:
T1 T2 T3 T4 T5 Combinatorial Covering Procedure: LAGRANGIAN-COVER IP Variables Triangles: Groups: Qj’s: Group choices: G1 for Q1 G2 for Q2 G1 Q1 g11=1 g12=0g21=0g22=1g31=0g32=0 G2 Q2 t1 , t2=1multiply covered G3 t1=1 t2=1t3=1t4=1 t5=1
Lagrangian Relaxation exactly 1 group chosen for each Qj value of 1 contributed to objective function for each triangle covered by a Qj, where that triangle is in a group chosen for that Qj bring into objective function Variables: Parameters:
1 Lagrangian Relaxation maximize Lagrange Multipliers 2 3 4 removing constraints minimize 2 l>=0 and subtracting term < 0 3 Lagrangian Relaxation LR(l) 1 Lower bounds come from any feasible solution to 1 4 Lagrangian Dual: min LR(l), subject to l >= 0
Lagrangian Relaxation Lagrangian Relaxation LR(l) LR(l) is separable SP1 SP2 Solve: if (1-li) >=0 then set ti=1 else set ti=0 Solve: Redistribute: Solve j sub-subproblems - compute gkj coefficients - set to 1 gkjwith largest coefficient For candidate l values, solve SP1, SP2
Lagrangian Relaxation 1 • Generating lower bound for : • SP2 solution yields gkj values feasible for • Modify ti values accordingly • Result is feasible for 1 1 1
Lagrangian Relaxation SP2 SP1 • SP1, SP2 have integrality property • Solutions unchanged when variable integrality not enforced • Optimal value of Lagrangian Dual no better than Linear Programming relaxation of • Use as a heuristic: • Upper bound for • Lower bound for by generating feasible solution to • Fast, predictable execution time • Optimization software libraries not required 1 1 1 1
Lagrangian Relaxation • Search l space using subgradient optimization • Initialize lis (e.g. 0) • Solve SP1 and SP2 • Update upper bound using sum of SP1, SP2 solutions • Generate feasible solution • Improve feasible solution using local exchange heuristic • Update lower bound using feasible solution • Calculate subgradients • Calculate step size • Take a step in subgradient direction • Update lis Iterate until stopping criteria satisfied