Problema 6

Estime la cantidad óptima de reorden de un artículo que tiene las siguientes características. Se consumen en forma constante 10.000 unidades por año, el costo fijo de cada orden es de $32 y el costo unitario anual de almacenamiento es de $0,5. Se carga además un costo anual por almacenamiento igual a un 20% del valor del inventario promedio. El precio unitario de cada artículo es variable ya que en una orden de 1 a 999 unidades la pieza cuesta $3 cada una, 1.000 a 1.999 unidades la pieza cuesta $2,95 y $2,9 si la orden es de 2000 unidades o más. No se permite déficit y la entrega del producto es

Datos:

D <- 10000          # Demanda             (u/a)
Cu1 <- 3            # Coste por unidad    ($/u) de 1≤q≤999
Cu2 <- 2.95         # Coste por unidad    ($/u) de 1000≤q≤1999
Cu3 <- 2.9          # Coste por unidad    ($/u) de 2000≤q
Cp <- 32            # Coste por pedido    ($/p)
Cm1 <- 0.5+0.2*Cu1  # Coste mantenimiento ($/u/a) de 1≤q≤999
Cm2 <- 0.5+0.2*Cu2  # Coste mantenimiento ($/u/a) de 1000≤q≤1999
Cm3 <- 0.5+0.2*Cu3  # Coste mantenimiento ($/u/a) de 2000≤q

Tenemos que calcular la cantidad optima para cada tramo con la formula:

\[ Q^* = \sqrt{\frac{2DC_p}{C_m}} \]

Q1opt <- sqrt(2*D*Cp/Cm1)
Q2opt <- sqrt(2*D*Cp/Cm2)
Q3opt <- sqrt(2*D*Cp/Cm3)

\[ Q^*_1= 762.77 \] \[ Q^*_2= 766.26 \] \[ Q^*_3= 769.8 \]

Ahora hay que calcular los costes totales de cada tramo:

Para el primer tramo la Q optima vale 762.77 y se encuentra dentro de su intervalo 1≤q≤999, así que tomamos Q1opt para encontrar el coste total.

Para el segundo y tercer tramo como sus Q optimos son menores que el minimo de sus rangos entonces el valor optimo será el minimo valor que pueden tomar, asi pues usamos Q=1000 y Q=2000 para calcular CT1 y CT2 respectivamente.

Q2opt <- 1000
Q3opt <- 2000

CT1 <- Cp*D/Q1opt + Cm1*Q1opt/2 + Cu1*D
CT2 <- Cp*D/Q2opt + Cm2*Q2opt/2 + Cu2*D
CT3 <- Cp*D/Q3opt + Cm3*Q3opt/2 + Cu3*D

\[ CT_1 = (C_p \times \frac{D}{Q}) + (C_m \times \frac{Q}{2}) + (C_u \times D) = 30839.05 \] \[ CT_2 = (C_p \times \frac{D}{Q}) + (C_m \times \frac{Q}{2}) + (C_u \times D) = 30365 \] \[ CT_3 = (C_p \times \frac{D}{Q}) + (C_m \times \frac{Q}{2}) + (C_u \times D) = 30240 \]

Por tanto la cantidad óptima de reorden es de 2000 unidades con un coste total anual de $30240


Problema 31

Una compañía consume 80.000 motores eléctricos al año. La política óptima de la compañía muestra que el costo total mínimo se obtiene cuando se efectúan 12 pedidos al año. El costo de puesta en marcha asociada a cada tanda es de $125 y el costo unitario es de $3.

  1. ¿Cuál es la inversión media en inventario?

  2. Si la demanda ha aumentado a 120.000 motores anuales y el costo de puesta en marcha es de $120 ¿De qué manera se modifica el tamaño del lote?

Datos:

D <- 80000      # Demanda             (u/a)
Cu <- 3         # Coste por unidad    ($/u) 
Cp <- 125       # Coste por pedido    ($/p)
N <- 12         # Pedidos al año      (p/a)

Sabemos que:

\[ N = \frac{D}{Q^*} \]

Qopt = D/N

\[ Q^* = \frac{D}{N} = 6666.667 \]

  1. La inversion media en inventario viene dada por:

