How to minimally move circles so that they don't overlap? You're given a set of circles, all the same radius, residing at different locations in a 2d space. Some circles are in fixed positions. How do you make sure none of them overlap, minimizing the distance that the circles are moved (ignoring overlapping fixed-position circles)?

The Voronoi mapping of the centers of the fixed circles will yield that space in the plane that is available for non-fixed circles to fill.  In particular, the non-fixed circles can be most efficiently moved by moving each center to a line segment of the mapping then moving along that segment until a non-overlap location is achieved.  If no non-overlap is available, continuing along other segments should eventually result in empty space.
