¿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]

Cómo Construir el Gráfico de Costos Totales del Modelo EOQ con Excel

En el artículo Deducción de la Fórmula del modelo de Tamaño Económico de Pedido (EOQ) discutimos los fundamentos que permiten obtener la solución de dicho modelo, en particular aquel tamaño de pedido que permite minimizar la función de costos totales. Siguiendo dicho desarrollo conceptual, a continuación presentaremos un ejemplo tipo del modelo de Cantidad Económica de Pedido (EOQ) donde con el apoyo de una planilla Excel construiremos la función de costos totales, mediante la evaluación del costo total para distintos tamaños de pedido.

La Joyería Caminante es representante exclusivo de los relojes Ballon Bleu, de la prestigiosa Maison Cartier™, elaborados con oro gris y cubiertos con alrededor de 500 diamantes. Se sabe que:

  • Caminante le paga a Maison Cartier 40.000€ por cada reloj que importa al país.

  • Los costos de transporte e internación ascienden a 4.000€ por orden, independiente del número de relojes transportados.

  • Una vez en el país, los relojes representan un costo de almacenamiento anual del 20% de su precio, debido a los elevados seguros involucrados.

  • El mercado de compradores para este artículo de lujo es obviamente limitado en el país, pero en los últimos años las ventas de este producto se han estabilizado en la cantidad de 3 relojes mensuales.

Determine el número de relojes que Caminante debe pedir cada vez que pone una orden con Maison Cartier™, de modo de minimizar sus costos totales. ¿Cual es el costo total anual que enfrenta Caminante sin incluir el costo de comprar los productos?.

El tamaño óptimo de pedido que permite minimizar el valor de la función de costos totales es:

q-optimo-eoq-relojes

Donde el costo total (mínimo) asociado a dicho tamaño de pedido es:

costo-total-relojes

Notar que se han omitido los costos de compra los cuales en este ejemplo al no existir descuentos por cantidad es el mismo independiente del tamaño del pedido.

Con la ayuda de una planilla Excel se puede evaluar cuál es el costo total anual para distintos tamaños de pedido. En particular resulta de interés evaluar el valor que alcanza la función de costos totales para tamaños de pedido entre 1 y 36 relojes (la siguiente tabla muestra un extracto de dicho procedimiento).

tabla-costo-total-en-funcio

La información completa se puede graficar lo que permite apreciar la convexidad de la función de costos totales. Se ha incluido una línea punteada de color rojo que intercepta el eje vertical (costo total anual) para un valor de 48.000€ el cual se alcanza para un tamaño de pedido de 6 relojes.

grafico-costo-total-eoq

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]