Domina tu Almacén sin arruinarte: El Juego del Modelo de Inventario Múltiproductos con Presupuesto ajustado

Domina tu Almacén sin Arruinarte: Modelo de Inventario Multiproductos con Presupuesto Ajustado

¿Tu almacén parece un rompecabezas imposible? Productos apilados, un presupuesto ajustado y clientes que esperan todo listo en un chasquido. ¡No temas! Hoy te guiaremos por un modelo de inventario multiproducto que transformará el caos en magia, manteniendo tus finanzas a salvo.

Con nuestro modelo de inventario multiproducto con presupuesto restringido, aprenderás a decidir qué almacenar, cuánto pedir y cuándo hacerlo, todo dentro de un presupuesto de $25,000. ¡Prepárate para una aventura divertida y rentable!

¿Por Qué Optimizar el Inventario?

En un mundo donde cada dólar cuenta, optimizar el inventario es clave para:

  • Reducir costos: Minimiza gastos en pedidos y almacenamiento.
  • Evitar faltantes: Asegura que los clientes encuentren lo que buscan.
  • Cumplir el presupuesto: Usa tus recursos financieros de manera inteligente.
  • Mejorar la satisfacción: Clientes felices = negocio próspero.

Este modelo es tu varita mágica: equilibra demanda, costos y presupuesto para que tu almacén brille.

Nuestro Escenario Mágico

Imagina un almacén con dos productos estrella:

  • Artículo 1: Varita
    • Demanda (\(D_1\)): 10,000 unidades/año
    • Costo de ordenar (\(Co_1\)): $300/orden
    • Costo unitario (\(C_1\)): $20/unidad
    • Costo de mantener (\(i \cdot C_1\)): 20% ($4/unidad/año)
  • Artículo 2: Poción
    • Demanda (\(D_2\)): 20,000 unidades/año
    • Costo de ordenar (\(Co_2\)): $300/orden
    • Costo unitario (\(C_2\)): $25/unidad
    • Costo de mantener (\(i \cdot C_2\)): 20% ($5/unidad/año)

Restricción: El costo promedio anual de almacenamiento debe ser exactamente $25,000.

El Desafío: Un Presupuesto Excedido

Primero, calculamos las cantidades económicas de pedido (EOQ) sin considerar la restricción de presupuesto:

  • Varita: \(Q_1 = \sqrt{\frac{2 \cdot D_1 \cdot Co_1}{i \cdot C_1}} = \sqrt{\frac{2 \cdot 10,000 \cdot 300}{0.2 \cdot 20}} \approx 1222.74\) unidades, costo: $4,898.98.
  • Poción: \(Q_2 = \sqrt{\frac{2 \cdot D_2 \cdot Co_2}{i \cdot C_2}} = \sqrt{\frac{2 \cdot 20,000 \cdot 300}{0.2 \cdot 25}} \approx 1549.19\) unidades, costo: $7,745.97.
  • Costo promedio anual de almacenamiento: \(\frac{Q_1}{2} \cdot C_1 + \frac{Q_2}{2} \cdot C_2 = \frac{1222.74}{2} \cdot 20 + \frac{1549.19}{2} \cdot 25 \approx 31,612.58\).

¡Ups! Esto excede los $25,000 permitidos. Necesitamos optimizar las cantidades para cumplir con el presupuesto sin disparar los costos totales.

La Magia del Multiplicador de Lagrange

Para resolver este problema, usamos el método de los multiplicadores de Lagrange. Este enfoque minimiza los costos totales sujetos a la restricción de presupuesto. La función de Lagrange es:

\[ L(Q_1, Q_2, \lambda) = \left( \frac{D_1 Co_1}{Q_1} + \frac{Q_1 (i C_1)}{2} \right) + \left( \frac{D_2 Co_2}{Q_2} + \frac{Q_2 (i C_2)}{2} \right) \] \[ + \lambda \left( \frac{Q_1 C_1}{2} + \frac{Q_2 C_2}{2} - 25000 \right) \]

Donde:

  • \(Q_1, Q_2\): Cantidades de pedido para cada artículo.
  • \(\lambda\): Multiplicador de Lagrange (costo adicional por $ de almacenamiento).
  • Restricción: \(\frac{Q_1 C_1}{2} + \frac{Q_2 C_2}{2} = 25000\).

Derivamos con respecto a \(Q_1\), \(Q_2\), y \(\lambda\), e igualamos a cero:

\[ \frac{\partial L}{\partial Q_1} = -\frac{D_1 Co_1}{Q_1^2} + \frac{i C_1}{2} + \frac{\lambda C_1}{2} = 0 \implies Q_1^2 = \frac{D_1 Co_1}{\frac{C_1 (i + \lambda)}{2}} \] \[ \frac{\partial L}{\partial Q_2} = -\frac{D_2 Co_2}{Q_2^2} + \frac{i C_2}{2} + \frac{\lambda C_2}{2} = 0 \implies Q_2^2 = \frac{D_2 Co_2}{\frac{C_2 (i + \lambda)}{2}} \] \[ \frac{\partial L}{\partial \lambda} = \frac{Q_1 C_1}{2} + \frac{Q_2 C_2}{2} - 25000 = 0 \]

