Minimizing distance of circles from points without overlapping I am designing a user interface, and I have encountered the following problem:
I have $p_1 ... p_n$ points in $\mathbb{R}^2$, and $c_1 ... c_n$ circles with constant $r$ radius. I want to minimize the distance of the $c_i$ circle's center and $p_i$ with the constraint that the circles can not overlap.
Is there a fast algorithm for that? I don't need an exact solution, but a fast one.
 A: This problem belongs to the family of the circle packing problems. In general is hard to solve to global optimality, but finding a feasible solution might not be that hard.
http://www.packomania.com/
Could you specify more what do you mean for "minimize the distance of the ci circle's center and pi"?
Moreover, I guess It cannot be formulated as SOCP due to the non overlap constraints:
|| c_i - c_j||_2 >= 2r
You can find some SOCP relaxation, not very tight usually.
UPDATE

Following the comment the model might be 
$min \sum_i || c_i - p_i||^2$
$s.t. || c_i - c_j||_2 >= 2r \quad  \forall i<j$
This is difficult. If you constraints on the region in which the centers can be located, it might even be unfeasible. Otherwise, assuming r is small enough, and you don't really need the global optimum, you might just random generate the centers in a box containing the p_is and run a local search to get a feasible solution.
If you look for some more advanced, I suggest you to google for "circle packing" or "network sensors localization".
