¿Cómo elegir los invitados de una Boda o Matrimonio con un modelo de Programación Entera?

Elegir los invitados a una boda (matrimonio) no es asunto fácil. Se debe respetar un presupuesto, cumplir compromisos familiares, compatibilizar los invitados de las distintas familias, incluir amigos y compañeros de trabajo y evitar incompatibilidades entre los invitados. El siguiente problema corresponde a una aproximación simplificada a la situación anterior a través de un modelo de Programación Entera. Por cierto las condiciones a incorporar en un problema de esta naturaleza pueden considerar aspectos adicionales como los comentados anteriormente.

lista-de-invitados

Asuma que usted trabaja en una consultora matrimonial y su tarea es seleccionar los invitados para una boda. Tanto la novia como el novio están muy complicados porque tienen amigos que no pueden estar juntos. Los novios han asignado a cada invitado un valor en unidades matrimoniales (u.m) según lo siguiente:

tabla-invitados-boda

Existen ciertas incompatibilidades que se deben considerar en la planificación que usted como consultor propondrá:

  • Juan Pérez no asistirá al menos que Luis Toro asista.
  • Juan Pérez no asistirá si tanto Pedro Soto y María González asisten.
  • Pedro Soto no asistirá si Gloria Pérez asiste.
  • Pedro Soto sólo asistirá si María González y Luis Toro asisten.

Formule y resuelva un modelo de Programación Entera que permita determinar a qué personas invitar de modo de lograr la mayor puntuación en unidades matrimoniales.

Variables de Decisión:

variables-decision-boda

Con i=1,2,3,4,5 que representan a Juan Pérez, Pedro Soto, María González, Luis Toro y Gloria Pérez, respectivamente.

Función Objetivo:

funcion-objetivo-boda

Se desea encontrar la selección de invitados a la boda que permita maximizar la puntuación en u.m.

Restricciones:

  • Juan Pérez no asistirá al menos que Luis Toro asista: X_{1}\leqslant X_{4}
  • Juan Pérez no asistirá si tanto Pedro Soto y María González asisten: 2-(X_{2}+X_{3})\geq X_{1}
  • Pedro Soto no asistirá si Gloria Pérez asiste: X_{2}+X_{5}\leq 1
  • Pedro Soto sólo asistirá si María González y Luis Toro asisten: X_{2}\leqslant X_{3} y X_{2}\leqslant X_{4}. En este conjunto de restricciones se entiende que si María González y Luis Toro asisten, Pedro Soto podría asistir. Si al menos uno de los 2 falta (María o Luis) entonces Pedro no asiste.

Al implementar el modelo anterior en Solver de Excel se alcanza un valor óptimo de 800 u.m el cual corresponde a invitar a Pedro Soto, María González y Luis Toro (solución óptima).

solucion-optima-boda

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]

Formulación de un Problema de Aleaciones de Metales resuelto con Solver de Excel

Los modelos de Programación Lineal constituyen una excelente herramienta para representar Problemas de Mezcla de Productos en los cuales se asume que la calidad de la mezcla final en términos de los atributos propios de sus componentes, será proporcional a la participación de los insumos. En este contexto, el siguiente problema representa la situación de una empresa metalúrgica que debe determinar la combinación óptima de distintas aleaciones de metales que le permita configurar una nueva aleación a un costo mínimo. Por cierto se asume que el supuesto básico de la Programación Lineal asociado a la proporcionalidad es admisible.

Problema de Aleaciones de Metales

Una empresa metalúrgica desea fabricar 100 kilos de una nueva aleación que contenga no más de un 45% de Cobre, no menos de un 30% de Acero y un 20% de Estaño a partir de cuatro aleaciones que tienen las siguientes propiedades:

tabla-aleaciones

Formule y resuelva un modelo de Programación Lineal que permita determinar el porcentaje de cada una de las aleaciones debe contener la nueva aleación, de forma que resulte a un mínimo costo.

metales-aleacion

Variables de Decisión: Se propone definir la cantidad de kilogramos que representará cada una de las 4 aleaciones originales en la nueva aleación. Análogamente se puede definir como variables de decisión el porcentaje que representa cada aleación (original) respecto a la nueva aleación.

variables-decision-aleacion

Función Objetivo: Se desea minimizar el costo asociado a la utilización de las distintas utilizaciones.

funcion-objetivo-aleacion

Restricciones: El valor que adopten las variables de decisión previamente definidas deben satisfacer las condiciones que establecen las siguientes restricciones.

