Fast heuristics for minimum length rectangular partitions of polygons

We consider the problem of partitioning isothetic polygons into rectangles by drawing edges of minimum total length. The problem has various applications [LPRS], eg. in VLSI design when dividing routing regions into channels ([Riv1], [Riv2]). If the polygons contain holes, the problem in <italic>NP</italic>-hard [LPRS]. In this paper it is shown how solutions within a constant factor of the optimum can be computed in time <italic>&Ogr;</italic>(<italic>n</italic> log <italic>n</italic>), thus improving the previous <italic>&Ogr;</italic>(<italic>n</italic><supscrpt>2</supscrpt>) time bound. An unusual divide-and-conquer technique is employed, involving alternating search from two opposite directions, and further efficiency is gained by using a fast method to sort subsets of points. Generalized Voronoi diagrams are used in combination with plane-sweeping in order to detect all “well bounded” rectangles, which are essential for the heuristic.