Problema de Producción y Mezcla de Café en Programación Lineal

Como hemos abordado anteriormente en el Blog, los modelos de Programación Lineal constituyen una alternativa metodológica para enfrentar Problemas de Mezcla de Productos. En este contexto a continuación presentamos la formulación de un modelo de optimización lineal junto a su implementación computacional haciendo uso de Solver de Excel el cual fue enviado por uno de nuestros usuarios de Costa Rica.

Problema de Producción y Mezcla

Una firma de café produce dos tipos de mezclas: suave y suavísimo. En la planta se cuenta con:

disponibilidad-y-caracteris

Por ejemplo, el costo por libra del café colombiano es $52, el cual contiene 2,5% de cafeína y se dispone de 20.000 libras para la producción de mezclas. Adicionalmente los productos que se comercializan en el mercado son:

precio-venta-y-demanda-cafe

Es decir, la mezcla suave se vende a $72 la libra, con una demanda de 35.000 libras y puede contener como máximo un 2,2% de cafeína.

Variables de Decisión:

variables-cafe

Donde i=1,2,3 representa los países de origen Colombia, Brasil y México, respectivamente y j=1,2 la mezcla Suave y Suavísimo, respectivamente.

Función Objetivo:

funcion-objetivo-ganancia-c

Se busca maximizar la ganancia (diferencia entre los ingresos menos los costos) asociada al plan de producción y venta de las mezclas de café. Con color amarillo se destaca los ingresos por venta correspondientes a las variedades Suave y Suavísimo y en color verde los costos asociados a la utilización de libras de café colombiano, brasileño y mexicano.

Restricciones:

Disponibilidad de Café: para cada país de origen la cantidad de libras utilizadas para el proceso de mezcla no debe superar la disponibilidad.

disponibilidad-cafe

Demanda de Mezclas: se debe satisfacer la demanda de cada mezcla de café a través de la asignación de las variedades provenientes de los 3 países de origen.

demanda-mezcla-cafe

Porcentaje Máximo de Cafeína: cada mezcla no debe superar un porcentaje máximo de cafeína admitido.

porcentaje-maximo-cafeina

No Negatividad: naturalmente las variables de decisión deben satisfacer las condiciones de no negatividad y se permiten valores fraccionarios: X_{ij}\geqslant 0.

Al implementar el modelo de Programación Lineal anterior haciendo uso de Solver de Excel se alcanza la siguiente solución óptima y valor óptimo:

solucion-solver-mezcla-cafe

La ganancia total (valor óptimo) es de $1.385.000, la cual se obtiene al asignar 20.000 libras de café Colombiano para la producción de la variedad Suave, 25.000 libras de café Brasileño para la producción de la mezcla Suavísimo y 15.000 libras de café Mexicano para la producción de la variedad Suave (solución óptima).

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

[sociallocker]

MUCHAS GRACIAS!. DESCARGA AQUÍ EL ARCHIVO

[/sociallocker]

Cambio en el Lado Izquierdo de las Restricciones en Programación Lineal

El el contexto del Análisis de Sensibilidad en Programación Lineal es usual analizar el impacto que tiene la modificación en la disponibilidad de los recursos en la solución óptima alcanzada originalmente. Esto corresponde al Cambio en el Lado Derecho de las Restricciones (Análisis de Sensibilidad en Programación Lineal). En el siguiente artículo abordaremos el caso cuando cambia un coeficiente o parámetro en el lado izquierdo de las restricciones, generalmente asociado a un coeficiente tecnológico o factor de productividad (por ejemplo, la cantidad de horas hombre que puede requerir la fabricación de un producto, la cantidad de dinero requerido por unidad a producir dada una restricción presupuestaria, entre otras). En relación a lo anterior consideremos el caso de una empresa la cual tiene un plan de producción representado por:

modelo-lado-izquierdo

Donde x_{j} es la cantidad a producir del bien j, z la utilidad de la empresa (en unidades monetarias u.m) y los coeficientes a_{ij} de las restricciones, la cantidad de recurso i por unidad del producto j. Al aplicar el Método Simplex al modelo anterior incorporando x_{4} y x_{5} como variables de holgura de las restricciones del recurso 1 y 2 respectivamente, resulta la siguiente tabla final:

tabla-simplex-lado-izquierd

Si el requerimiento del primer recurso por parte del producto j=2 cambia de 5 a 2 debido a la incorporación de una nueva tecnología ¿Cambia la actual solución óptima? (x_{1}=\frac{20}{3}, x_{2}=\frac{4}{3} y x_{3}=0). Sabemos que:

formula-matriz-inversa

Luego al cambiar un coeficiente en el lado izquierdo asociado a la variable básica x_{2}, es necesario actualizar la matriz de base inversa o B^{-1}. Lo anterior se deduce del cálculo de la matriz inversa asociada a la matriz B donde los elementos en la columna correspondiente a los coeficientes en el lado izquierdo (forma estándar del Método Simplex) asociadas a las variables básicas x_{1}x_{2}, respectivamente. Finalmente obtenemos la nueva solución básica y verificamos si es factible, esto es si el valor que adopta cada una de las variables básicas satisface las condiciones de no negatividad (en caso que una de las variables básicas alcance un valor negativo se puede continuar las iteraciones con el Método Simplex Dual luego de actualizar el valor de la función objetivo).