Kilogramos a Producir de la Nueva Aleación: Se deben producir 100 kilogramos de la nueva aleación.

fabricar-100-kilos-de-la-al

Máximo Porcentaje de Cobre: La nueva aleación debe contener como máximo un 45% de cobre.

maximo-porcentaje-de-cobre

Mínimo Porcentaje de Acero: La nueva aleación debe contenemos como mínimo un 30% de acero.

minimo-porcentaje-acero

Porcentaje de Estaño: La nueva aleación debe tener exactamente un 20% de estaño.

porcentaje-estaño

No Negatividad: Naturalmente las variables de decisión deben adoptar valores mayores o iguales a cero.

no-negatividad-aleacion

A continuación se muestra un extracto de los resultados computacionales luego de hacer uso de Solver de Excel.

solucion-optima-solver-alea

La solución óptima consiste en X_{1}=25, X_{2}=0, X_{3}=25, X_{4}=50, con valor óptimo V(P)=1.375.000. Dicha solución representa 100 kilogramos de la nueva aleación (que en efecto corresponde a la sumatoria de la cantidad de kilos que representa cada variable) donde la nueva aleación tiene un 45% de cobre, un 35% de acero y un 20% de estaño.

¿Quieres tener el archivo Excel con la resolución en Solver del Problema de Aleaciones de Metales presentado en este artículo?

[sociallocker]

MUCHAS GRACIAS!. DESCARGA AQUÍ EL ARCHIVO

[/sociallocker]

Problema de Inclusión de Costos Fijos en Programación Entera

La estructura de cobro utilizadas en general por las compañías de servicios donde el cliente debe pagar un valor fijo sólo por su utilización (independiente del nivel de consumo y/o eventualmente acotado a un máximo permitido) y un valor variable proporcional al consumo, son una práctica común en el esquema de fijación de precios. Esto suele ser el caso de las compañías de luz, agua, gas, teléfono, entre otras, donde el sólo hecho de tener una red operativa genera costos para la empresa los cuales son traspasados en parte o en su totalidad a los usuarios en un cargo fijo o de mantención más un cargo variable por consumo.

El artículo que presentamos a continuación busca, desde la perspectiva del cliente, minimizar el pago asociado a una cuenta telefónica mensual a través de un modelo de Programación Entera, lo que constituye un problema de inclusión de costos fijos. Cabe destacar que la complejidad del problema es menor y dado los datos se podría resolver por simple inspección, no obstante, nuestro interés es mostrar un marco de análisis pertinente a este tipo de problemas.

Ejemplo Inclusión de Costos Fijos en Programación Entera

Tres empresas telefónicas pidieron que me suscribiera a su servicio de larga distancia dentro del país. MaBell cobra US$16 fijos por mes, más US$0,25 por minuto. PaBell cobra US$25 por mes, pero el costo por minuto se reduce a US$0,21. Y con PhoneBell, la tarifa fija es de US$18 y el costo por minuto de US$0,22. Suelo hacer un promedio de 200 minutos de llamadas de larga distancia al mes. Suponiendo que no pague el cargo fijo si no hago llamadas y que puedo repartir a voluntad mis llamadas entre las tres empresas, ¿Cómo debo repartir las llamadas entre las tres empresas para minimizar la cuenta telefónica mensual?.

Variables de Decisión:

variables-inclusion-costos-

Función Objetivo:

funcion-objetivo-telefonia

Donde F_{i} representa el costo fijo mensual asociado a la compañía i y V_{i} el costo variable por minuto de larga distancia nacional correspondiente a la compañía i. Para mayor claridad se ha marcado con color amarillo y verde los elementos de costos fijos y variables (respectivamente) en la función objetivo.

Restricciones:

restricciones-telefonia

Donde (1) garantiza que se satisfaga el consumo mensual de llamadas, (2) que se realizan llamadas sólo a través de la(s) compañía(s) donde se asume el cargo fijo mensual y (3) impone las condiciones de no negatividad para las variables continuas X_{i}.

A continuación se muestra los resultados de la implementación computacional en Solver para el problema de telefonía que considera la inclusión de costos fijos.

solucion-solver-telefonia

La solución óptima consiste en X_{1}=0X_{2}=0X_{3}=200Y_{1}=0Y_{2}=0Y_{3}=1, es decir, se utiliza exclusivamente la compañía 3 (PhoneBell) y se cursan los 200 minutos mensuales de llamadas de larga distancia a través de dicha compañía. El valor óptimo es de US$62 que representa el costo mínimo de la cuenta telefónica mensual (US$18+200*US$0,22).

