15. An apparatus, comprising: one or more processors; and a non-transitory computer-readable storage medium storing instructions that, when executed by the one or more processors, cause the apparatus to perform a method for placing a circuit design, the method comprising: receiving a netlist for the circuit design, wherein the netlist describes interconnections between a plurality of cells; representing the netlist as a graph; performing fuzzy clustering on the graph to obtain a set of clusters and a set of probability values, wherein each probability value corresponds to a probability of a given cell belonging to a given cluster; partitioning the netlist based on the set of clusters and the set of probability values to obtain a partitioned netlist; placing the partitioned netlist to obtain a placed circuit design, wherein cells of each partition are placed in a layout bin corresponding to the partition; and optimizing the placed circuit design, wherein said optimizing reassigns at least one cell to a different layout bin based on the set of probability values.
19. The apparatus of claim 15 , wherein said partitioning the circuit design comprises creating a set of partitions corresponding to the set of clusters and assigning each cell to a partition in the set of partitions based on the set of probability values.