Vista previa del material en texto
Programación Lineal Entera (PLE) Son programas lineales en los cuales algunas o todas las variables están restringidas a valores enteros. Ejemplos: Asignación de máquinas Actividades Personas Tareas Aviones Rutas Programación Entera Mixta (variables enteras y continuas) Pura (variables enteras) Algoritmos de solución de la PLE 1. Resolver el problema considerando que las variables son continuas. 2. Empezando en esta solución óptima continua, añadir restricciones que modifiquen iterativamente el espacio a fin de obtener un extremo óptimo que satisfaga los requerimientos enteros. Métodos clásicos: 1. Método de Ramificación y Acotamiento 2. Método de Plano Cortante 1. Ej. Max z = 5x1 + 4 x2 s.a x1 + x2 5 10 x1 + 6 x2 45 x1, x2 0 y entero Solución óptima continua PL0: x1 = 3.75, x2 = 1.25; z = 23.75 Seleccionar una variable cuyo valor en PL0 no es entero, ej x1 ,entonces la región 3 < x1 < 4 no contiene valores enteros de x1 y por tanto se puede eliminar. Entonces Espacio PL1= Espacio PL0 + (x1 3) Espacio PL2 =Espacio PL0 + (x1 4) Como las restricciones agregadas se excluyen mutuamente, PL1 y PL2 se deben tratar como PL separados. Concepto de ramificación Se deben examinar ambos problemas. La solución de PL1 es x1 = 3, x2 = 2 y z =23, que satisface los requerimientos enteros. Se debe acotar: no investigar más a PL1, porque no incluye ninguna solución mejor de PLE. z =23 constituye una cota inferior LP0 x1 = 3.75, x2 = 1.25, z = 23.75 x1 3 x1 4 LP1 LP2 x1 =3, x2 =2, z =23 x1 =4, x2 = 0.83, z = 23.33 optimo x2 0 x2 1 LP3 LP4 x1 = 4.5, x2 = 0, z =22.5 Sin solución x1 4 x1 5 Infactible LP5 LP6 x1 = 4, x2 = 0, z = 20 Sin solución Límite inferior Programación Lineal Entera Binaria Aplicaciones: Decisiones si(1) o no (0), tales como realizar o no una inversión, restricciones de una u otra, cargo fijo o costo de preparación. Limitación en el numero de alternativas seleccionadas Se puede utilizar para limitar el numero de proyectos o elementos seleccionados de un grupo. Si se requiere elegir no mas de dos proyectos, seria: x1 + x2+ x3 ≤ 2 Si se requiere forzar la selección a exactamente dos proyectos seria: x1 + x2+ x3 = 2 Selecciones dependientes En ocasiones, la selección de un proyecto depende de la selección de otro proyecto: x1 ≤ x2, la decisión de x1 depende de la de x2 si x2 = 0; obliga a x1 = 0 Programación Lineal Entera Binaria Ej. Una compañía quiere construir una fábrica en una de dos ciudades y un depósito en la ciudad que construya la fábrica Capital disponible total: 25 (UM) yi = 1 (si); yi = 0 (no) i= 1,2,3,4 Las dos primeras decisiones son mutuamente excluyentes yi 1 i=1,2 Las decisiones 3 y 4 son contingentes con la 1 y 2 respectivamente. y3 y1 y4 y2 Decisión Var. Decisión Beneficio (UM) Capital Requerido (UM) Fca. en ciudad 1 y1 7 20 Fca. en ciudad 2 y2 5 15 Depósito en ciudad 1 y3 4 12 Depósito en ciudad 2 y4 3 10 Finalmente obtenemos: Max z = 7 y1 + 5 y2 + 4 y3 + 3 y4 s.a 20 y1 + 15 y2 + 12 y3 +10 y4 25 y1 + y2 1 - y1 + y3 0 - y2 + y4 0 yi = 0 o 1 Solución…. Y2 = 1, se construye la fabrica en la ciudad 2 Y4 = 1, se construye el almacén en la ciudad 2 Y1; Y3 = 0, no se construye la fabrica , ni el almacén en la ciudad 1 Z = 8 millones Otras aplicaciones Restricciones de una u otra Solo una restricción se debe cumplir, por ej. Se quiere usar solo uno de dos tipos de recursos, 3 x1 + 2 x2 18; o bien x1 + 4 x2 16 Se replantean como: 3 x1 + 2 x2 18 3 x1 + 2 x2 18 + M x1 + 4 x2 16 + M x1 + 4 x2 16 equivalente a: 3 x1 + 2 x2 18 + y M x1 + 4 x2 16 + (1-y) M Con y = 0 o 1 que se agregan al problema original. Funciones de N valores posibles Ej. 3 x1 + 2 x2 = 6 ó 12 ó 18 es equivalente a: 3 x1 + 2 x2 = 6 y1 + 12 y2 + 18 y3 y1 + y2 + y3 = 1 yi= 0 o 1 Problema de Costo Fijo Kj + cj xj xj > 0 cj(xj) = 0 xj = 0 Min Z = j =1…n cj xj, no lineal en xj debido a la discontinuidad en el origen. Se puede plantear: Min Z = j =1…n ( cj xj + Kj yj) s.a 0 xj Myj yj = 0 o 1 si xi ≥ 1 ; entonces obliga a yi debe ser 1 si xi = 0 ; entonces yi puede ser 0 o 1, se hace 0 por objetivo de z (min) Ejemplo de Problema con costo Fijo Una empresa planea construir por lo menos una nueva planta, y esta considerando tres ciudades, una vez construida la planta , la misma debe tener capacidad por lo menos de producir anualmente 38.000 unidades Formulación Si x1 = 0; (no se construyo la planta en Bayton); entonces x4 = 0 (no se produce en Bayton) Si x1 = 1; (se construyo la planta en Bayton); entonces x4 puede ser cualquier valor entre 0 y 21.000 Solución optima: Transporte – Asignación -Trasbordo Transporte Caso particular de programación lineal y entera. Busca el “COSTO MINIMO” para transportar unidades desde varias fuentes (fábricas) a varios destinos (almacenes). Ejemplo Destinos Orígenes Demanda Datos; Ofertas, Demandas y costo de transporte unitario. Objetivo: Determinar la cantidad que se enviará de cada origen a cada destino, minimizando el costo total de transporte. Se debe cumplir 1) Que el costo del transporte sea directamente proporcional al número de unidades transportadas. 2) cantidad ofertada = cantidad demandada (no siempre se cumple) Si 2) ; no se cumple se agregan orígenes o destinos ficticios para que se cumpla Variables: xij Unidades Transportadas desde nodo i al nodo j . Planteo del problema: Forma estándar Min z = 4x11 + 3x12+ 5x21 + 2x22 sa. x11 + x12 30 x21 + x22 130 x11 + x21 ≥ 60 x12 + x22 ≥ 100 xi j 0, enteros V i j; Solución … EL PROBLEMA Una empresa energética dispone de cuatro plantas de generación para satisfacer la demanda diaria eléctrica en cuatro ciudades, Cali, Bogotá, Medellín y Barranquilla. Las plantas 1,2,3 y 4 pueden satisfacer 80, 30, 60 y 45 millones de KW al día respectivamente. Las necesidades de las ciudades de Cali, Bogotá, Medellín y Barranquilla son de 70, 40, 70 y 35 millones de Kw al día respectivamente. Los costos asociados al envío de suministro energético por cada millón de KW entre cada planta y cada ciudad son los registrados en la siguiente tabla. Restricciones de oferta o disponibilidad, las cuales son de signo ≤: X1,1 + X1,2 + X1,3 + X1,4 ≤ 80 X2,1 + X2,2 + X2,3 + X2,4 ≤ 30 X3,1 + X3,2 + X3,3 + X3,4 ≤ 60 X4,1 + X4,2 + X4,3 + X4,4 ≤ 45 Restricciones de demanda, las cuales son de signo ≥: X1,1 + X2,1 + X3,1 + X4,1 ≥ 70 X1,2 + X2,2 + X3,2 + X4,2 ≥ 40 X1,3 + X2,3 + X3,3 + X4,3 ≥ 70 X1,4 + X2,4 + X3,4 + X4,4 ≥ 35 La función objetivo, en la cual se relaciona el costo correspondiente a cada ruta. ZMIN = 5X1,1 + 2X1,2 + 7X1,3 + 3X1,4 + 3X2,1 + 6X2,2 + 6X2,3 + 1X2,4 + 6X3,1 + 1X3,2 + 2X3,3 + 4X3,4 + 4X4,1 + 3X4,2 + 6X4,3 + 6X4,4 Solución óptima Este problema presenta una solución óptima alternativa, aquí los resultados. Problemas de Asignación Caso particular de transporte con variables binarias Cada recurso se asigna de un único modo a una actividad en particular. Empleados Tareas Máquinas Sitios cada uno tiene su costo asociado Objetivo: determinar asignaciones para minimizarel Costo Total Forma estándar Ejemplo Asignación Min z = 3x11 + 4x12+ 5x21 + 6x22 sa. x11 + x12 1 x21 + x22 1 x11 + x21 ≥ 1 x12 + x22 ≥ 1 xi j 0, enteros V i j y binario VARIABLES DE DECISIÓN Las variables de decisión de este tipo de problemas es igual a las variables de cualquier modelo de transporte tradicional, es decir variables Xi,j donde i {Equipo de mantenimiento 1,2,3} y j {Máquina 1,2,3}, y corresponden a variables binarias en las cuales el valor 1 significa la asignación de un equipo de mantenimiento a una máquina en particular. RESTRICCIONES Dado que un equipo de mantenimiento no puede ser asignado a más de una maquinaria, esta característica debe de restringirse mediante las siguientes inecuaciones. X1,1 + X1,2 + X1,3 1 X2,1 + X2,2 + X2,3 1 X3,1 + X3,2 + X3,3 1 Además debe restringirse el hecho de que cada máquina solo requiere de un equipo de mantenimiento, por ende X1,1 + X2,1 + X3,1 ≥ 1 X1,2 + X2,2 + X3,2 ≥ 1 X1,3 + X2,3 + X3,3 ≥ 1 Xi,j ≥ 0 Xi,j ∈ {Z} FUNCIÓN OBJETIVO ZMIN = 10X1,1 + 9X1,2 + 5X1,3 + 9X2,1 + 8X2,2 + 3X2,3 + 6X3,1 + 4X3,2 + 7X3,3 Trasbordo Un problema de transporte solamente permite envíos que van directamente desde un punto de oferta hacia un punto de demanda. En muchas situaciones se permiten envíos entre puntos de oferta o entre puntos de demanda; también puede haber puntos (llamados de trasbordo) a través de los cuales se puede transbordar bienes en su viaje desde un punto de oferta hacia un punto de demanda. Problemas de envío, con algunas o las estas características son problemas de trasbordo. Se define : Punto de oferta al que puede enviar, pero no puede recibir, bienes hacia otro punto. Punto de demanda, es el que puede recibir, pero no puede enviar, bienes de otros Punto de trasbordo es el que puede recibir y enviar bienes de otros puntos. Existe la posibilidad de resolver un modelo de transbordo mediante las técnicas tradicionales de resolución de modelos de transporte y este procedimiento se basa en la preparación del tabulado inicial haciendo uso de artificios conocidos con el nombre de amortiguadores, los cuales deben ser iguales a la sumatoria de las ofertas de los nodos de oferta pura y de coeficiente cero (0) en materia de costos. Ejemplo Una vez renombrado cada nodo definiremos las variables: XA,C = Cantidad de unidades enviadas desde P1 hacia T1 XA,D = Cantidad de unidades enviadas desde P1 hacia T2 XB,C = Cantidad de unidades enviadas desde P2 hacia T1 XB,D = Cantidad de unidades enviadas desde P2 hacia T2 XC,D = Cantidad de unidades enviadas desde T1 hacia T2 XC,E = Cantidad de unidades enviadas desde T1 hacia D1 XC,F = Cantidad de unidades enviadas desde T1 hacia D2 XD,F = Cantidad de unidades enviadas desde T2 hacia D2 XD,G = Cantidad de unidades enviadas desde T2 hacia D3 XE,F = Cantidad de unidades enviadas desde D1 hacia D2 XF,G = Cantidad de unidades enviadas desde D2 hacia D3 RESTRICCIONES Existen en este modelo 3 tipos de restricciones y están estrechamente relacionadas con los tipos de nodos existentes, para un nodo oferta pura existe la restricción de oferta; para un nodo demanda pura existe la restricción de demanda, y para un nodo transitorio y/o transitorio de demanda existe la restricción de balance. Recordemos que los nodos transitorios son aquellos que tienen rutas (arcos o flechas) de entrada y salida, y si además este presenta un requerimiento de unidades se denomina transitorio de demanda. FUNCIÓN OBJETIVO En este caso la definición de la función objetivo se limita a la consignación de cada ruta con su respectivo costo bajo el criterio "minimizar". ZMIN = 3XA,C + 4XA,D + 2XB,C + 5XB,D + 7XC,D + 8XC,E + 6XC,F + 4XD,F + 9XD,G + 5XE,F + 3XF,G Restricciones de Oferta Pura: XA,C + XA,D = 1000 XB,C + XB,D = 1200 Restricciones de demanda Pura: XD,G + XF,G = 500 Restricciones de balanceo para nodos únicamente transitorios: Con estas restricciones aseguramos que todas las unidades que lleguen sean iguales a las unidades que salgan. XA,C + XB,C - XC,D - XC,E - XC,F = 0 XA,D + XB,D + XC,D - XD,F - XD,G = 0 Restricciones de balanceo para nodos transitorios con requerimientos: Con estas restricciones aseguramos que todas las unidades que lleguen sean iguales a la sumatoria de las unidades que salen más los requerimientos del nodo (demanda). XC,E - XE,F = 800 XC,F + XD,F + XE,F - XF,G = 900 Problema de Flujo en Redes de Costo Mínimo (MCNFP) Todos los problemas de transporte, asignación, trasbordo, camino más corto, flujo máximo son casos especiales de este problema. Sea: xij= número de unidades de flujo enviado del nodo i al nodo j a través del arco (i, j) bi = oferta neta (salida - entrada) al nodo i. cij = costo de transportar una unidad de flujo del nodo i al nodo j a través del arco (i, j) Lij = Cota inferior para el flujo a través del arco (i,j). Si no existe cota inferior Li j= 0 Ui j = Cota superior para el flujo a través del arco (i,j). Si no existe cota superior Ui j = Entonces el PL es: Min ci j xi j (para todos los arcos) s.a xij - xki = bi (1) para cada nodo i en la red, ecuaciones de equilibrio de flujo (ef) L ij xij Uij (2) para todo arco en la red, restricciones de capacidad. Ejemplo de Problemas de Redes de Costo mínimo Cada hora, 900 autos entran a la siguiente red, (desde 1 a 6). El tiempo que tardan esta especificado en la tabla. La cantidad máxima de autos que pueden pasar durante una hora, esta especificada el gráfico. Xij, : numero de autos por hora, que cruzan el arco del nodo i al j Cada valor en el arco indica la cantidad de autos que pueden circular Función Objetivo 900 900 Alm 1 Alm 2 Oferta Fábrica 1 4 3 30 Fábrica 2 5 2 130 60 100 Alm 1 Alm 2 Oferta Fábrica 1 4 3 30 Fábrica 2 5 2 130 60 100 Máquina 1 Máquina 2 Hombre1 3 4 1 Hombre2 5 6 1 1 1 Máquina 1 Máquina 2 Hombre1 3 4 1 Hombre2 5 6 1 1 1 Máquina 1 Máquina 2 Hombre1 3 4 1 Hombre2 5 6 1 1 1 Máquina 1 Máquina 2 Hombre1 3 4 1 Hombre2 5 6 1 1 1 T1T2D1D2D3 P134MMM1000 P225MMM1200 T10786MB T2M0M49B D1MM05MB D2MMM03B BB800+B900+B500 B=´1000+1200=2200 1 5 4 3 2 6 800 600 600 400 100 300 400 600 600 ArcoTiempo (minutos) (1,2)10 (1,3)50 (2,5)70 (2,4)30 (5,6)30 (4,5)30 (4,6)60 (3,5)60 (3,4)10 X 12 X 13 X 24 X 25 X 34 X 35 X 46 X 45 X 56 id Restriccion 1 1 0 0 0 0 0 0 0 = 900 Nodo 1 -1 0 1 1 0 0 0 0 0 = 0 Nodo 2 0 -1 0 0 1 1 0 0 0 = 0 Nodo 3 0 0 -1 0 -1 0 1 1 0 = 0 Nodo 4 0 0 0 -1 0 0 -1 0 1 = 0 Nodo 5 0 0 0 0 0 0 0 -1 -1 = -900 Nodo 6 1 0 0 0 0 0 0 0 0 = 800 Arco (1,2) 0 1 0 0 0 0 0 0 0 = 600 Arco (1,3) 0 0 1 0 0 0 0 0 0 = 600 Arco (2,4) 0 0 0 1 0 0 0 0 0 = 100 Arco (2,5) 0 0 0 0 1 0 0 0 0 = 300 Arco (3,4) 0 0 0 0 0 1 0 0 0 = 400 Arco (3,5) 0 0 0 0 0 0 1 0 0 = 600 Arco (4,5) 0 0 0 0 0 0 0 1 0 = 400 Arco (4,6) 0 0 0 0 0 0 0 0 1 = 600 Arco (5,6) Todas las variables son no negativas Min Z = 10X 12 + 50X 13 + 70X 24 + 30X 25 + 30X 34 + 30X 35 + 60X 46 + 60X 45 + 10X 56 ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤ ≤