1. A method of designing a racking configuration for boxes in racks and for determining which connections go between different racks, the method comprising: solving a rack select optimization sub-problem to determine racks to use; and solving a rack assign optimization sub-problem to determine which particular rack will hold a particular box.