A method and system of constrained optimization with linear constraints to remove
overlap among cells of an integrated circuit. A coarse placement using well known
methods may provide an initial placement of cells. Overlapping cells are separated.
Any cell moved to its initial placement may be fixed so as not to be moved during
subsequent placements. A plurality of linear inequalities representing allowable
placements of a plurality of cells of a layout is generated. An objective function
measuring cell movement subject to the constraints of the plurality of inequalities
is minimized. The objective function minimizes cell movement from the initial cell
placement. In this novel manner, large and small cells may be automatically simultaneously
placed, deriving speed and quality advantages over prior art methods.