\[ CM = C_m \times \frac{Q}{2} \]

Para hallar el coste de mantenimiento despejamos:

\[ Q^* = \sqrt{\frac{2DC_p}{C_m}} \]

Cm <- 2*D*Cp/Qopt^2

\[ C_m = \frac{2DC_p}{(Q^*)^2} = 0.45 \] Sustituimos en nuestra fórmula inicial:

CM <- Qopt/2*Cm

\[ CM = C_m \times \frac{Q}{2} = 1500 \]

La inversión media anual es de $1500.

  1. Simplemente usamos: \[ Q^* = \sqrt{\frac{2DC_p}{C_m}} \] Nuevos datos:
D <- 120000
Cp <- 120

Qopt <- sqrt(2*D*Cp/Cm)

\[ Q^* = 8000 \] La cantidad económica del pedido ha pasado de 6666.66 a 8000 unidades por pedido.


Problema 32

La compañía ABQM produce cierto producto a una tasa constante de 13.500 unidades por año; cada unidad cuesta $2,50 por fabricación, el costo por iniciar una vuelta de producción es de $30 y el costo por tener una unidad en inventario es del 10% anual. La demanda es de 10.000 unidades al año.

  1. ¿Cuál es el lote económico optimo y conque frecuencia debe hacerse?

  2. Demuestre que los términos en el CV del miembro derecho e izquierdo tienen las mismas dimensiones fundamentales ($/año).

Datos:

R <- 13500      # Producción          (u/a)
D <- 10000      # Demanda             (u/a)
Cu <- 2.5       # Coste por unidad    ($/u) 
Cp <- 30        # Coste por pedido    ($/p)
Cm <- 0.1*Cu    # Coste mantenimiento ($/u/a)
  1. Lote economico optimo viene dado por:
Qopt <- sqrt(2*D*Cp/(Cm*(1-D/R)))

\[ Q^* = \sqrt{\frac{2DC_p}{C_m(1-\frac{D}{R})}} = 3042.56 \]

N <- D/Qopt

\[ N = \frac{D}{Q^*} = 3.29 \] El lote económico optimo es de 3042.56 unidades y se deben realizar 3.29 pedidos al año.

  1. ¿CV ($/año)?

Sabemos que: \[ CV = (C_p \times \frac{D}{Q}) + (C_m \times \frac{Q}{2}) \]

Sustituyendo las unidades fundamentales en el lado derecho de la ecuación tenemos:

\[ ({$} \times \frac{\frac{u}{a}}{u}) + (\frac{\frac{$}{u}}{a} \times u) \] \[ ({$} \times \frac{1}{a}) + (\frac{$}{a}) = \frac{$}{a} \]


Problema 42

Una compañía puede producir 36.000 válvulas diarias cuando se inicia una producción. Esta Compañía tiene contrato para entregar 20.000 válvulas diarias. Si el costo por tener una válvula en inventario durante un año es de $30 y el costo de iniciar una producción es de $7.500

  1. ¿Cuál es lote económico? (1 año =360 días)

  2. ¿Cuál es el % de aumento en costos variables si el C2= $12.000?

Datos:

R <- 36000*360  # Producción          (u/a)
D <- 20000*360  # Demanda             (u/a)
Cp <- 7500      # Coste por pedido    ($/p)
Cm <- 30        # Coste mantenimiento ($/u/a)
  1. Lote economico optimo viene dado por:
Qopt <- sqrt(2*D*Cp/(Cm*(1-D/R)))

\[ Q^* = \sqrt{\frac{2DC_p}{C_m(1-\frac{D}{R})}} = 90000 \]

El lote economico optimo es de 90000 unidades.

  1. El coste variable viene dado por:
CV <- sqrt(2*D*Cp*Cm*(1-D/R))

\[ CV(Q^*) = \sqrt{2DC_pC_m(1-\frac{D}{R})} = 1200000 \]

Ahora con los nuevos datos:

Cp <- 12000

CV2 <- sqrt(2*D*Cp*Cm*(1-D/R))

