TIenes que calcular las distancias, desde cada población a todas las demás:
La fórmula f(pob) se traduce claramente a una función, la función que da la idoneidad de una población. Así, en esa función básicamente tendrías que hacer algo así:
Código:
int idoneidad(Poblacion, Lista) es:
idoneidad = t · p; // primera parte de la formula
Para cada puebloI de Lista que no sea poblacion:
idoneidad = idoneidad - habitantesDeI · distancia(poblacion, puebloI); // segunda parte de la fórmula
end for;
return idoneidad;
end;
Luego, en el código principal de tu programa tendrás que tener otro bucle, en el que llamas a idoneidad para cada uno de las poblaciones y vas guardando los resultados. Luego miras cuál es el mejor resultado y ya está.
distancia(pobA,pobB) es otra función que calcula la distancia entre las dos ciudades que le pasas.