Ну так отсортируйте радиусы в порядке возрастания. Потом жадно пихайте самый большой радиус в центр прямоугольника. Потом следующий и смотрите, пересекаются ли окружности. Пересекаться (вернее одна окружность будет внутри другой) они будут, поэтому двигаем второй радиус куда-нибудь, до тех пор, пока пересекаться не будут (смотрим сюда
http://e-maxx.ru/algo/circles_intersection).
Оно?