Problema de Producción e Inventario resuelto con Solver de Excel

La Programación Lineal nos permite abordar distintos problemas de naturaleza real algunos de los cuales ya hemos tratado en artículos anteriores como el Problema de Transporte, el Problema de Mezcla de Productos y el Problema de la Dieta.

En el siguiente artículo analizaremos otra aplicación clásica conocida como el Problema de Producción e Inventario cuyas extensiones y variantes se pueden consultar adicionalmente en la categoría del Plan Maestro de la Producción.

El Problema de Producción e Inventario consiste básicamente en determinar una política de producción en el tiempo que permita satisfacer ciertos requerimientos de demanda, respetando las limitantes de producción y a un costo mínimo.

Este tipo de modelos se puede extender para varios productos, sin embargo, en esta oportunidad consideraremos un solo producto para su ilustración.

En este contexto, consideremos los siguientes antecedentes de producción que se presentan a continuación:

producción e inventario

Luego, definimos el siguiente modelo de optimización lineal:

Supuesto: se dispone de un inventario inicial de 50 unidades, es decir, I0=50.

1. Variables de Decisión:

  • Xt: Unidades a producir en el mes t (t=1,..,6 con t=1 => Enero; t=6 => Junio)
  • It: Unidades a almacenar en inventario al final del mes t (t=1,..,6 con t=1 => Enero; t=6 => Junio)

2. Función Objetivo: Minimizar los costos de producción (destacados con color azul) y costos de inventario (destacados con color rojo) durante el período de planificación definido por:

60X1 + 60X2 + 55X3 + 55X4 + 50X5 + 50X6 + 15I1 + 15I2 + 20I3 + 20I4 + 20I5 + 20I6

De forma compacta (parametrica) se puede representar la función objetivo como:

Minimizar\sum_{t=1}^{6}[C_{t}\cdot X_{t}+H_{t}\cdot I_{t}]

Donde C_{t} es el costo unitario de producción en el mes t (por ejemplo C_{1}=60) y H_{t} es el costo unitario de almacenar unidades en inventario durante el mes t (por ejemplo H_{1}=15)

3. Restricciones:

a) Satisfacer los requerimientos de demanda (conocida como restricción de Balance de Inventario).

Por ejemplo, el inventario disponible al final del mes de Enero será el resultado de la producción del mismo mes, más el inventario inicial (que se asume un dato, en este caso 50 unidades) menos la demanda satisfecha durante el mes de Enero.

  • X1 + 50 – I1 = 100 (Enero)
  • X2 + I1 – I2 = 130 (Febrero)
  • X3 + I2 – I3 = 160 (Marzo)
  • X4 + I3 – I4 = 160 (Abril)
  • X5 + I4 – I5 = 140 (Mayo)
  • X6 + I5 – I6 = 140 (Junio)

Notar que la restricción se Balance de Inventario impuesta para un producto se puede generalizar como: X_{t}+I_{t-1}-I_{t}=d_{t}, donde d_{t} representa la demanda estimada (parámetro) para el mes t.

b) Respetar la capacidad máxima de producción mensual (oferta).

Se establece que la oferta o producción máxima mensual no puede superar la capacidad de producción.

X1<=120   X2<=120   X3<=150   X4<=150   X5<=150   X6<=150

O simplemente X_{t}\leq O_{t} donde O_{t} es la capacidad de producción máxima del mes t (parámetro).

c) Condiciones de no negatividad.

De forma natural y dada nuestra definición cada variable de decisión debe ser no negativa.

Xt >= 0    It >= 0  Para todo t

El siguiente tutorial muestra cómo implementar este Modelo de Producción e Inventario correspondiente a la Programación Lineal en Solver de Excel:

La solución óptima se muestra a continuación con un valor óptimo de $43.450. Se puede apreciar que se producen en total 780 unidades entre Enero y Junio las cuales junto al inventario inicial de 50 unidades permiten satisfacer los requerimientos de demanda mensualmente.

solución problema producción e inventario

¿Quieres tener el archivo Excel con la resolución en Solver de este problema?.

[sociallocker]

MUCHAS GRACIAS!. DESCARGA AQUÍ EL ARCHIVO

[/sociallocker]

Instalación del Complemento Solver en Excel 2003

El complemento de Solver de Excel es una poderosa herramienta que permite resolver modelos de optimización utilizando una planilla de cálculo (Excel). En artículos anteriores hemos mostrado Cómo resolver Modelos de Programación Lineal utilizando Solver y algunas aplicaciones clásicas como el Problema de Transporte y Problema de la Dieta.

Las características de Solver han evolucionado en las distintas versiones de Office y en esta oportunidad mostraremos cómo activar este complemento en la versión del año 2003 y 2007. Para ello se deben seguir los siguientes pasos:

