1. Computer-readable media containing instructions, which when read and executed by a computer, causes the computer to execute a method for selecting a placement for device modules that are to form an integrated circuit (IC) described by an IC design, wherein the selected placement satisfies a set of placement constraints, wherein the method comprises the steps of: a. processing the IC design to define a multiple-level hierarchy of groups, wherein each group consists of elements that are subject to one of the placement constraints, and wherein each element of each group at each level of the hierarchy consists of either one of the device modules or another one of the groups residing at a lower level of the hierarchy; b. generating a hierarchal representation of a trial placement for the IC comprising a separate group representation for each group of the hierarchy and a separate device representation for each of the device modules not included in any of the groups, wherein each group representation defines relative positions within the IC of the elements of the group that are consistent with the placement constraint on the elements of the group and each device representation defines a relative position of the device module it represents, c. iteratively perturbing the hierarchical representation to generate a sequence of hierarchical representations of trial placements for the IC design; d. separately evaluating a cost function for each trial placement that is a measure of placement quality, and e. based on cost function evaluations carried out at step d, selecting a best one of the trial placements generated at step c as the selected placement.