1. A method of searching for a three-dimensional global path between first and second sets of routable elements in a region of a layout that has multiple layers, the method comprising: a) partitioning the region into a plurality of sub-regions; b) performing a path search to identify a path between a first set of sub-regions that contains the first-set elements and a second set of sub-regions that contain a second-set element, c) wherein performing the path search comprises exploring expansions along Manhattan and non-Manhattan routing directions between the sub-regions on a plurality of layers.