¿Quieres tener el archivo Excel con la implementación en Solver del Problema de Inclusión de Costos Fijos en Programación Entera?

[sociallocker]

MUCHAS GRACIAS!. DESCARGA AQUÍ EL ARCHIVO

[/sociallocker]

Problema de Arriendo de Camiones y Distribución de Carga en Programación Entera

Los problemas de optimización asociados a redes logísticas de distribución o cadenas de suministro, admiten distintas variantes que buscan representar los aspectos más relevantes de estas problemáticas. Tal es el caso del problema de localización y transporte, problema de producción y transporte, problema de transporte con transbordo, entre otros. En el siguiente artículo presentamos la formulación y resolución con Solver de Excel de un problema de arriendo de camiones y distribución de carga, que por su naturaleza se puede clasificar como un modelo de Programación Entera Mixta.

Una empresa debe transportar grava a tres construcciones. La empresa puede comprar hasta 18 toneladas de grava al norte de la ciudad (Foso 1) y hasta 14 toneladas al sur de la ciudad (Foso 2). Se necesitan 10, 5 y 10 toneladas de grava en las construcciones 1, 2 y 3, respectivamente. Los costos de transporte por tonelada desde cada foso a cada construcción y el precio de compra por tonelada de material en cada foso están dados en la siguiente tabla:

costo-transporte-grava

Adicionalmente, suponga que los camiones necesarios para el transporte de dicho material deben ser arrendados. Cada camión puede ser usado para llevar grava de un solo foso a una sola construcción. El arriendo de un camión es de $5 por camión. Un camión puede transportar 5 toneladas pero no tiene que ir necesariamente lleno. Formule y resuelva un modelo de programación lineal entera-mixta que permita tomar una decisión óptima del número de camiones a usar y la cantidad de material que va a transportar cada uno.

Variables de Decisión: Se debe establecer las toneladas de grava a transportar desde cada foso a cada construcción y adicionalmente especificar la cantidad de camiones utilizados para transportar grava para cada combinación origen destino.

variables-arriendo-de-camio

Función Objetivo: Se busca minimizar los costos totales de compra, la logística de distribución y arriendo de camiones. En color amarillo se observan los costos de compra, con color verde los costos de transporte y con color celeste el costo de arriendo de los camiones.

funcion-objetivo-arriendo-y

Restricciones: A continuación se detallan las condiciones que deben satisfacer las variables de decisión para este problema.

Demanda de las Construcciones: cada construcción (1, 2 y 3, respectivamente) debe recibir las toneladas de grava.

demanda-construcciones

Capacidad de Abastecimiento de los Fosos: la cantidad de toneladas de grava que cada foso puede despachar a las distintas construcciones no puede superar el máximo de compra.

capacidad-de-los-fosos

Capacidad de Transporte de los Camiones: cada camión puede transportar como máximo 5 toneladas de grava. En consecuencia las toneladas de grava que como máximo se pueden transportar en cada combinación origen destino estará limitada a la cantidad de camiones contratados en dicho trayecto. Por ejemplo, si se arriendan 2 camiones para transportar grava desde el foso 1 a la construcción 1 (el lector podrá apreciar que en efecto eso es lo que sucede en la solución óptima que se detalla más abajo) la cantidad máxima a transportar serán 10 toneladas.

capacidad-transporte-camion

No Negatividad y Enteros: el número de camiones contratados para transportar grava en cada combinación origen destino necesariamente deberá ser un número entero mayor o igual a cero.

no-negatividad-y-enteros-ca

No Negatividad: las toneladas de grava a transportar desde cada foso a cada construcción deberá respetar las condiciones de no negatividad (se permite transportar fracciones de tonelada de grava).

no-negatividad-transporte

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

solver-arriendo-y-transport

Se observa que se arriendan en total 5 camiones (por un total de $25 por concepto de costo de arriendo): 2 camiones para llevar grava del foso 1 a la construcción 1 (transportando 10 toneladas), un camión para llevar grava del foso 2 a la construcción 2 (transportando 5 toneladas), un camión para transportar grava del foso 1 a la construcción 3 (transportando 5 toneladas) y un camión del foso 2 a la construcción 3 (transportando 5 toneladas). En consecuencia el costo de transporte total es de $90, asumiendo adicionalmente un costo de compra de $270. Finalmente el costo total (valor óptimo) es de $385 (sumatoria de los costos de arriendo de camiones, costo de transporte y costo de compra).