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

$C = 500; # coste unitario de compra
$D = 10000; # demanda anual en unidades
$S = 1;   # coste fijo por ordenar un pedido
$i = 0.1;    # tipo de interés para calcular el coste de inventario
$H = $C*$i; # coste unitario de tener inventario

$Q = sqrt(2*$D*$S/$H);  # Qopt lote óptimo según modelo de Wilson 

$Cd = 480;  # coste unitario con descuento procedente de una oferta   
$Qd = 1000; # lote en unidades de la oferta
$Hd = $Cd*$i;

$CC = $C*$D;  # coste de la compra anual
$CS = $S*$D/$Q; # coste de los pedidos al año
$CH = $H*$Q/2;  # coste anual del inventario medio
$CT = $CC + $CS + $CH; # coste total

$CCd = $Cd*$D;
$CSd = $S*$D/$Qd;
$CHd = $Hd*$Qd/2;
$CTd = $CCd + $CSd + $CHd;

print "Coste total (EOQ)   = $CT\n";
print "Coste con descuento = $CTd\n";

if ($CTd < $CT){
    print "Cómprese según la oferta con descuento\n";
    print "aproximadamente cada ", int(365*$Qd/$D), " días\n";
}else{
    print "Comprar $Q\n";
    print "aproximadamente cada ", int(365*$Q/$D), " días\n";
}
    
__END__
