An optimal algorithm for finding disjoint rectangles and its application to PCB routing

The maximum disjoint subset (MDS) of rectangles is a subset of non-overlapping rectangles with the maximum total weight. The problem of finding the MDS of general rectangles has been proven to be NP-complete in [6]. In this paper, we focus on the problem of finding the MDS of boundary rectangles, which is an open problem and is closely related to some difficult problems in PCB routing. We propose a polynomial time algorithm to optimally solve the MDS problem of boundary rectangles. Then we show that this algorithm can be applied to find the optimal solution of the bus escape routing problem.

[1]  Hui Kong,et al.  Optimal layer assignment for escape routing of buses , 2009, 2009 IEEE/ACM International Conference on Computer-Aided Design - Digest of Technical Papers.

[2]  Katsuto Nakajima,et al.  On rectangle intersection and overlap graphs , 1995 .

[3]  Hui Kong,et al.  Automatic bus planner for dense PCBs , 2009, 2009 46th ACM/IEEE Design Automation Conference.

[4]  Tan Yan,et al.  A correct network flow model for escape routing , 2009, 2009 46th ACM/IEEE Design Automation Conference.

[5]  Wayne Wei-Ming Dai,et al.  Single-layer fanout routing and routability analysis for Ball Grid Arrays , 1995, ICCAD.

[6]  Francis Y. L. Chin,et al.  A Faster Algorithm for Finding Disjoint Paths in Grids , 1999, ISAAC.

[7]  Chung-Kuan Cheng,et al.  Layer Minimization of Escape Routing in Area Array Packaging , 2006, 2006 IEEE/ACM International Conference on Computer Aided Design.

[8]  Martin D. F. Wong,et al.  Ordered escape routing based on Boolean satisfiability , 2008, 2008 Asia and South Pacific Design Automation Conference.

[9]  Yao-Wen Chang,et al.  A Network-Flow-Based RDL Routing Algorithmz for Flip-Chip Design , 2007, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[10]  Hui Kong,et al.  Optimal bus sequencing for escape routing in dense PCBs , 2007, 2007 IEEE/ACM International Conference on Computer-Aided Design.