Paso 1: Abrir el programa Excel y en el menú de Herramientas seleccionar Complementos. 

Complementos Excel

Paso 2: Seleccionar la opción Solver y luego Aceptar.

Complemento Solver

Paso 3: Puede ser necesario aprobar la ejecución del complemento como muestra la imagen a continuación. En este caso se debe seleccionar

Instalar Solver

Paso 4: Una vez completada la activación de Solver el complemento estará disponible en el menú de Herramientas de Excel.

Solver Instalado

Una alternativa a Solver es el complemento de Excel OpenSolver el cual se puede descargar gratuitamente desde www.opensolver.org. En el artículo Cómo resolver un modelo de Programación Lineal con OpenSolver mostramos su utilización en un problema sencillo. Adicionalmente What’sBest! resulta ser otra excelente alternativa para Solver y desarrollado para Excel. En el siguiente tutorial detallamos cómo descargar e instalar What’sBest!.

Cómo calcular la Probabilidad de Instock asociado al Inventario

Una supuesto frecuente de los modelos de Gestión de Inventarios sencillos es considerar que la demanda a la cual una empresa se enfrenta es conocida, es decir, no existe incertidumbre. Este supuesto da origen a Modelos Deterministas de inventarios como el de Cantidad Económica de Pedido (EOQ) con o sin Descuentos por Cantidad, Producción y Consumo Simultaneo (POQ), entre otros.

Si bien los Modelos Deterministas para la Gestión de Inventarios resultan ser útiles, en la mayor parte de las aplicaciones prácticas, es muy difícil mantener como razonable y representativo el supuesto de una demanda constante y conocida.

Para enfrentar esta situación se proponen Modelos Estocásticos, es decir, donde la demanda presenta un comportamiento aleatorio el cual puede o no ser estimado por una distribución de probabilidad conocida o en su defecto por una distribución empírica.

En este contexto de demanda aleatoria no se puede asegurar a ciencia cierta si una determinada cantidad de unidades en inventario serán suficientes para satisfacer los requerimientos de demanda de un producto. Sin embargo, si se logra perfilar el comportamiento de la demanda (aleatoria) se estará en condiciones de poder estimar que tan probable es satisfacer la demanda dada una cierto tamaño del inventario.

Uno de los indicadores de gestión que se utiliza frecuentemente es el Instock, el cual bajo un escenario de demanda con incertidumbre indica la probabilidad de satisfacer en forma íntegra la demanda (es decir, evitar quiebres de stock) para un determinado nivel de inventario.

Ejemplo del Cálculo del Instock

Para graficar este concepto consideremos que una empresa tiene 900 unidades de un producto en inventario y enfrenta una demanda por el mismo que se puede representar por una Distribución Normal con media 800 unidades (\mu=800) y Desviación Estándar de 100 unidades (\sigma=100). Nos interesa calcular la Probabilidad de Instock, es decir, la probabilidad que la demanda sea menor o igual a 1.000 unidades:

Probabilidad de Instock

La Probabilidad de Instock por tanto es de un 84,13%. Para obtener la probabilidad asociada a un determinado valor de Z utilizando la Distribución Normal Estándar podemos utilizar una tabla de probabilidad que frecuentemente se incluyen como anexos en los libros de probabilidad básica o en su defecto podemos utilizar la fórmula de Excel =DISTR.NORM.ESTAND(Z). (En nuestro caso Z=1 destacado con color rojo en la tabla a continuación).

tabla distribución normal estandar

De este modo, la probabilidad de incurrir en un quiebre de stock dado un inventario de Q=900 unidades es de un 15,87% que se representa como el área achurada a la derecha de las 900 unidades.

Instock Distribución Normal

Pronóstico de Demanda con Alisamiento Exponencial para distintos Alfa (α)

El método de pronóstico de Alisamiento o Suavizamiento Exponencial pertenece a la categoría de Series de Tiempo, es decir, aquellos métodos donde se utiliza información de la demanda histórica para poder pronosticar el futuro. Su nombre se debe a que cada incremento del pasado se reduce en (1 – α) por lo cual se considera válido que la importancia de los datos disminuye en la medida que son más antiguos.

Para poder generar un pronóstico a través del método de Alisamiento Exponencial necesitamos el pronóstico más reciente, la demanda que se presentó para ese período y una constante de suavizamiento α (alfa).

Alisamiento Exponencial

El valor del parámetro alfa es entre 0 y 1. En esta escala para valores de alfa relativamente pequeños se reducen las variaciones de corto plazo asociadas al pronostico lo cual es razonable cuando la demanda real tiene un comportamiento relativamente estable. Sin embargo, si la demanda presenta cambios significativos en el corto plazo nos interesará seguir éstos más de cerca y en ese caso debiéramos seleccionar una constante alfa más grande.