calculo-xb-cambio-lado-izqu

En nuestro ejemplo x_{1}=\frac{28}{3}x_{2}=\frac{2}{3} y x_{3}=0 lo cual implica que se modifica la solución óptima original pero se conserva la actual base óptima (las mismas variables básicas originales). El nuevo valor óptimo será:

valor-optimo-cambio-lado-iz

Cómo Resolver Gráficamente un Modelo de Programación Lineal con TORA

El software TORA es una excelente herramienta para resolver de forma intuitiva distintos modelos y aplicaciones de la Investigación Operativa. TORA está incluido en un CD (Compact Disc) adjunto al libro Investigación de Operaciones de Hamdy Taha y es compatible aún con las últimas versiones disponibles de Windows. Al respecto en el siguiente artículo se muestra su uso en un computador con sistema operativo Windows 7 Home Premium de 64 bits. para abordar la pregunta Cómo Resolver Gráficamente un Modelo de Programación Lineal con TORA. Adicionalmente el libro de Investigación de Operaciones de Hamdy Taha puede ser adquirido en sus versiones en español e inglés a precios convenientes desde distintos portales de comercio electrónico como Amazon.

Luego de su instalación y previo a su utilización es necesario realizar un ajuste a la resolución de pantalla seleccionando alguno de las 2 opciones recomendadas: 800×600 o 1024×786 pixeles (en realidad en este último caso 1024×768 como se podrá observar abajo). Para ello se debe ir al Panel de Control.

configurar-resolucion-tora

A continuación seleccionamos la resolución 1024×768 pixeles y Aplicar.

resolucion-monitor

Luego se despliega una ventana que nos solicita confirmar nuestra selección anterior. En este caso debemos Conservar Cambios.

conservar-cambios-resolucio

Una vez que el cambio en la resolución de pantalla ha sido ejecutado abrimos el programa TORA y se procede seleccionando el botón Click Here.

tora

Una vez en el menú principal podemos seleccionar un importante número de funcionalidades relativas a la Investigación Operativa que se tratan en el libro de Hamdy Taha y donde TORA resulta ser un excelente complemento para el aprendizaje de los estudiantes. En esta oportunidad mostraremos cómo resolver un modelo de Programación Lineal por ello seleccionamos la opción Linear Programming.

menu-tora

En el menú que se despliega ingresamos el nombre o título del problema, la cantidad de variables y restricciones (aquellas adicionales a las de no negatividad).

variables-y-restricciones-t

En este tutorial utilizaremos el mismo ejemplo que implementamos en el artículo Cómo Resolver Gráficamente un Modelo de Programación Lineal con IORTutorial, un problema que tiene 2 variables de decisión y 5 restricciones (donde 2 de ellas son las de no negatividad).

modelo-lineal-cambio-lado-d

Luego se completan los parámetros de la grilla con la información relativa al ejemplo que nos interesa resolver tal como se observa en la siguiente imagen:

input-grid-tora

Una vez ingresados los datos del problema se selecciona Solve Menu, Solve Problem y Graphical.

solve-tora-grafico

En la ventana a continuación se nos pide confirmar la cantidad de decimales. En este caso mantendremos los valores que ofrece el programa por defecto y seleccionamos Go To Output Screen.

opciones-salida-tora

Finalmente llegamos a la interfaz que permite realizar una representación gráfica del modelo lineal. Para graficar las restricciones se debe seleccionar cada una de ellas de forma individual y finalmente marcar la función objetivo que mostrará el desplazamiento de la curva de nivel que permite alcanzar la solución óptima y valor óptimo (visible en la esquina inferior izquierda de la siguiente imagen). En próximos artículos seguiremos mostrando funcionalidades adicionales de TORA, hasta entonces.

solucion-grafica-tora

Cómo Resolver Gráficamente un Modelo de Programación Lineal con IORTutorial

Los modelos de Programación Lineal han sido motivo de amplio estudio en nuestro Blog y en esta oportunidad queremos presentar a nuestros usuarios una herramienta computacional sencilla e intuitiva llamada IORTutorial (Interactive Operations Research Tutorial) la cual nos permite resolver gráficamente modelos de Programación Lineal con 2 variables de decisión, además de proporcionar informes de sensibilidad para complementar la interpretación de los resultados alcanzados.

Para ello consideremos el ejemplo descrito en el artículo Cálculo del Intervalo de Variación del Lado Derecho que conserva la Base Óptima que permitirá al lector contrastar los resultados alcanzados en dicho ejemplo con el procedimiento alternativo que presentamos a continuación a través del uso de IORTutorial. El ejemplo en cuestión que considera 2 variables de decisión y 5 restricciones (considerando las 2 de no negatividad) es el siguiente:

modelo-lineal-cambio-lado-d

La implementación computacional se muestra en el siguiente tutorial disponible en nuestro canal de Youtube que detalla Cómo Resolver Gráficamente un Modelo de Programación Lineal con IORTutorial:

resolucion-grafica-iortutor

Cabe destacar que los resultados que se observan en el Informe de Sensibilidad (o Análisis de Sensibilidad) son equivalentes a los obtenidos en la resolución con Solver de Excel como se muestra en la imagen a continuación:

informe-lado-derecho-solver

Problema de Transbordo en una Red Logística de Transporte Multiperíodo

Una empresa multinacional de productos de consumo masivo que opera a nivel nacional tiene 2 plantas de producción donde fabrican un solo producto para transportar a 2 locales con capacidad máxima de producción de 1.000 y 1.500 unidades mensuales, respectivamente. Uno de los locales está en el norte y otro en el sur de Chile. Para llegar a estos locales se tiene un centro de distribución que sólo abastece el norte y otro que sólo abastece el sur. Además de esto se tiene un centro de distribución en la ciudad capital (Santiago) que se abastece de los otros 2 centros de distribución y que despacha tanto al norte como al sur. Una red logística que representa el Problema de Transporte con Transbordo anterior se presenta a continuación:

red-logistica-de-transporte

La demanda de los locales para los próximos 2 meses es:

demanda-problema-transbordo

Adicionalmente sólo los centros de distribución norte y sur tienen capacidad para almacenar unidades de inventario de modo de satisfacer una demanda futura. El costo unitario mensual de almacenar inventario es de $1,5 y $0,8, para el centro de distribución norte y sur, respectivamente.

Formule y resuelva un modelo de Programación Lineal que permita determinar el plan de distribución óptimo para el problema de transbordo que representa la Gestión de una Cadena de Suministro. Defina claramente las variables de decisión, función objetivo y restricciones.

Problema de Transbordo en una Red Logística de Transporte

Variables de Decisión:

variables-de-decision-trans

Parámetros:

parametros-transbordo

Función Objetivo: se busca minimizar durante el período de planificación los costos de la logística de transporte desde las plantas a los centros de distribución, desde los centros de distribución a los locales, desde los centros de distribución a Santiago y desde Santiago a los locales, en conjunto con los costos de inventario en los centros de distribución.

funcion-objetivo-transbordo

Restricciones:

Capacidad de Producción de las Plantas: lo que envía mensualmente cada planta a cada uno de los centros de distribución (norte y sur) no puede superar la capacidad máxima de producción de la respectiva planta.

capacidad-plantas-transbord

Balance en los Centros de Distribución: la cantidad de productos que recibe un centro de distribución desde las plantas en un mes, considerando adicionalmente el inventario inicial y lo que se desee dejar en inventario al final del mes respectivo, deberá ser igual a lo que dicho centro de distribución envíe en aquel mes a los locales y al centro de distribución en Santiago.

balance-distribucion-transb

Demanda de los Locales: los productos que demande mensualmente cada local (1 o 2) deberá ser satisfecho desde los centros de distribución, incluyendo lo que eventualmente se envíe desde Santiago.

demanda-locales-transbordo

Balance en Santiago: los productos que recibe mensualmente Santiago desde los centros de distribución norte y sur deberá ser igual a lo que este centro de distribución envíe a los 2 locales que abastece (Santiago a diferencia de los centros de distribución norte y sur no almacena inventario).

balance-santiago

Rutas Infactibles: no es posible enviar productos de forma directa (en cualquiera de los meses) desde el centro de distribución norte al local 2 y desde el centro de distribución sur al local 1.

rutas-infactibles-transbord

No Negatividad: naturalmente las variables de decisión definidas inicialmente deberán adoptar valores mayores o iguales a cero.

A continuación se muestra un extracto de la implementación computacional del problema de transbordo haciendo uso de Solver de Excel. El valor óptimo es de $24.370.

solucion-optima-transbordo

Por otra parte las celdas en color amarillo corresponden a las variables de decisión (con color naranjo se identifican los parámetros), donde destaca que no se utiliza el centro de distribución sur. En cuanto al centro de distribución norte, éste se abastece de 1.620 unidades durante el mes de Julio (1.000 de la Planta 1 y 620 de la Planta 2), de los cuales envía 1.500 unidades a Santiago y las restantes 120 las almacena en inventario. De las 1.500 que dispone Santiago en el mes de Julio, envía 900 al Local 1 (Norte) y 600 al Local 2 (Sur) satisfaciendo la demanda. En cuanto al mes de Agosto, el centro de distribución norte recibe en total 2.500 unidades las cuales suma a las 120 en inventario que quedaron a fines de Julio, enviando todas ellas a Santiago. Luego de las 2.620 disponibles en Santiago en el mes de Agosto, envía 1.750 al Local 1 y 870 al Local 2, satisfaciendo la demanda de dichos destinos y minimizando el costo total de la logística de transporte.

¿Quieres tener el archivo Excel con la resolución en Solver del Problema de Transbordo en una Red Logística de Transporte Multiperíodo presentado en este ejemplo?

[sociallocker]

MUCHAS GRACIAS!. DESCARGA AQUÍ EL ARCHIVO

[/sociallocker]