7/25/2008 1 a partition-based heuristic for translational box covering ben england and karen daniels...

34
7/25/200 8 1 A Partition-Based Heuristic for Translational Box Covering Ben England and Karen Daniels Department of Computer Science Department of Computer Science University of Massachusetts Lowell University of Massachusetts Lowell supported in part by NSF and DARPA under grant DMS-0310589

Upload: phyllis-barker

Post on 02-Jan-2016

214 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 7/25/2008 1 A Partition-Based Heuristic for Translational Box Covering Ben England and Karen Daniels Department of Computer Science University of Massachusetts

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

Page 2: 7/25/2008 1 A Partition-Based Heuristic for Translational Box Covering Ben England and Karen Daniels Department of Computer Science University of Massachusetts

– 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

Page 3: 7/25/2008 1 A Partition-Based Heuristic for Translational Box Covering Ben England and Karen Daniels Department of Computer Science University of Massachusetts

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

Page 4: 7/25/2008 1 A Partition-Based Heuristic for Translational Box Covering Ben England and Karen Daniels Department of Computer Science University of Massachusetts

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

Page 5: 7/25/2008 1 A Partition-Based Heuristic for Translational Box Covering Ben England and Karen Daniels Department of Computer Science University of Massachusetts

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.

Page 6: 7/25/2008 1 A Partition-Based Heuristic for Translational Box Covering Ben England and Karen Daniels Department of Computer Science University of Massachusetts

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}

Page 7: 7/25/2008 1 A Partition-Based Heuristic for Translational Box Covering Ben England and Karen Daniels Department of Computer Science University of Massachusetts

Key Volume Expressionsvolume

quantized volume

quantized effective volume

effective volume

= a generic part of P

Page 8: 7/25/2008 1 A Partition-Based Heuristic for Translational Box Covering Ben England and Karen Daniels Department of Computer Science University of Massachusetts

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:

Page 9: 7/25/2008 1 A Partition-Based Heuristic for Translational Box Covering Ben England and Karen Daniels Department of Computer Science University of Massachusetts

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

Page 10: 7/25/2008 1 A Partition-Based Heuristic for Translational Box Covering Ben England and Karen Daniels Department of Computer Science University of Massachusetts

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

Page 11: 7/25/2008 1 A Partition-Based Heuristic for Translational Box Covering Ben England and Karen Daniels Department of Computer Science University of Massachusetts

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

Page 12: 7/25/2008 1 A Partition-Based Heuristic for Translational Box Covering Ben England and Karen Daniels Department of Computer Science University of Massachusetts

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

Page 13: 7/25/2008 1 A Partition-Based Heuristic for Translational Box Covering Ben England and Karen Daniels Department of Computer Science University of Massachusetts

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

Page 14: 7/25/2008 1 A Partition-Based Heuristic for Translational Box Covering Ben England and Karen Daniels Department of Computer Science University of Massachusetts

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:

Page 15: 7/25/2008 1 A Partition-Based Heuristic for Translational Box Covering Ben England and Karen Daniels Department of Computer Science University of Massachusetts

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.

Page 16: 7/25/2008 1 A Partition-Based Heuristic for Translational Box Covering Ben England and Karen Daniels Department of Computer Science University of Massachusetts

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

Page 17: 7/25/2008 1 A Partition-Based Heuristic for Translational Box Covering Ben England and Karen Daniels Department of Computer Science University of Massachusetts

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

Page 18: 7/25/2008 1 A Partition-Based Heuristic for Translational Box Covering Ben England and Karen Daniels Department of Computer Science University of Massachusetts

18

References

Acknowledgement: Thanks to Michelle Daniels for comments.

Page 19: 7/25/2008 1 A Partition-Based Heuristic for Translational Box Covering Ben England and Karen Daniels Department of Computer Science University of Massachusetts

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/

Page 20: 7/25/2008 1 A Partition-Based Heuristic for Translational Box Covering Ben England and Karen Daniels Department of Computer Science University of Massachusetts

BACKUP SLIDES(from CCCG 2003, etc.)

Page 21: 7/25/2008 1 A Partition-Based Heuristic for Translational Box Covering Ben England and Karen Daniels Department of Computer Science University of Massachusetts

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

Page 22: 7/25/2008 1 A Partition-Based Heuristic for Translational Box Covering Ben England and Karen Daniels Department of Computer Science University of Massachusetts

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

Page 23: 7/25/2008 1 A Partition-Based Heuristic for Translational Box Covering Ben England and Karen Daniels Department of Computer Science University of Massachusetts

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

Page 24: 7/25/2008 1 A Partition-Based Heuristic for Translational Box Covering Ben England and Karen Daniels Department of Computer Science University of Massachusetts

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

Page 25: 7/25/2008 1 A Partition-Based Heuristic for Translational Box Covering Ben England and Karen Daniels Department of Computer Science University of Massachusetts

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

Page 26: 7/25/2008 1 A Partition-Based Heuristic for Translational Box Covering Ben England and Karen Daniels Department of Computer Science University of Massachusetts

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

Page 27: 7/25/2008 1 A Partition-Based Heuristic for Translational Box Covering Ben England and Karen Daniels Department of Computer Science University of Massachusetts

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

Page 28: 7/25/2008 1 A Partition-Based Heuristic for Translational Box Covering Ben England and Karen Daniels Department of Computer Science University of Massachusetts

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

Page 29: 7/25/2008 1 A Partition-Based Heuristic for Translational Box Covering Ben England and Karen Daniels Department of Computer Science University of Massachusetts

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

Page 30: 7/25/2008 1 A Partition-Based Heuristic for Translational Box Covering Ben England and Karen Daniels Department of Computer Science University of Massachusetts

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

Page 31: 7/25/2008 1 A Partition-Based Heuristic for Translational Box Covering Ben England and Karen Daniels Department of Computer Science University of Massachusetts

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

Page 32: 7/25/2008 1 A Partition-Based Heuristic for Translational Box Covering Ben England and Karen Daniels Department of Computer Science University of Massachusetts

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

Page 33: 7/25/2008 1 A Partition-Based Heuristic for Translational Box Covering Ben England and Karen Daniels Department of Computer Science University of Massachusetts

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

Page 34: 7/25/2008 1 A Partition-Based Heuristic for Translational Box Covering Ben England and Karen Daniels Department of Computer Science University of Massachusetts

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