\[ CV_2(Q^*) = \sqrt{2DC_pC_m(1-\frac{D}{R})} = 1517893.28 \]

El aumento de costes variables es:

Aumento <- ((CV2/CV)-1)*100

\[ Aumento = (\frac{CV_2}{CV_1}-1) \times 100 = 26.49 porciento \]


Problema 49

La demanda anual uniforme de 2 ítems es 90 ton y 160 ton, Cm es $250 y $200 por ton/año, Cp es de 50 y 40 cada vez. No se admite déficit. Las restricciones de espacio son de 4.000 m³. Si una tonelada de 1 ítem ocupa 1.000 m³ y el otro 500 m³. Encuentre el lote económico de cada ítem.

Datos:

Producto Demanda anual Espacio ocupado por Item Cp Cm
Item 1 90 Ton 1000 m3 $ 50 $250
Item 2 160 Ton 500 m3 $ 40 $200
D  <- c(90,160)        # Demanda anual
V  <- c(1000,500)      # Espacio ocupado por cada Item
Cp <- c(50,40)         # Coste de pedido para cada artículo
Cm <- c(250,200)       # Coste de mantenimiento para cada artículo

Primero debemos comprobar si se cumplen las restricciones resolviendo los lotes económicos para cada producto:

Qopt <- c(0,0)
Qopt[1] <- sqrt(2*D[1]*Cp[1]/(Cm[1]))
Qopt[2] <- sqrt(2*D[2]*Cp[2]/(Cm[2]))

\[ Q^*_1 = \sqrt{\frac{2DC_p}{C_m}} = 6 \] \[ Q^*_2 = \sqrt{\frac{2DC_p}{C_m}} = 8 \]

Ahora sustituimos en la restriccion:

Res <- 1000*Qopt[1]+500*Qopt[2]<=4000
Res
## [1] FALSE

En este caso no se cumple la restriccion y entonces el problema se debe formular como:

\[ \begin{array}{rl} min \ CV = & \sum_{i=1}^n \frac{Q_i}{2} \cdot C_m^i + \frac{D_i}{Q_i} \cdot C_p^i \\ s.a. & \sum_{i=1}^n w_i \times Q_i \le V_T \end{array} \]

Para resolverlo usamos el paquete Rsolnp:

library(Rsolnp)

# Función objetivo

fn1 <- function(x){
                   125*x[1] + 100*x[2] + 90*50/x[1] + 160*40/x[2]
                 }

# Restricciones de desigualdad
res2 <- function(x){
                       z1 <- 1000*x[1] + 500*x[2]
                       return(z1)
        }

# Llamada a la función de optimizacion no lineal

# Solución inicial.- Sirve para inicializar el algoritmo
x0 <- c(1,1)

solu <- solnp(pars =x0,           # Vector de inicio. Solución inicial
              fun = fn1,          # Función a optimizar
              eqfun =res2,        # Restricciones de igualdad
              eqB   = c(4000),    # Valor de las restricCiones de igualdad
              LB    = c(0,0))     # Cota inferior de las variables. Aquí restriciones de no negatividad
## 
## Iter: 1 fn: 4458.1572     Pars:  2.20879 3.58243
## Iter: 2 fn: 4458.1572     Pars:  2.20879 3.58242
## solnp--> Completed in 2 iterations
str(solu)
## List of 10
##  $ pars       : num [1:2] 2.21 3.58
##  $ convergence: num 0
##  $ values     : num [1:3] 11125 4458 4458
##  $ lagrange   : num [1, 1] -0.797
##  $ hessian    : num [1:2, 1:2] 360 -238 -238 159
##  $ ineqx0     : NULL
##  $ nfuneval   : num 34
##  $ outer.iter : num 2
##  $ elapsed    :Class 'difftime'  atomic [1:1] 0.0145
##   .. ..- attr(*, "units")= chr "secs"
##  $ vscale     : num [1:4] 4.46e+03 2.04e-06 1.00 1.00
# Solución

solu$pars
## [1] 2.208788 3.582425
Q.Opt <- round(solu$pars)
Q.Opt
## [1] 2 4

Las cantidades óptimas son:

y el coste variable por unidad de tiempo es, 4500 $