Partitioning and Routing