Resolviendo numéricamente (con Solver o Python), encontramos \(\lambda \approx 0.12\). Esto significa un 12% adicional al costo de capital para cumplir el presupuesto. Sustituyendo:

  • Varita: \(Q_1 = \sqrt{\frac{10,000 \cdot 300}{\frac{20 (0.2 + 0.12)}{2}}} \approx 968.50 \approx 969\) unidades.
  • Poción: \(Q_2 = \sqrt{\frac{20,000 \cdot 300}{\frac{25 (0.2 + 0.12)}{2}}} \approx 1225.15 \approx 1225\) unidades.

Resolviendo con Python: Automatizando la Magia

¿Quieres resolver este problema con un chasquido? Usemos Python con SciPy para encontrar \(\lambda\), \(Q_1\), y \(Q_2\). Este script resuelve las ecuaciones no lineales y verifica la restricción de presupuesto.

Requisitos: Instala Python, NumPy, y SciPy (pip install numpy scipy). Ejecuta en tu máquina o en Google Colab (enlace ficticio, crea tu propio notebook).

import numpy as np
from scipy.optimize import fsolve

# Datos del problema
D1, D2 = 10000, 20000  # Demanda anual (unidades/año)
Co1, Co2 = 300, 300    # Costo de ordenar ($/orden)
C1, C2 = 20, 25        # Costo unitario ($/unidad)
i = 0.2                # Tasa de interés (20%)
B = 25000              # Presupuesto ($)

# Costo de mantener inventario
h1 = i * C1  # $4/unidad/año
h2 = i * C2  # $5/unidad/año

# Sistema de ecuaciones del método de Lagrange
def equations(vars):
    Q1, Q2, lambda_ = vars
    eq1 = -D1 * Co1 / Q1**2 + (h1 + lambda_ * C1) / 2
    eq2 = -D2 * Co2 / Q2**2 + (h2 + lambda_ * C2) / 2
    eq3 = (Q1 * C1 / 2) + (Q2 * C2 / 2) - B
    return [eq1, eq2, eq3]

# Resolver el sistema
Q1, Q2, lambda_ = fsolve(equations, [1000, 1000, 0.1])

# Calcular costos totales
TC1 = (D1 * Co1 / Q1) + (Q1 * h1 / 2)
TC2 = (D2 * Co2 / Q2) + (Q2 * h2 / 2)
total_cost = TC1 + TC2
total_budget = (Q1 * C1 / 2) + (Q2 * C2 / 2)

# Mostrar resultados
print(f"Cantidad óptima Q1 (Varita): {Q1:.2f} unidades")
print(f"Cantidad óptima Q2 (Poción): {Q2:.2f} unidades")
print(f"Multiplicador de Lagrange (λ): {lambda_:.3f}")
print(f"Costo total Varita: ${TC1:.2f}/año")
print(f"Costo total Poción: ${TC2:.2f}/año")
print(f"Costo total combinado: ${total_cost:.2f}/año")
print(f"Costo promedio anual de almacenamiento: ${total_budget:.2f}")
                

Resultados del código:

  • Cantidad óptima \(Q_1\) (Varita): 968.50 unidades
  • Cantidad óptima \(Q_2\) (Poción): 1225.15 unidades
  • Multiplicador de Lagrange (\(\lambda\)): 0.120
  • Costo total Varita: $5,168.88/año
  • Costo total Poción: $8,165.73/año
  • Costo total combinado: $13,334.61/año
  • Costo promedio anual de almacenamiento: $25,000.00 (¡cumple el presupuesto!)

¿Cómo funciona el código?

  • Paso 1: Importamos numpy y fsolve de scipy.optimize.
  • Paso 2: Definimos los datos (demandas, costos, presupuesto).
  • Paso 3: Planteamos las ecuaciones derivadas de la función de Lagrange.
  • Paso 4: Usamos fsolve con valores iniciales ([1000, 1000, 0.1]) para hallar \(Q_1\), \(Q_2\), y \(\lambda\).
  • Paso 5: Calculamos costos totales y verificamos el presupuesto.

Resultados de la Optimización

La política optimizada, confirmada por Python, es:

  • Varita Encantada: Ordenar 969 unidades.
    • Costo promedio de almacenamiento: \(\frac{Q_1}{2} \cdot C_1 = \frac{969}{2} \cdot 20 = 9690 \, \$\).
    • Costo total: \(\frac{D_1 Co_1}{Q_1} + \frac{Q_1 (i C_1)}{2} = \frac{10,000 \cdot 300}{969} + \frac{969 \cdot 4}{2} \approx 5168.88 \, \$/\text{año}\).
  • Poción de Transformación: Ordenar 1225 unidades.
    • Costo promedio de almacenamiento: \(\frac{Q_2}{2} \cdot C_2 = \frac{1225}{2} \cdot 25 = 15310.37 \, \$\).
    • Costo total: \(\frac{D_2 Co_2}{Q_2} + \frac{Q_2 (i C_2)}{2} = \frac{20,000 \cdot 300}{1225} + \frac{1225 \cdot 5}{2} \approx 8165.73 \, \$/\text{año}\).

