7/25/2008 1 a partition-based heuristic for translational box covering ben england and karen daniels...
TRANSCRIPT
7/25/20081
A Partition-Based Heuristic for Translational Box Covering
Ben England and Karen Daniels
Department of Computer ScienceDepartment of Computer ScienceUniversity of Massachusetts LowellUniversity of Massachusetts Lowell
supported in part by NSF and DARPA under grant DMS-0310589
– Sensor coverage:
– Repair work: collection of pieces cover a hole
Motivation for 2D Polygonal Covering
Supported under NSF/DARPA CARGO programSupported under NSF/DARPA CARGO program
NP-hard problem
Box Covering
– Goal: Translate a collection of boxes (orthotopes) Q = {Q1, Q2 , ... , QN} to cover another box P in 2d, 3d, …
– Motivation: Boxes can form enclosures for general shapes.
With Masters student B. EnglandWith Masters student B. England
Partial cover (red part uncovered)Partial cover (red part uncovered) Full coverFull cover
22dd views views of 3of 3dd coveringcovering
Supported under NSF/DARPA CARGO programSupported under NSF/DARPA CARGO program
NP-hard problem
11stst published published results in results in > 2> 2dd
d = dimension20 covering shapes 40 covering shapes
covering
P: finite point sets
geometric covering
translational covering
combinatorial covering
P: shapes
decomposition:
decomposition with covering )()( iijj QoverlapmayQ
partition: )()( iijj QoverlapcannotQ
VERTEX-COVER, SET-COVER (including [Gri99]), EDGE-COVER, VLSI logic minimization, facility location
Polynomial-time algorithms for triangulation [Cha91] and some tilings
Q: convex Q: nonconvex
BOX-COVER [Fow81]
-NP-hardness proofs for 4 polygon covering problems [Cul88]-Approximation algorithms for some orthogonal covering problems [Ber92]-Approximation algorithm to cover orthogonal polygon (with holes) with minimum number of rectangles [Kum03]-Clique-based Integer Programming (IP) model for covering orthogonal polygon with minimum number of rectangles [Hei05]-Polynomial-time results for restricted orthogonal polygon covering and horizontally convex polygons
. . . .
. . . . . .
covering
-Survey of non-algorithmic results [Tot04]-Thin coverings of the plane with congruent convex shapes-Translational covering of arbitrary polygonal shapes [Dan01,Dan03]-Translational B-spline covering [Nea06]-Volume condition for translational covering of a cube by a sequence of convex shapes (arbitrary dimension) [Gro85]-Volume condition for on-line algorithm for translational covering of a cube by a sequence of convex shapes (arbitrary dimension) [Las97]
mj
j jQP
1
)(
mj
j jQP
1
)(
Q: identical
. . . 1D interval covered by annuli using approximation algorithm [Hoc87]
NP-complete
Selected Prior Covering Work
Box Covering Outline
• Set covering approach• Key volume expressions• Partition-based heuristic• Experimental highlights• Dimension-independent volume test• Computational considerations
– Execution time dominated by 1-OPT
– Alternatives to 1-OPT
– 1-OPT preprocessing
– Monotonicity across calls to Lagrangian heuristic
• Conclusion and future work
Lagrangian heuristic comes from Lagrangian relaxation of IP model.1-OPT heuristic swaps groups for cover shape that best improves objective function until no improvement.
Set Covering Approach Applied to Box Covering
Based on Daniels and Grinde, Based on Daniels and Grinde, IIE TransactionsIIE Transactions, 1999, 1999
IP model, maximizing number of parts covered, treated with Lagrangian Heuristic + 1-OPT
parts
g11 = {1,3} g12 = {2,4}
g21 = {1,2} g22 = {3,4}
g31 = {1} g32 = {2}
g33 = {3} g34 = {4}
C1 = {g11,g12}
C2 = {g21,g22}
C3 = {g31,g32,g33,g34}
Problem: choose just one part group gjk from the set of part groups Cj for each cover shape Qj such that every part of P is in one of the chosen part groups.
Solution: {g11,g21,g34}
Key Volume Expressionsvolume
quantized volume
quantized effective volume
effective volume
= a generic part of P
N = number of covering shapes
d = dimension
LGC_Cover( ) = modified Lagrangian Heuristic + 1-OPT
= total number of parts of P
Uniform refinement scheme, unlike general polygonal approach of [Dan03], which subdivides one triangle during each iteration of repeat loop.
= a generic part of P
Heuristic:
Experimental Highlights2D Validation Experiment:
– 20 instances with square P and N = 2…6 rectangular covering shapes
– OrthotopeCover( ) outperforms polygonal solver of Daniels, et al.
[CCCG2003] by at least 2 orders of magnitude • Simpler geometric operations (no Minkowski sum)• Volume tests that do not generalize to arbitrary polygons
Example:
cover shape volume= = 1.21)(v
)(v1
P
QN
jj
Minkowski sum of two sets A and B is },|{ BbAaba
4 identical square covering shapes
Daniels, et al. [CCCG2003]:
167 triangular parts
888 groups94 triangle vertices
875 seconds
450 MHz CPU Sun SPARC Ultra 60TM with 512 MB memory
Current paper:
4 square parts5 square vertices80 groups0.2 seconds
Experimental HighlightsResults in 3d and 4d:
N = number of covering shapes
d = dimension
= total number of parts of P
csv = cover shape volume
3 GHz 64-bit Intel PentiumTM D CPU with 2 GB memory
maximum aspect ratio of a covering shape = 4
Experimental HighlightsMore results in 3d:
22d views views of 3of 3dd covering covering using using OpenGLOpenGL
1 GHz Intel PentiumTM 4 CPU with 1/2 GB memory
d N #groups time(seconds)
% covered
3 20 4,096 47,603,138 <60 99.783 40 4,096 2,344,940 <60 100.00
Problem Instance “Hardness” Characterization
N = number of covering shapes
d = dimension
d
d PQ
11),,(
= total number of parts of P
Dimension-independent Volume Margin
)(v
,'),,(
P
P),(QPQ j
Quantized Effective Volume Ratio
= a generic part of P
tp = total points. r = correlation coefficient between and % coverage
1 GHz Intel PentiumTM 4 CPU with 1/2 GB memory
~10 instances for each parameter combination
Effectiveness of
3 GHz 64-bit Intel PentiumTM D CPU with 2 GB memory
test added
0
d # N #calls %savings
instances saved
3
3
17
13
8192
128-4096
12-18
12-16
2.8
2.3
47.2
58.8
Effectiveness of
100% coverage was reached by original & revised heuristic in all these cases.
# calls saved = average per instance
% savings = average relative % savings of LCG_Cover( ) calls
Heuristic:
Computational Considerations• Execution Time
– OrthotopeCover( ) dominated by LGC_Cover( )– LGC_Cover( ) dominated by deterministic 1-OPT
• 1-OPT attempts to increase lower bound on Lagrangian dual– Unlike polygonal heuristic in which group maintenance dominates
• Alternatives to 1-OPT– 2-OPT too expensive– Randomization:
• Simulated annealing’s random swaps inferior to 1-OPT• Random group sampling weakens 1-OPT
• 1-OPT Preprocessing– 1-OPT really behaves like a greedy global improvement strategy– 1-OPT preprocessing yields improvement in:
• 75% of 2d instances• 87% of 3d instances• 64% of 4d instances
Test suite = subset of 30 of our randomly generated instances: 10 2d, 10 3d, 10 4d3 GHz 64-bit Intel PentiumTM D CPU with 2 GB memory
1-OPT heuristic swaps groups for cover shape that best improves objective function until no improvement.
Computational Considerations• Monotonicity across calls to LGC_Cover( ) Lagrangian
heuristic– No theoretical guarantee that number of parts covered increases.
• Number of parts doubles before each LGC_Cover( ) call.• LGC_Cover( ) is only a heuristic.
– Success depends on N, d, thickness of cover, richness of group structure and strength of LGC_Cover( ).
• Group structure is rich.• 1-OPT helps LGC_Cover( ) cover increasing number of parts.
– Sample progression for 2d, N = 6, csv = 1.25:• 504 of 512 parts covered (98.4%)• 1014 of 1024 parts covered (99.%)• 2039 of 2048 parts covered (99.6%)• 4096 of 4096 parts covered (100%)
1-OPT heuristic swaps groups for cover shape that best improves objective function until no improvement.
Test suite = subset of 30 of our randomly generated instances: 10 2d, 10 3d, 10 4d3 GHz 64-bit Intel PentiumTM D CPU with 2 GB memory
monotonically increasing
Conclusion & Future Work• Partition-based, translational, box covering heuristic has dimension as an input.• Set covering approach uses uniform refinement.• First 3d, 4d heuristic results for our translational box covering problem
– Found covers for some instances with as many as 50 covering shapes.• Box covering heuristic outperforms general, polygonal heuristic in 2d
rectangular experiment. • Dimension-independent volume margin avoids many refinement steps.• Computational considerations
– Execution time is dominated by deterministic 1-OPT improvement heuristic.– 1-OPT outperforms 2-OPT, simulated annealing and randomized 1-OPT.– 1-OPT preprocessing improves results.– Monotonicity across calls to Lagrangian heuristic occurs often in practice, although
not theoretically guaranteed.• Future work:
– Use boxes as enclosures for more general shapes to:• improve 2d general covering heuristic• treat 3d general covering
– Allow rotations
18
References
Acknowledgement: Thanks to Michelle Daniels for comments.
19
For More Information
• Email [email protected]• Web sites:
• Thanks for your attention!• Questions?
http://www.cs.uml.edu/~kdaniels/covering/covering.htmhttp://www.cs.uml.edu/~bengland/cg/orthotope_cover/
BACKUP SLIDES(from CCCG 2003, etc.)
With graduate students R. Inkulu, A. Mathur, C.Neacsu, & UNH professor R. GrindeWith graduate students R. Inkulu, A. Mathur, C.Neacsu, & UNH professor R. Grinde
2D Polygonal Covering [CCCG 2001,CCCG2003]
Q3Q1 Q2
Sample P and Q
P1
P2
Translated Q Covers P
P1
Q1
Q2
Q3
P2Translational 2D Polygon CoveringTranslational 2D Polygon Covering
• Input: – Covering polygons Q = {Q1, Q2 , ... , Qm}
– Target polygons (or point-sets) P = {P1, P2 , ... , Pn}
• Output:– Translations = { 1, 2 , ... , m} such that
mjj j
QP
1
)(
Supported under NSF/DARPA CARGO programSupported under NSF/DARPA CARGO program
2D B-Spline Covering [CORS/INFORMS2004, UMass Lowell Student Research
Symposium 2004, Computers Graphics Forum, 2006]
With graduate student C. NeacsuWith graduate student C. Neacsu
Supported under NSF/DARPA CARGO programSupported under NSF/DARPA CARGO program
S
E T1
T2
Out
In
I
NP-hard problem
motivated by 3D CAD
Covering Web Sitehttp://www.cs.uml.edu/~kdaniels/covering/covering.htm
With graduate student C. Neacsu and undergraduate A. HussinWith graduate student C. Neacsu and undergraduate A. Hussin
Combinatorial Covering Procedure: LAGRANGIAN-COVER IP Model
Variables: Parameters:
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
kjg
Combinatorial Covering Procedure: LAGRANGIAN-COVER IP
ParametersTriangles: Qj’s:Groups:
G1
G2
G3
Q1
Q2G3
a11=1 a12=1 a13=1
a21=1 a22=1 a23=1
a31=1 a32=0 a33=0
a41=1 a42=0 a43=0
a51=0 a52=1 a53=0
b11=1 b12=0
b21=0 b22=1
b31=1 b32=1
T1
T2
T3
T4
T5
Combinatorial Covering Procedure: LAGRANGIAN-COVER IP
Constraints
1312111 ggg
1322212 ggg
13111 gg
Variables: Parameters:
k=1 k=2 k=3
j=1
j=2
b11=1 b12=0
b21=0 b22=1
b31=1 b32=1 13222 gg
exactly 1 group for each Qj
kjg
Combinatorial Covering Procedure: LAGRANGIAN-COVER IP
Constraints
321322121211
3113211211111
gagaga
gagagat
322322221221
3123212211212
gagaga
gagagat
323322321231
3133213211313
gagaga
gagagat
Variables: Parameters:
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
325322521251
3153215211515
gagaga
gagagat
k=1 k=2 k=3
j=1
j=2322231111 ggggt
322231112 ggggt
113 gt
225 gt
b11=1 b12=0
b21=0 b22=1
b31=1 b32=1
324322421241
3143214211414
gagaga
gagagat
114 gt
j=1
j=2
j=1
j=2
j=1
j=2
j=1
j=2
a11=1 a12=1 a13=1
a21=1 a22=1 a23=1
a31=1 a32=0 a33=0
a41=1 a42=0 a43=0
a51=0 a52=1 a53=0
Combinatorial Covering Procedure: LAGRANGIAN-COVER IP
VariablesTriangles: Qj’s:Groups:
G1
G2
G3
Q1
Q2
Group choices:
G1 for Q1G2 for Q2
g11=1 g12=0 g21=0 g22=1 g31=0 g32=0
t1=1 t2=1 t3=1 t4=1 t5=1
21322231112 ggggt
113 gt
322231111 ggggt 21
225 gt
t1 , t2=1 multiply covered
11311 gg
12322 gg
11
11
T1
T2
T3
T4
T5
114 gt 11
11
11
Lagrangian Relaxation
Variables: Parameters:
bring into objective function
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
kjg
Lagrangian Relaxation
Lagrangian Dual: min LR(), subject to >= 0
Lagrangian Relaxation LR()
T
i
m
j bkkjikii
kj
gat1 1 1
T
i
m
j bkkjikii
kj
gat1 1 1
Lagrange Multipliers
1
2
3
1
2
3
maximize
>=0 and subtracting term < 0
removing constraints
4
4minimize
Lower bounds come from any feasible solution to 1
kjg
kjg
kjg
Lagrangian Relaxation
Lagrangian Relaxation LR()
T
i
m
j bkkjikii
kj
gat1 1 1
i
T
ii t
1
1 maximize
T
i
m
j bkkjiki
kj
ga1 1 1
LR() is separable
SP1 SP2
Solve: if (1-i) >=0
then set ti=1
else set ti=0Solve: Redistribute:
Solve j sub-subproblems
- compute gkj coefficients
- set to 1 gkj with largest coefficient
m
j bk
T
ikjiki
kj
ga1 1 1
For candidate values, solve SP1, SP2
kjg
kjg
Lagrangian Relaxation
• Generating lower bound for :– SP2 solution yields gkj values feasible for
– Modify ti values accordingly
– Result is feasible for
1
1
1
1
kjg
Lagrangian Relaxation
• 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
i
T
ii t
1
1 maximize
T
i
m
j bkkjiki
kj
ga1 1 1
SP1
SP2
1
1
1
kjg
1
Lagrangian Relaxation
• Search space using subgradient optimization– Initialize is (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 is
Iterate until stopping criteria satisfied