Ejemplo Suavizamiento Exponencial

A continuación presentaremos 3 pronósticos para valores de alfa de α=0,2, α=0,5 y α=0,8. Los resultados se han aproximado (arbitrariamente y por comodidad) al entero más cercano. Notar que en cada caso el primer pronostico es de 200 (igual a la demanda real de Enero). Esta selección es usual dado que para la aplicación del método se necesita un primer pronóstico (o punto de partida) y frecuentemente se selecciona el dato real del período anterior:

Pronóstico Alisamiento Exponencial

En la tabla se puede apreciar que el pronóstico para el mes de Marzo utilizando α=0,2 es de 206. Esto se obtiene como F(Marzo)=200+0,2(230-200)=206. Siguiendo un procedimiento similar se puede calcular el resto de los pronósticos.

¿Cómo decidir que constante de suavizamiento alfa resultó mejor?. Un primer acercamiento es graficar el pronóstico y comparar su comportamiento con la demanda real. El siguiente gráfico representa esta situación. Se puede observar que para α=0,8 se replica de forma más cercana el comportamiento de la demanda aún cuando se aprecia un rezago (situación característica de este método). Por el contrario, para α=0,2 la variación de corto plazo es menor y el pronóstico básicamente marca una leve tendencia creciente. Finalmente para α=0,5 se obtiene un pronóstico intermedio entre los 2 escenarios anteriores.

Gráfico Alisamiento Exponencial

En otro artículo discutimos como mediante el MAD y la Señal de Rastreo podemos simular y seleccionar una constante alfa en base a un criterio cuantitativo. Adicionalmente en la publicación Cómo utilizar el Módulo Predictor en Crystal Ball para Promedio Móvil Simple y Suavizado Exponencial Simple se muestra la aplicación del método de suavizamiento exponencial utilizando el software Crystal Ball.

Problema de la Dieta en Programación Lineal resuelto con Solver de Excel

Una de las aplicaciones clásicas de la Programación Lineal es el Problema de la Dieta. El objetivo es seleccionar un conjunto de alimentos dados que permitan satisfacer ciertos requerimientos nutricionales y preferencias y que adicionalmente tenga un costo mínimo.

En este contexto en el Servidor NEOS se puede encontrar un conjunto de antecedentes que permiten comprender el contexto histórico del Problema de la Dieta y cómo se puede abordar de forma eficiente a través de modelos de optimización. Al igual que varias de las aplicaciones de la Investigación de Operaciones este problema tiene un origen militar.

Para efectos de este tutorial y con el objetivo de ilustrar esta aplicación consideremos el siguiente listado de alimentos con su perfil nutricional y costo monetario:

Tabla Alimentos

Se desea proponer una dieta que contenga al menos 2.000 (Kcal) , al menos 55 gramos de proteína y 800 (mg) de calcio. Adicionalmente para garantizar cierta variedad en la dieta se establece límites de porciones por día en los alimentos. Con esta información se requiere encontrar la dieta que tenga el menor costo asociado y permita satisfacer los requerimientos anteriores.

Para ello definimos el siguiente modelo de Programación Lineal:

1. Variables de Decisión: Xi : Porciones de alimentos a consumir durante el día del alimento i (Con i=1 ==> Avena, …. i=6 ==> Porotos).

2. Función Objetivo: Minimizar 30X1+240X2+130X3+90X4+200X5+60X6

3. Restricciones:

  • Mínimo de Calorias (KCal): 110X1+205X2+160X3+160X4+420X5+260X6 >= 2.000
  • Mínimo de Proteínas: 4X1+32X2+13X3+8X4+4X5+14X6 >= 55
  • Mínimo de Calcio: 2X1+12X2+54X3+285X4+22X5+80X6 >= 800
  • Variedad de la Dieta: X1<=4   X2<=3   X3<=2   X4<=8   X5<=2   X6<=2
  • No Negatividad: Xi>=0 Para todo i.

La implementación de este modelo en Solver de Excel para obtener su solución óptima y valor óptimo se muestra en el siguiente tutorial:

La Solución Óptima es X1=4, X2=0, X3=0, X4=2,08, X5=1,68, X6=2 y el Valor Óptimo (costo de la dieta) es $764,07.

Como el modelo es de Programación Lineal se permiten valores fraccionarios para las variables de decisión. Por tanto si buscamos solo valores enteros para las variables de decisión en ese caso debemos definir un modelo de Programación Entera el cual revisamos en el siguiente artículo: Problema de la Dieta en Programación Entera resuelto con Solver de Excel.