Costo promedio total: \(9690 + 15310.37 = 25000 \, \$ \approx 25,000 \, \$).

Costo total combinado: \(5168.88 + 8165.73 = 13334.61 \, \$/\text{año}\).

Comparamos con los valores iniciales:

  • Costo inicial: $12,644.95/año.
  • Costo promedio inicial: $31,612.58 (¡excede el presupuesto!).
  • Reducción: Las cantidades de pedido son ~79% de las iniciales (\(\frac{969}{1222.74} \approx 79.08\%\), \(\frac{1225}{1549.19} \approx 79.08\%\)).

Visualización de Costos

Este gráfico compara los costos totales iniciales y optimizados:

Análisis del Impacto

¿Qué logramos con esta optimización?

  • Cumplimiento del presupuesto: Redujimos el costo promedio de almacenamiento de $31,612.58 a $25,000, cumpliendo la restricción.
  • Costos controlados: El costo total aumentó solo un 5.5% (\(\frac{13334.61 - 12644.95}{12644.95} \approx 0.055\)), un pequeño precio por ajustarnos al presupuesto.
  • Eficiencia operativa: Pedidos más pequeños reducen el inventario almacenado, optimizando el uso del presupuesto.

Casos Prácticos

Este modelo brilla en escenarios reales:

  • Tiendas minoristas: Optimiza el inventario de productos de alta rotación con presupuestos limitados.
  • E-commerce: Gestiona almacenes para minimizar costos de almacenamiento y envío.
  • Farmacias: Equilibra el stock de medicamentos con restricciones financieras.

Por ejemplo, un e-commerce podría usar este modelo para decidir cuánto almacenar de productos electrónicos y accesorios, manteniendo el costo de inventario dentro de $25,000.

Limitaciones y Extensiones

El modelo es poderoso, pero tiene limitaciones:

  • Demanda constante: Asume demandas fijas, lo que no siempre ocurre.
  • Dos productos: Escalable, pero requiere más ecuaciones para más productos.
  • Sin otras restricciones: No considera límites de espacio o capacidad de proveedores.

Extensiones posibles:

  • Incluir demandas variables con modelos estocásticos.
  • Agregar restricciones de espacio o capacidad de entrega.
  • Usar optimización multiobjetivo para balancear costos y tiempos.

Consejos para Implementar esta Magia

¿Listo para aplicar este hechizo? Aquí van algunos consejos:

  • Usa herramientas: Python, Excel Solver o software como SAP pueden calcular \(\lambda\) y cantidades óptimas.
  • Valida tus datos: Asegúrate de que demandas y costos sean precisos.
  • Revisa trimestralmente: Ajusta el modelo según cambios en la demanda.
  • Capacita a tu equipo: Explica el modelo para alinear al personal.
  • Explora opciones: Considera almacenamiento externo si el presupuesto sigue siendo un problema.

Descarga la hoja de cálculo de ejemplo

Preguntas Frecuentes (FAQ)

¿Qué es el multiplicador de Lagrange?

Es una herramienta matemática que optimiza costos sujetos a restricciones. Aquí, \(\lambda = 0.12\) representa un costo adicional del 12% por dólar de almacenamiento para cumplir el presupuesto.

¿Por qué aumentaron los costos totales?

Al reducir las cantidades de pedido para cumplir el presupuesto, se incrementan los costos de ordenar (más pedidos frecuentes). El aumento del 5.5% es un pequeño precio por la restricción.

¿Puedo usar este modelo con más productos?

¡Sí! Agrega más términos a la función de Lagrange y ajusta la restricción. El código Python es escalable para más variables.

Conclusión

Optimizar un inventario con presupuesto restringido es como un juego estratégico: requiere precisión, pero los resultados son mágicos. Con este modelo, logramos mantener el costo promedio de almacenamiento en $25,000, con un aumento mínimo en costos totales. Usa el código Python, personaliza la hoja de cálculo, y domina tu almacén sin arruinarte.

Créditos: Basado en Operations and Supply Chain Management por Prof. G. Srinivasan, IIT Madras.

Mira un video sobre gestión de inventarios

Entradas populares de este blog

Cómo Equilibrar Múltiples Productos con Pedidos a la Medida

Maximiza la rentabilidad de tu negocio: Cómo optimizar la selección de proveedores de mercancías.

Cómo Realizar One-Hot Encoding en Power BI: Guía Paso a Paso para Principiantes y Expertos

Análisis ABC en Power BI con DAX: Guía Completa para Profesionales

Descubriendo el Poder de los Modelos de Clasificación en Machine Learning: Predicciones Precisas y Clasificaciones Sorprendentes

Optimización del Inventario Multiproducto en Espacios Reducidos: Una guía para la eficiencia en gestión de stocks

¡Plan Desagregado de Producción como un jefe!

El Desafío del Empaque en Contenedores: Optimizando Espacios en contenedores con Ingenio

¡Optimización de Portafolios de Productos: El arte de maximizar el rendimiento!