#!/usr/local/bin/perl -w

@km = (0, 30, 45, 70, 90, 120);
@d = (25, 10, 40, 30, 60, 50);
$N = scalar(@d)-1;
print "Km @km\n";
print "Dem @d\n";


for $i (0..$N){
    $kmxd = $km[$i]*$d[$i];
    print "$kmxd +";
    $sum_kmxd += $kmxd;
    $sum_d += $d[$i];
}
print "\nSuma numerador = $sum_kmxd\n";
print "Suma denominador = $sum_d\n";
$cdg = $sum_kmxd / $sum_d;
print "\tEl centro de gravedad es $cdg\n";
for $i (0..$N){
    $c1 = abs($km[$i]-$cdg);
    $c2 = $d[$i];
    $c = $c1*$c2;
    print "$c1 * $c2 = $c\n";
    $coste += $c;
}
print "\ty el coste asociado es $coste\n";

# fase 2
for $i (0..$N){
    $candidate = $km[$i];
    $coste=0;
    for $j (0..$N){
	$c = abs($candidate-$km[$j])*$d[$j];
	print "$c +"; 
	$coste += $c;
    }
    print "\nPara el punto ",$i+1,", km $km[$i], el coste es $coste\n";
}

__END__

Se trata de optimizar la localización de un centro que sirve a una 
  demanda concentrada en determinados puntos kilométricos. Adecuado 
  para localización 1D (tren, autopista, carretera). El coste será
  directamente proporcional a la distancia y cantidad transportada.
  

