Si la posicion de las "casas" y los "pozos" son fijas, puedes precalcular las distancias en una tabla cuadrada d(Ci, Pj).
Es un metodo parecido al que usan algunos programas, tienen tablas precalculadas de senos y cuando necesitan un valor hacen una interpolacion que es mas rapida (aunque el resultado tenga errores).
No entiendo tu problema.
Supongo que la superficie en los que se encuentran los objetos es plana, pues si no fuera asi, la distancia mas corta no seria la recta.
¿Que quiere decir "El numero de casas entre pozos siempre dará un entero."?, el "numero de casas" siempre ha sido un entero, mas precisamente un numero natural, carece de sentido hablar de "media casa" o pi casas
buscas minimizar "la suma de todas las distancis", intuyo que quieres decir de la red construida, pero ¿que condiciones debe cumplir esa red?. ¿Que todas las casas esten unidas al menos a un pozo?
Si precisas un poco mas el problema intentare ayudarte.