Aplicaciones Programacion Lineal

March 25, 2018 | Author: Pana Na | Category: Graph Theory, Transport, Matrix (Mathematics), Vertex (Graph Theory), Algorithms


Comments



Description

Aplicaciones deProgramación Lineal 3 El objetivo general es encontrar el mejor plan de distribución, es decir, la cantidad que se debe enviar por cada una de las rutas desde los puntos de suministro hasta los puntos de demanda. El “mejor plan” es aquel que minimiza los costos totales de envío, produzca la mayor ganancia u optimice algún objetivo corporativo. Se debe contar con: i) Nivel de oferta en cada fuente y la cantidad de demanda en cada destino. ii) Costo de transporte unitario de mercadería desde cada fuente a cada destino. 2.1 Modelo de Transporte 4 También es necesario satisfacer ciertas restricciones: 1. No enviar más de la capacidad especificada desde cada punto de suministro (oferta). 2. Enviar bienes solamente por las rutas válidas. 3. Cumplir (o exceder) los requerimientos de bienes en los puntos de demanda. 2.1 Modelo de Transporte 5 2.1 Modelo de Transporte Esquemáticamente se podría ver como se muestra en la siguiente figura Destinos Fuentes 1 1 2 2 n m s 2 s m d 2 s 1 d 1 d n . . . . . . X ij : cantidad transportada desde la fuente i al destino j C 11 , X 11 C mn , X mn C ij : Costo del transporte unitario desde la fuente i al destino j donde Gráficamente: Para m fuentes y n destinos Modelo general de PL que representa al modelo de Transporte 6 o x d x s x x c Z ij j m i ij i n j ij m i n j ij ij > > s = ¿ ¿ ¿¿ = = = = 1 1 1 1 j=1,2,...,n i=1,2,...,m El modelo implica que al menos la oferta debe ser igual a la demanda para toda i y j minimizar s a 2.1 Modelo de Transporte Modelo general de PL que representa al modelo de Transporte 7 Modelo de transporte equilibrado: Oferta = Demanda i n j ij S x = ¿ =1 j=1, 2, 3,....,n j m i ij D x = ¿ =1 i=1, 2, 3,....,m 0 > ij x para toda i y j 2.1 Modelo de Transporte Aplicaciones del modelo de Transporte 8 El Modelo de Transporte no sólo es aplicable al movimiento de productos, sino que también, como modelo se puede aplicar a otras áreas tales como: • Planificación de la Producción • Control de Inventarios • Control de Proveedores • Otras 2.1 Modelo de Transporte Ejemplo: RPG tiene cuatro plantas ensambladoras en Europa. Están ubicadas en Leipzig, Alemania (1);Nancy, Francia (2); Lieja, Bélgica (3), y Tilburgo, Holanda (4). Las máquinas ensambladoras usadas en estas plantas se producen en Estados Unidos y se embarcan a Europa. Llegaron a los puertos de Amsterdan (1), Amberes (2) y El Havre (3). Los planes de producción del tercer trimestre (julio a septiembre) ya han sido formulados. Los requerimientos (la demanda en destinos) de motores diesel E-4 son los siguientes: 2.1 Modelo de Transporte Planta Cantidad de Motores (1) Leipzig 400 (2) Nancy 900 (3) Lieja 200 (4) Tilburgo 500 Total 2000 Puerto Cantidad de Motores (1) Amsterdan 500 (2) Amberes 700 (3) El Hevre 800 Total 2000 La cantidad disponible de máquinas E-4 en los puertos(oferta en orígenes) son: 2.1 Modelo de Transporte 11 Los costos ($) de transporte de un motor desde un origen a un destino son: Desde el origen 1 2 3 4 1 12 13 4 6 2 6 4 10 11 3 10 9 12 4 Al destino 2.1 Modelo de Transporte 12 1. Variables de decisión X ij = número de motores enviados del puerto i a la planta j i = 1, 2, 3 j = 1, 2, 3, 4 Construcción del modelo de PL 2. Función Objetivo Minimizar Z = 12 X 11 + 13 X 12 + 4X 13 + 6X 14 + 6X 21 + 4X 22 + 10X 23 + 11X 24 + 10X 31 + 9X 32 + 12X 34 + 4X 14 2.1 Modelo de Transporte 13 X 11 + X 21 + X 31 > 400 X 12 + X 22 + X 32 > 900 X 13 + X 23 + X 33 > 200 X 14 + X 24 + X 34 > 500 1) Oferta: La cantidad de elementos enviados no puede exceder la cantidad disponible X 11 + X 12 + X 13 + X 14 s 500 X 21 + X 22 + X 23 + X 24 s 700 X 31 + X 32 + X 33 + X 34 s 800 3. Restricciones: 2) Demanda: Debe satisfacerse la demanda de cada planta X ij > 0 para i=1, 2, 3; j= 1, 2, 3, 4 y de no negatividad 2.1 Modelo de Transporte Solución del Modelo de Transporte 2.1 Modelo de Transporte Algoritmos Específicos 2.1.1 Regla de la esquina noroeste (MEN) 2.1.2 Método por aproximación de Vogel (MAV) 2.1.3 Método del costo mínimo (MCM) 2.1.4 Método del paso secuencial y 2.1.5 DIMO (método de distribución modificada) 15 2.1 Modelo de Transporte Descripción de los algoritmos 16 La regla de la esquina noroeste, el método de aproximación de Vogel y el método del costo mínimo son alternativas para encontrar una solución inicial factible. El método del escalón y el DIMO son alternativas para proceder de una solución inicial factible a la óptima. Por tanto, el primer paso es encontrar una solución inicial factible, que por definición es cualquier distribución de ofertas que satisfaga todas las demandas 2.1 Modelo de Transporte Descripción de los algoritmos 17 Una vez obtenida una solución básica factible, el algoritmo procede paso a paso para encontrar un mejor valor para la función objetivo. La solución óptima es una solución factible de costo mínimo Para aplicar los algoritmos, primero hay que construir una tabla de transporte. 2.1 Modelo de Transporte Tabla Inicial 18 Destinos Origen 1 2 3 4 n Ofertas 1 C 11 C 12 C 13 C 14 .... C 1n 2 C 21 C 22 C 23 C 24 .... C 2n 3 C 31 C 32 C 33 C 34 .... C 3n ... .... ..... .... .... .... m C m1 C m2 C m3 C m4 .... C mn Demanda 2.1 Modelo de Transporte Tabla Inicial del Ejemplo 19 Plantas Puertos 1 2 3 4 Oferta 1 12 13 4 6 500 2 6 4 10 11 700 3 10 9 12 4 800 Demanda 400 900 200 500 2000 2.1 Modelo de Transporte 2.1.1 Regla de la esquina Noroeste 20 Se inicia el proceso desde la esquina izquierda superior Se ubican tantas unidades como sea posible en la ruta Cantidad de Unidades = Mínimo(disponibilidad, demanda) Las siguientes asignaciones se hacen o bien recorriendo hacia la derecha o bien hacia abajo. Las demandas se satisfacen recorriendo sucesivamente de izquierda a derecha y las ofertas se destinan recorriendo de arriba hacia abajo. 2.1 Modelo de Transporte Primera asignación 21 Plantas Puertos 1 2 3 4 Oferta 1 12 13 4 6 400 100 500 2 6 4 10 11 700 3 10 9 12 4 800 Demanda 0 400 900 200 500 2000 2.1 Modelo de Transporte Hasta cuarta asignación 22 Plantas Puertos 1 2 3 4 Oferta 1 12 13 4 6 400 100 100 500 2 6 4 10 11 700 0 700 3 10 9 12 4 100 700 800 Demanda 0 400 0 900 200 500 2000 2.1 Modelo de Transporte Esquina Noroeste: Solución final factible 23 Plantas Puertos 1 2 3 4 Oferta 1 12 13 4 6 400 100 100 500 2 6 4 10 11 700 0 700 3 10 9 12 4 100 200 500 0 800 Demanda 0 400 0 900 200 500 2000 Valor FO: 400*12+100*13+700*4+100*9+200*12+500*4= $14.200 2.1 Modelo de Transporte 2.1.2 Método de aproximación de Vogel (MAV) 24 MAV usa información de costos mediante el concepto de costo de oportunidad para determinar una solución inicial factible. Seleccionar en una fila la ruta más barata y la que le sigue. Hacer su diferencia (penalidad), que es el costo adicional por enviar una unidad desde el origen actual al segundo destino y no al primero. En nuestro caso, para el puerto1, C 13 y C 14 ; Penalidad = 6 - 4 MAV asigna un costo de penalidad por no usar la mejor ruta en esta fila. 2.1 Modelo de Transporte 2.1.2 Método de aproximación de Vogel 25 Lo anterior se repite para cada fila y cada columna, esto es, determinar todas las penalidades Los pasos iterativos de MAV son los siguientes: 1. Identificar la fila o columna con la máxima penalidad. 2.Colocar la máxima asignación posible a la ruta no usada que tenga menor costo en la fila o columna seleccionada en el punto 1 (los empates se resuelven arbitrariamente) 3. Reajustar la oferta y demanda en vista de esta asignación. 4. Eliminar la columna en la que haya quedado una demanda 0 (o la fila con oferta 0), de consideraciones posteriores. 5. Calcular los nuevos costos de penalidad. 2.1 Modelo de Transporte 2.1.2 Método de aproximación de Vogel 26 El MAV continúa aplicando este proceso en forma sucesiva hasta que se haya obtenido una solución factible. Los resultados obtenidos se muestran en las siguientes tablas 2.1 Modelo de Transporte 2.1.2 Método de aproximación de Vogel 27 Plantas Puertos 1 2 3 4 Oferta Penalidades 1 12 13 4 6 2 500 2 6 4 10 11 2 700 3 10 9 12 4 5 800 Demanda 400 900 200 500 2000 Penalidades 4 5 6 2 Calculadas todas las penalidades, la mayor corresponde a la columna 3 (penalidad = 6) Paso 1: Identificar máxima penalidad (fila o columna) Paso 0: Cálculo de penalidades 2.1 Modelo de Transporte 2.1.2 Método de aproximación de Vogel 28 Paso 2: Asignación de unidades (MIN(oferta,demanda)) Paso 3:Reajuste de oferta y demanda Plantas Puertos 1 2 3 4 Oferta 1 12 13 4 6 200 300 500 2 6 4 10 11 700 3 10 9 12 4 800 Demanda 400 900 0 200 500 2000 2.1 Modelo de Transporte 2.1.2 Método de aproximación de Vogel 29 Paso 4: Eliminar columna (fila) con demanda (oferta) 0 Plantas Puertos 1 2 3 4 Oferta 1 12 13 4 6 200 300 500 2 6 4 10 11 700 3 10 9 12 4 800 Demanda 400 900 0 200 500 2000 2.1 Modelo de Transporte 2.1.2 Método de aproximación de Vogel 30 Paso 5: Calcular los nuevos costos de penalidad Plantas Puertos 1 2 3 4 Oferta Penalidades 1 12 13 4 6 6 200 300 500 2 6 4 10 11 2 700 3 10 9 12 4 5 800 Demanda 400 900 0 200 500 2000 Penalidades 4 5 2 2.1 Modelo de Transporte 2.1.2 Método de aproximación de Vogel 31 Repitiendo los pasos anteriores, finalmente se llega a la siguiente solución Plantas Puertos 1 2 3 4 Oferta 1 12 13 4 6 200 300 300 500 2 6 4 10 11 700 0 700 3 10 9 12 4 400 200 200 600 800 Demanda 400 900 0 200 200 500 2000 ¿Es solución factible? ¿m + n - 1 = 6? SI Costo: 200*4+300*6+700*4+400*10+200*9+200*4 = $12.000 2.1 Modelo de Transporte 2.1.3. Método del Costo Mínimo 32 1. Dada una tabla de transporte 2. Asignar la mayor cantidad de unidades a la variable (ruta) con el menor costo unitario de toda la tabla. 3. Tachar la fila o columna satisfecha. 4. Ajustar oferta y demanda de todas las filas y columnas 5. Si hay más de una fila o columna no tachada repetir los puntos 2, 3 y 4 Algoritmo Fundamento Asignar la mayor cantidad de unidades a una ruta disponible de costo mínimo 2.1 Modelo de Transporte 2.1.3. Método del Costo Mínimo (cont.) 33 Ejemplo: Aplicar MCM a la tabla de transporte Plantas Puertos 1 2 3 4 Oferta 1 12 13 4 6 500 2 6 4 10 11 700 3 10 9 12 4 800 Demanda 400 900 200 500 2000 Unidades a asignar = MIN(200,400) = 200 Existen tres rutas costo mínimo. Elijamos la 1_3 Paso 2 2.1 Modelo de Transporte 2.1.3. Método del Costo Mínimo (cont.) 34 Paso 3: Tachar fila o columna (columna 3) Plantas Puertos 1 2 3 4 Oferta 1 12 13 4 6 200 300 500 2 6 4 10 11 700 3 10 9 12 4 800 Demanda 400 900 0 200 500 2000 Aún quedan más de una fila o columna sin tachar. Ir a paso 2 Ajustar ofertas y demandas (fila 1 y columna 3) Paso 5 Paso 4 2.1 Modelo de Transporte 2.1.3. Método del Costo Mínimo (cont.) 35 Paso 4: Tachar ajustar fila 3 y columna 4 Plantas Puertos 1 2 3 4 Oferta 1 12 13 4 6 200 300 500 2 6 4 10 11 700 3 10 9 12 4 500 300 800 Demanda 400 900 0 200 0 500 2000 Aún quedan más de una fila o columna sin tachar. Ir a paso 2 Paso 5 Paso 2: Ruta de costo menor -> 3_4 (ó 2_2) Unidades = MIN(500,800) = 500 Paso 3: Tachar columna 4 2.1 Modelo de Transporte 2.1.3. Método del Costo Mínimo (cont.) 36 Paso 4: Tachar ajustar fila 2 y columna 2 Puertos 1 2 3 4 Oferta 1 12 13 4 6 200 300 500 2 6 4 10 0 700 0 700 3 10 9 12 4 500 300 800 Demanda 400 200 900 0 200 0 500 2000 Aún quedan más de una fila o columna sin tachar. Ir a paso 2 Paso 5 Paso 2: Ruta de costo menor -> 2_2 Unidades = MIN(700,900) = 300 Paso 3: Tachar fila2 2.1 Modelo de Transporte 2.1.3. Método del Costo Mínimo (cont.) 37 Paso 4: Tachar ajustar fila 3 y columna 2 Puertos 1 2 3 4 Oferta 1 12 13 4 6 200 300 500 2 6 4 10 0 700 0 700 3 10 9 12 4 100 200 500 300 800 Demanda 400 200 900 0 200 0 500 2000 Aún quedan más de una fila o columna sin tachar. Ir a paso 2 Paso 5 Paso 2: Ruta de costo menor -> 3_2 Unidades = MIN(200,300) = 200 Paso 3: Tachar columna 2 2.1 Modelo de Transporte 2.1.3. Método del Costo Mínimo (cont.) 38 Paso 4: Tachar ajustar fila 3 y columna 1 Puertos 1 2 3 4 Oferta 1 12 13 4 6 200 300 500 2 6 4 10 0 700 0 700 3 10 9 12 4 100 0 100 200 500 300 800 Demanda 300 400 200 900 0 200 0 500 2000 Aún quedan más de una fila o columna sin tachar. Ir a paso 2 Paso 5 Paso 2: Ruta de costo menor -> 3_1 Unidades = MIN(400,100) = 100 Paso 3: Tachar fila 3 2.1 Modelo de Transporte 2.1.3. Método del Costo Mínimo (cont.) 39 Paso 4: Tachar ajustar fila 1 y columna 1 Puertos 1 2 3 4 Oferta 1 12 13 4 6 0 300 200 300 500 2 6 4 10 0 700 0 700 3 10 9 12 4 100 0 100 200 500 300 800 Demanda 300 400 200 900 0 200 0 500 2000 Queda sólo una fila sin tachar. Terminar Paso 5 Paso 2: Ruta de costo menor -> 1_1 Unidades = MIN(300,300) = 300 Paso 3: Tachar fila 1 ó columna 1 (sólo una de ellas) 2.1 Modelo de Transporte 2.1.3. Método del Costo Mínimo (cont.) 40 Comparación de los resultados ¿Es solución factible? ¿m + n - 1 = 6? SI Costo: 300*12+200*4+700*4+100*10+200*9+500*4 = $12.000 Método Rutas Costo MEN 6 $14.200 MAV 6 $12.000 MCM 6 $12.000 Los tres métodos entregan soluciones básicas factibles, pero ninguno asegura que la solución sea óptima. Conclusión 2.1 Modelo de Transporte 2.1.4. Método de Pasos Secuenciales 41 Este método comienza con una solución inicial factible. En cada paso se intenta enviar artículos por una ruta que no sehaya usado en la solución factible actual, en tanto se elimina una ruta usada actualmente. En cada cambio de ruta debe cumplirse que: 1. La solución siga siendo factible y 2. Que mejore el valor de la función objetivo El procedimiento termina cuando no hay cambio de rutas que mejoren el valor de la función. Fundamento 2.1 Modelo de Transporte 2.1.4. Método de pasos secuenciales (cont..) 42 Usar la solución actual (MEN, MAV o MCM) para crear una trayectoria única del paso secuencial. Usar estas trayectorias para calcular el costo marginal de introducir a la solución cada ruta no usada. Si todos los costos marginales son iguales o mayores que cero, terminar; se tendrá la solución óptima. Si no, elegir la celda que tenga el costo marginal más negativo (empates se resuelven arbitrariamente) Usando la trayectoria del paso secuencial, determine el máximo número de artículos que se pueden asignar a la ruta elegida en el punto 2 y ajustar la distribución adecuadamente. Regrese al paso 1 Algoritmo 1 2 3 4 2.1 Modelo de Transporte 2.1.4. Método de pasos secuenciales (cont..) 43 a) Ponga un signo + en la celda de interés no ocupada b) Ponga un signo - en una celda usada de la misma fila c) Ponga un + en una celda usada de la misma columna El proceso continúa alternando los signos + y - tanto en las filas como en las columnas hasta que se obtenga una sucesión de celdas (trayectoria) que satisfagan dos condiciones 1. Hay un signo + en la celda desocupada original de interés, y 2. Cualquier fila o columna que tenga un signo + debe tener también un signo - y viceversa. Algoritmo Paso 1 2.1 Modelo de Transporte 2.1.4. Método de pasos secuenciales (cont..) 44 Algoritmo Paso 1 Plantas Puertos 1 2 3 4 Oferta 1 12 13 4 6 400 100 100 500 2 6 4 10 11 700 0 700 3 10 9 12 4 100 200 500 0 800 Demanda 0 400 0 900 200 500 2000 Solución básica factible obtenida aplicando el método de la Esquina Noroeste 2.1 Modelo de Transporte 2.1.4. Método de pasos secuenciales (cont..) 45 Algoritmo Paso 1 Plantas Puertos 1 2 3 4 Oferta 1 12 13 4 6 400 100 - + 100 500 2 6 4 10 11 700 0 700 3 10 9 12 4 100 + 200 - 500 0 800 Demanda 0 400 0 900 0 200 0 500 2000 Trayectoria 1: +C 13 -C 12 +C 32 -C 33 2.1 Modelo de Transporte 2.1.4. Método de pasos secuenciales (cont..) 46 Algoritmo Paso 1 Plantas Puertos 1 2 3 4 Oferta 1 12 13 4 6 400 100 - + 100 500 2 6 4 10 11 700 0 700 3 10 9 12 4 100 + 200 - 500 0 800 Demanda 0 400 0 900 0 200 0 500 2000 1: +(4)-(13)+(9)-(12)= -12 2: +(6)-(13)+(9)-(4) = -2 3: +(6)-(4)+(13)-(12)= 3 4: +(10)-(4)+(9)-(12) = 3 5: +(11)-(4)+(9)-(4) = 12 6: +(10)-(9)+(13)-(12)= 2 Costos de las Trayectorias 2.1 Modelo de Transporte 2.1.4. Método de pasos secuenciales (cont..) 47 Algoritmo Paso 2 1: +(4)-(13)+(9)-(12)= -12 2: +(6)-(13)+(9)-(4) = -2 3: +(6)-(4)+(13)-(12)= 3 4: +(10)-(4)+(9)-(12) = 3 5: +(11)-(4)+(9)-(4) = 2 6: +(10)-(9)+(13)-(12)= 2 La solución factible NO es óptima !! Se selecciona la trayectoria 1 (costo marginal más negativo) 2.1 Modelo de Transporte 2.1.4. Método de pasos secuenciales (cont..) 48 Algoritmo Paso 3 (Generación de la nueva tabla) ¿Cuántas unidades se pueden asignar a la ruta elegida? Acción Ruta Unidades disponibles en celdas decrecientes Aumentar 1 unidad 1_3 Disminuir 1 unidad 1_2 100 Aumentar 1 unidad 3_2 Disminuir 1 unidad 3_3 200 2.1 Modelo de Transporte 2.1.4. Método de pasos secuenciales (cont..) 49 Algoritmo Plantas Puertos 1 2 3 4 Oferta 1 12 13 4 6 400 - 100 + 100 500 2 6 4 10 11 700 0 700 3 10 9 12 4 200 + 100 - 500 0 800 Demanda 0 400 0 900 0 200 0 500 2000 Paso 3 (Generación de la nueva tabla) Costo: $13.000 2.1 Modelo de Transporte 2.1.4. Método de pasos secuenciales (cont..) 50 Algoritmo Paso 4 Volver al Paso 1: Para cada trayectoria evaluar costo marginal Plantas Puertos 1 2 3 4 Oferta 1 12 13 4 6 400 100 100 500 2 6 4 10 11 700 0 700 3 10 9 12 4 200 100 500 0 800 Demanda 0 400 0 900 0 200 0 500 2000 2.1 Modelo de Transporte 2.1.4. Método de pasos secuenciales (cont..) 51 Algoritmo Paso 2: Elección de CMg menor Plantas Puertos 1 2 3 4 Oferta 1 12 13 4 6 400 +12 100 +10 100 500 2 6 4 10 11 -9 700 +3 +12 0 700 3 10 9 12 4 -10 200 100 500 0 800 Demanda 0 400 0 900 0 200 0 500 2000 La celda más negativa es c 31 (-10) y la trayectoria es: C 31 – C 33 + C 13 – C 11 2.1 Modelo de Transporte 2.1.4. Método de pasos secuenciales (cont..) 52 Algoritmo Paso 3 (Generación de la nueva tabla) ¿Cuántas unidades se pueden asignar a la ruta elegida? Acción Ruta Unidades disponibles en celdas decrecientes Aumentar 1 unidad 31 Disminuir 1 unidad 33 100 Aumentar 1 nidad 13 Disminuir 1 unidad 11 400 2.1 Modelo de Transporte 2.1.4. Método de pasos secuenciales (cont..) 53 Algoritmo Paso 3 (Generación de la nueva tabla) Costo: $12.000 Plantas Puertos 1 2 3 4 Oferta 1 12 13 4 6 300 200 100 500 2 6 4 10 11 700 0 700 3 10 9 12 4 100 200 500 0 800 Demanda 0 400 0 900 0 200 0 500 2000 2.1 Modelo de Transporte 2.1.4. Método de pasos secuenciales (cont..) 54 Algoritmo Paso 4 Volver al Paso 1: Para cada trayectoria evaluar costo marginal Plantas Puertos 1 2 3 4 Oferta 1 12 13 4 6 300 200 100 500 2 6 4 10 11 700 0 700 3 10 9 12 4 100 200 500 0 800 Demanda 0 400 0 900 0 200 0 500 2000 2.1 Modelo de Transporte 2.1.4. Método de pasos secuenciales (cont..) 55 Algoritmo Paso 2: Determinar costos marginales Todas rutas son no negativas (positivas o cero) Solución factible óptima!!! $12.000 Compare esta solución con la obtenida con MAV y MCM ¿ ...? Plantas Puertos 1 2 3 4 Oferta 1 12 13 4 6 300 +2 200 0 100 500 2 6 4 10 11 +1 700 +13 +12 0 700 3 10 9 12 4 100 200 +10 500 0 800 Demanda 0 400 0 900 0 200 0 500 2000 2.1 Modelo de Transporte 2.1.5. Método de Distribución Modificada (DIMO) 56 Algoritmo 1. Usar la solución actual (NE, MAV o MCM) y las siguientes operaciones (a) y (b) para determinar el costo marginal de enviar material para cada una de las rutas no usadas. Asociar a cada fila un índice u i y a cada columna un índice v j a) Hacer u 1 = 0. Encuéntrese los índices de las filas u 2 , ..., u m y los índices de las columnas v 1 , ...., v n tales que c ij = u i + v j para cada celda usada. b) Sea e ij = c ij - (u i +v j ) para cada celda no usada; e ij será el costo marginal de introducir la celda (ruta) i, j a la solución. Los pasos 2 a 4 son los mismos que en el método secuencial. 2.1 Modelo de Transporte 2.1.5. Método de Distribución Modificada (DIMO) 57 Aplicar el algoritmo al problema en estudio y comparar resultados obtenidos con los métodos anteriores Comentar resultados ¿Qué explica que existan dos soluciones óptimas factibles? 2.1 Modelo de Transporte 2.1.5. Método de Distribución Modificada (DIMO) 58 Aplicación Costo por Ruta en uso motor ($) Ecuación 11 12 u 1 + v 1 = 12 12 13 u 1 + v 2 = 13 22 4 u 2 + v 2 = 4 32 9 u 3 + v 2 = 9 33 12 u 3 + v 3 = 12 34 4 u 3 + v 4 = 4 Plantas Puertos 1 2 3 4 Oferta 1 12 13 4 6 400 100 100 500 2 6 4 10 11 700 0 700 3 10 9 12 4 100 200 500 700 800 Demanda 0 400 0 900 200 500 2000 Paso 0: Asociar índices u i v j 2.1 Modelo de Transporte 2.1.5. Método de Distribución Modificada (DIMO) 59 Paso1.a) Solucionar la ecuación Existen 6 ecuaciones y siete variables entonces se hace u 1 = 0 (puede ser cualquiera) y se determina el resto de los índices v 1 = 12 v 2 = 13 u 2 = - 9 u 3 = -4 v 3 = 16 v 4 = 8 Paso 1.b) Calcular los costos marginales para cada celda no usada. e ij = c ij - (u i + v j ) 2.1 Modelo de Transporte 2.1.5. Método de Distribución Modificada (DIMO) 60 Costos marginales para las celdas no usadas. e ij = c ij - (u i + v j ) 1) e 13 = c 13 - (u 1 + v 3 )= 4 - (0 + 16) = -12 2) e 14 = c 14 - (u 1 + v 4 )= 6 - (0 + 8) = -2 3) e 21 = c 21 - (u 2 + v 1 )= 6 - (-9 + 13) = 2 4) e 23 = c 23 - (u 2 + v 3 )= 10 - (-9 + 16) = 3 5) e 24 = c 24 - (u 2 + v 4 )= 11 - (-9 + 8) = 12 6) e 31 = c 31 - (u 3 + v 1 )= 10 - (-4 + 12) = 2 2.1 Modelo de Transporte 2.1.5. Método de Distribución Modificada (DIMO) 61 Plantas Puertos 1 2 3 4 Oferta 1 12 13 4 6 400 100 -12 -2 100 500 2 6 4 10 11 2 700 3 12 0 700 3 10 9 12 4 2 100 200 500 700 800 Demanda 0 400 0 900 200 500 2000 Paso 2: Prueba de Optimalidad. Hay costos negativos por lo tanto no es óptima La ruta de reasignación es: +C 13 -C 33 +C 32 -C 12 (más negativo, -12) 2.1 Modelo de Transporte 2.1.5. Método de Distribución Modificada (DIMO) 62 Paso 3: Asignación de unidades a la ruta elegida. Unidades disponibles a mover: Disminuir 1 unidad C 12 100 Disminuir 1 unidad C 33 200 Plantas Puertos 1 2 3 4 Oferta 1 12 13 4 6 400 100 100 500 2 6 4 10 11 700 0 700 3 10 9 12 4 200 100 500 700 800 Demanda 0 400 0 900 200 500 2000 2.1 Modelo de Transporte 2.1.5. Método de Distribución Modificada (DIMO) 63 Vuelta al Paso 1: Costo por Ruta en uso motor ($) Ecuación 11 12 u1 + v1 = 12 13 4 u1 + v3 = 4 22 4 u2 + v2 = 4 32 9 u3 + v2 = 9 33 12 u3 + v3 = 12 34 4 u3 + v4 = 4 Paso1.a) Solucionar la ecuación Se hacer u 1 = 0 y se determina el resto de los índices v 1 = 12 v 2 = 1 v 3 = 4 v 4 = -4 u 2 = 3 u 3 = 8 Paso 1.b) Calcular los costos marginales para cada celda no usada. e ij = c ij - (u i + v j ) 2.1 Modelo de Transporte 2.1.5. Método de Distribución Modificada (DIMO) 64 Costos marginales para las celdas no usadas. e ij = c ij - (u i + v j ) 1) e 12 = c 12 - (u 1 + v 2 )= 13 - (0 + 1) = 12 2) e 14 = c 14 - (u 1 + v 4 )= 6 - (0 - 4) = 10 3) e 21 = c 21 - (u 2 + v 1 )= 6 - (3 + 12) = -9 4) e 23 = c 23 - (u 2 + v 3 )= 10 - (3 + 4) = 3 5) e 24 = c 24 - (u 2 + v 4 )= 11 - (3 - 4) = 12 6) e 31 = c 31 - (u 3 + v 1 )= 10 - (8 + 12) = -10 2.1 Modelo de Transporte 2.1.5. Método de Distribución Modificada (DIMO) 65 Paso 2: Prueba de Optimalidad. Hay costos negativos por lo tanto no es óptima La ruta de reasignación es: +C 31 -C 33 +C 13 -C 11 Plantas Puertos 1 2 3 4 Oferta 1 - 12 13 + 4 6 400 19 100 1 100 500 2 6 4 10 11 0 700 3 12 0 700 3 + 10 9 - 12 4 -1 200 100 500 700 800 Demanda 0 400 0 900 200 500 2000 2.1 Modelo de Transporte 2.1.5. Método de Distribución Modificada (DIMO) 66 Paso 3: Asignación de unidades a la ruta elegida. Unidades disponibles a mover: Disminuir 1 unidad C 11 400 Disminuir 1 unidad C 33 100 Plantas Puertos 1 2 3 4 Oferta 1 12 13 4 6 300 200 100 500 2 6 4 10 11 700 0 700 3 10 9 12 4 100 200 500 700 800 Demanda 0 400 0 900 200 500 2000 2.1 Modelo de Transporte 2.1.5. Método de Distribución Modificada (DIMO) 67 Vuelta al Paso 1: Paso1.a) Solucionar la ecuación u 1 = 0 y se determina el resto de los índices v 1 = 12 v 2 = 11 v 3 = 4 v 4 = 6 u 2 = - 7 u 3 = -2 Paso 1.b) Calcular los costos marginales para cada celda no usada. e ij = c ij - (u i + v j ) Costo por Ruta en uso motor ($) Ecuación 11 12 u1 + v1 = 12 13 4 u1 + v3 = 4 22 4 u2 + v2 = 4 31 10 u3 + v1 = 10 32 9 u3 + v2 = 9 34 4 u3 + v4 = 4 2.1 Modelo de Transporte 2.1.5. Método de Distribución Modificada (DIMO) 68 Costos marginales para las celdas no usadas. e ij = c ij - (u i + v j ) 1) e 12 = c 12 - (u 1 + v 2 )= 13 - (0 + 11) = 2 2) e 14 = c 14 - (u 1 + v 4 )= 6 - (0 + 6) = 0 3) e 21 = c 21 - (u 2 + v 1 )= 6 - (-7 + 12) = 1 4) e 23 = c 23 - (u 2 + v 3 )= 10 - (-7 + 4) = 13 5) e 24 = c 24 - (u 2 + v 4 )= 11 - (-7 + 6) = 12 6) e 33 = c 33 - (u 3 + v 3 )= 12 - (-2 + 4) = 10 2.1 Modelo de Transporte 2.1.5. Método de Distribución Modificada (DIMO) 69 Paso 2: Prueba de Optimalidad. No hay costos negativos por lo tanto es óptima VO = 300*12+200*4+700*4+100*10+200*9+500*4=$12.000 Plantas Puertos 1 2 3 4 Oferta 1 12 13 4 6 300 0 200 0 100 500 2 6 4 10 11 1 700 13 12 0 700 3 10 9 12 4 100 200 10 500 700 800 Demanda 0 400 0 900 200 500 2000 Ver Transporte RPG Equilibrio 2.1 Modelo de Transporte 2.1.6. Modelo de Transporte: Situaciones Especiales 70 1. Solución en problemas de maximización de transporte 2. El caso en que la oferta excede a la demanda. 3. Eliminación de rutas inaceptables. 4. Degeneración en problemas de transporte. 5. Propiedades especiales del modelo de transporte 2.1 Modelo de Transporte 2.1.6. Modelo de Transporte: Situaciones Especiales 71 1. Solución en problemas de maximización de transporte. a) Se utilizan los beneficios marginales en lugar de los costos. Se asignará unidades a la celda que tenga el mayor valor marginal y el procedimiento concluirá cuando todas las rutas tengan valores marginales negativos. b) Convertir la tabla de beneficios en una tabla de costo: Se busca el beneficio mayor, en cada celda se le resta al mayor el beneficio de la celda. Ejemplo: 2.1 Modelo de Transporte 2.1.6. Modelo de Transporte: Situaciones Especiales 72 Tabla de beneficios 14 19 12 17 19 15 16 20 11 6 1 8 3 1 5 4 0 9 2 3 Destinos F u e n t e s 1 2 3 1 Destinos 1 2 3 F u e n t e s 1 2 3 Mayor = 20 Tabla de costo 2.1 Modelo de Transporte 2.1.6. Modelo de Transporte: Situaciones Especiales 73 2. El caso en que la oferta excede a la demanda. Se utiliza un destino ficticio en la tabla de transporte. Se considera como nulo el costo de enviar una unidad a dicho destino desde cada una de las fuentes (orígenes). Si la demanda es mayor que la oferta el problema no tiene solución factible, sin embargo el administrador podría abastecer toda la demanda que sea posible a un costo mínimo. Se utiliza un origen ficticio. El costo de abastecer cualquier destino desde dicho origen será cero. Sin embargo podría haber un cargo por orden no cubierta. Ver Transporte RPG (O>D) y (O<D 2.1 Modelo de Transporte 2.1.6. Modelo de Transporte: Situaciones Especiales 74 3. Eliminación de rutas inaceptables. Se asocia a una ruta no aceptable un costo lo suficientemente alto para que no sea atrayente la ruta en cuestión. El costo M Por ejemplo: producir en abril para vender en febrero del mismo año. 4. Degeneración en problemas de transporte. Se dice que un problema se degenera cuando hay menos de m + n - 1 rutas ocupadas. Esto puede ocurrir cuando simultáneamente se satisface una demanda y se agota una oferta. Ver Transporte RPG (inaceptable) 2.1 Modelo de Transporte 2.1.6. Modelo de Transporte: Situaciones Especiales 75 5. Propiedades especiales del modelo de transporte Todo problema de transporte es posible resolverlo mediante algoritmos que usan sólo la adición y la sustracción. Si todas las ofertas y demandas tienen valores enteros en un problema de transporte, los valores óptimos de las variables de decisión serán también enteros. 2.1 Modelo de Transporte Ejercicios D 1 D 2 D 3 D 4 M 1 2 3 1 2 M 2 1 4 7 6 M 3 8 9 4 5 76 Suponer que se tienen tres fábricas M1, M2 y M3 que producen 39, 48 y 33 toneladas respectivamente, de un cierto producto que debe llevarse a cuatro destinos, D1, D2, D3 y D4, los cuales requieren 40, 37, 18 y 25 toneladas. Los costos están dados por la siguiente tabla: 2.1 Modelo de Transporte 1 Periodo Capacidad de Producción Máxima (unidades) Demanda a satisfacer Costo de Producción ($) Costo de Almacenaje ($) 1 1200 900 15 1.2 2 800 800 18 1.4 3 1100 1000 17 1.1 4 900 700 20 1.5 77 Planificación de la producción: 2.1 Modelo de Transporte 2 ¿Cuánto hay que producir en cada periodo para satisfacer la demanda al mínimo costo (tanto de producción como de almacenaje)?. Supuesto: No existe inventario inicial ni final. Plantear el problema usando el modelo de transporte. Encuentre las respuestas usando Solver. Situación: Asignar mtrabajos (o trabajadores) a n máquinas. Un trabajo i (=1, 2, 3 ,...,m) cuando se asigna a la máquina j (=1,2,....,n) incurre en un costo c ij . El objetivo es asignar los trabajos a las máquinas uno a uno al menor costo. La formulación de este problema puede considerarse como un caso especial del modelo de transporte. 78 2.2 Modelo de Asignación Descripción 79 Los trabajos representan las “fuentes” y las máquinas los “destinos” La oferta disponible en cada fuente es 1 como también lo es la demanda en cada destino. c ij es el costo de transportar (asignar) el trabajo i a la máquina j El costo puede representar también características de competencia de cada trabajador Descripción 80 En el caso que un trabajo no deba ser asignado (porque no cumple con los requisitos) a una máquina (actividad) en particular, este costo debe tener un valor alto (M) En el caso de existir desequilibrio, esto es, más trabajos que máquinas o más máquinas que trabajos, hay que equilibrar con máquinas o trabajos figurados (ficticios), logrando de esta forma que m = n Expresión matemática del modelo C 11 C 12 ….. C 1n C 21 C 22 ….. C 2n ….. ….. ….. ….. C n1 C n2 ….. C nn 81 0, si el i-ésimo trabajo no se asigna a la j-ésima máquina 1, si el i-ésimo trabajo se asigna a la j-ésima máquina X ij = Máquina 1 2 ….. n 1 2 ….. n Trabajo 1 1 ….. 1 1 1 ….. 1 Por lo tanto el modelo está dado por: 82 minimizar z = ¿¿ = = n i n j ij ij x c 1 1 sujeto a 1 1 = ¿ = n j ij x i=1,2, ...,n 1 1 = ¿ = n i ij x j=1,2,..n x ij = 0 ó bien 1 Ejemplo: 83 La gerencia general de RPG (ejemplo de transporte) con sede en Bruselas, este año, como parte de su auditoría anual, decidió que cada uno de sus cuatro vicepresidentes visite e inspeccione cada una de sus plantas de ensamblaje durante las primeras dos semanas de junio. Las plantas están ubicadas en Leipzig (Alemania), Nancy (Francia, Lieja (Bélgica) y Tilburgo (Holanda). Para decidir a que vicepresidente enviar a una planta determinada, se asignaron puntos (costos) a cada uno de ellos de acuerdo a su experiencia, habilidades lenguísticas, tiempo que durará la inspección y otros. Estos datos se muestran en la siguiente tabla: Ejemplo 84 PLANTA Leipzig (1) Nancy(2) Lieja (3) Tilburgo(4) Finanzas (F) (1) 24 10 21 11 Mercadotecnia(M) (2) 14 22 10 15 Operaciones (O) (3) 15 17 20 19 Personal(P) (4) 11 19 14 13 Plantear el modelo de PL Ejemplo: Modelo de PL 85 MIN Z = 24 X 11 + 10 X 12 + ... + 14 X 43 + 13 X 44 sujeto a: a) Oferta X 11 + X 12 + X 13 + X 14 = 1 X 21 + X 22 + X 23 + X 24 = 1 X 31 + X 32 + X 33 + X 34 = 1 X 41 + X 42 + X 43 + X 44 = 1 b) Demanda X 11 + X 21 + X 31 + X 41 = 1 X 12 + X 22 + X 32 + X 42 = 1 X 13 + X 23 + X 33 + X 43 = 1 X 14 + X 24 + X 34 + X 44 = 1 c) No negatividad X ij >= 0 i=1,...,4, j=1,....,4 Métodos de Solución 86 Existen varias formas de obtener la solución: a) Listar todas las alternativas posibles con sus costos y seleccionar la de menor costo (algoritmo exhaustivo) b) Método Húngaro: método iterativo a) Listar todas las alternativas: ¿Cuántas alternativas posibles existen? - El primer trabajo se puede asignar de n formas formas posibles - El segundo de n-1 formas - El último sólo de 1 forma En total existen n! formas de hacer la asignación completa Método Húngaro: 87 Paso 0: Construir la matriz de asignación Para obtener la solución óptima cada nueva matriz de asignación debe satisfacer: Propiedad 1: Todos los números son no negativos Propiedad 2: Cada fila y cada columna tiene al menos una celda con un valor cero Paso 1: a) Reducción de filas: Restar el costo menor de cada fila a la fila correspondiente y/o b) Reducción de columnas: Restar el costo menor de cada columna a la columna correspondiente Con esto se crea una nueva matriz con las propiedades 1 y 2 Método Húngaro: 88 Paso 2: Determinar si la matriz es reducida (Prueba de Optimalidad). Trazar el menor número de líneas rectas sobre las filas y columnas para cubrir todos los ceros. Si el número de rectas es igual al número de filas o columnas se dice que esta matriz es reducida. Si la matriz no es reducida pasar al paso 3, sino pasar al paso 4 Método Húngaro: 89 Paso 3: Movimiento De todas las celdas no cruzadas identifique una con el menor valor y haga lo siguiente: a) Restar el valor a cada celda no cruzada b) Sumar el valor a cada celda de intersección de rectas Volver al paso 2 Método Húngaro: 90 Paso 4: Solución óptima (Asignación) Primero se asigna a las que tengan sólo una alternativa, se van marcando y así sucesivamente Determinar el costo: Se suman todos los costos correspondientes a las asignaciones (o sumar todos los p i y q j) . ¿Qué valor se obtiene al sumar todos los valores que se restaron en las reducciones de filas y columnas? Ejemplo: Aplique el método Húngaro al ejemplo 91 1 2 3 4 p i F 24 10 21 11 M 14 22 10 15 O 15 17 20 19 P 11 19 14 13 q j Paso 0: Matriz de Asignación Nota: En negrita los menores de cada fila Paso 1: Reducción de filas y columnas 92 1 2 3 4 p i F 14 0 11 1 10 M 4 12 0 5 10 O 0 2 5 4 15 P 0 8 3 2 11 q j 1 1 2 3 4 p i F 14 0 11 0 10 M 4 12 0 4 10 O 0 2 5 3 15 P 0 8 3 1 11 q j 1 Paso 2: Determinar si la matriz es reducida 93 1 2 3 4 p i F 14 0 11 0 10 M 4 12 0 4 10 O 0 2 5 3 15 P 0 8 3 1 11 q j 1 No es reducida: sólo tres rectas (para ser reducida deben ser 4) Ir al paso 3 Paso 3: Movimiento (Seleccionar el menor: restar a las no tachadas, sumar a las intersecciones) 94 1 2 3 4 p i F 14 0 11 0 10 M 4 12 0 4 10 O 0 2 5 3 15 P 0 8 3 1 11 q j 1 1 2 3 4 p i F 15 0 12 0 10 M 4 11 0 3 10 O 0 1 5 2 15 P 0 7 3 0 11 q j 1 + 1 Volver al paso 2 !! Iteración paso 2: 95 1 2 3 4 p i F 15 0 12 0 10 M 4 11 0 3 10 O 0 1 5 2 15 P 0 7 3 0 11 q j 1 + 1 Se tachan todos los ceros con cuatro rectas, por tanto es óptima Ir al paso 4 !! Paso 4: Asignación 96 1 2 3 4 p i F 15 0 12 0 10 M 4 11 0 3 10 O 0 1 5 2 15 P 0 7 3 0 11 q j 1 + 1 Costo = c 12 + c 23 + c 31 +c 44 = 10+10+15+13 = 48 ¿ ¿ + = j i q p Costo =10 + 10 + 15 + 11 + 1 + 1 = 48 Ver Asignación RPG Modelo de Asignación: Otras consideraciones 97 El modelo de asignación de RPG es un modelo de minimización en el cual el número de vicepresidentes es igual al número de plantas, y todas las asignaciones posibles son aceptables. Consideremos ahora modelos tipo asignación donde no todas las condiciones anteriores se cumplen. En particular se considerarán situaciones en las que: 1 Hay una desigualdad entre el número de “personas” por asignar y el número de “destinos” que requieren personas asignadas. 2 Hay un modelo de maximización 3 Existen asignaciones inaceptables Modelo de Asignación: Otras consideraciones 98 1. Ofertas y demandas desiguales a) Oferta mayor que la demanda Suponer que el presidente de RPG quiere auditar a la planta de Tilburgo, por tanto tendrá que decidir cual de los cuatro vicepresidentes debe asignar a cada una de las tres plantas restantes. Solución: Se elimina la restricción que requería un vicepresidente para Tilburgo. El resultado de este cambio es que la holgura para uno de los cuatro vicepresidentes será 1 en la nueva solución óptima Ver Asignación RPG (O>D) Modelo de Asignación: Otras consideraciones 99 1. Ofertas y demandas desiguales b) Demanda mayor que la oferta Suponer que el vicepresidente de Personal tiene que viajar a Illinois durante la primer semana de junio, por lo tanto no puede participar en la auditoría en Europa. Solución: Se agrega un vicepresidente ficticio (igual al modelo de transporte) para obtener una solución factible, pero es claro que una de las plantas quedará sin auditar. Modelo de Asignación: Otras consideraciones 100 2. Hay un modelo de maximización La respuesta de asignación es un beneficio y no un costo Ejemplo: Suponga que RPG tiene que asignar vendedores a sus territorios de venta. Existen cuatro personas bien capacitadas listas para ser asignadas y tres territorios requieren un nuevo vendedor. Uno de los vendedores no será asignado. En este caso la asignación de un vendedor cualquiera a un territorio se mide por el incremento marginal esperado en la contribución de dicha asignación a las ganancias. Modelo de Asignación: Otras consideraciones 101 2. Hay un modelo de maximización La matriz de ganancia es la siguiente Contribución del Vendedor\a Territorio 1 Territorio 2 Territorio 3 A 40 $ 30 $ 20 $ B 18 $ 28 $ 22 $ C 12 $ 16 $ 20 $ D 25 $ 24 $ 27 $ Ver Asignación Vendedores RPG Modelo de Asignación: Otras consideraciones 102 3. Situaciones con asignaciones inaceptables Ejemplo: Suponga que el presidente de RPG no tiene el menor deseo de que el vicepresidente de Operaciones realice una auditoría a la Planta Nancy. Solución: Asignar un costo arbitrariamente alto a esta “ruta”, de tal modo que al restar de él cualquier número finito se obtiene siempre un valor mayor que otros números relevantes Ver Asignación RPG inaceptable 2.3 Modelo de Transbordo 103 Este modelo permite que las unidades no vayan directamente desde un origen a un destino, sino que pasen por nodos intermedios o transitorios. Cada origen, punto intermedio y destino final se representan como nodos y se conectan a través de arcos dirigidos Restricción en cada nodo transitorio: suma flujos entrantes = suma flujos saliente También se puede representar por medio de una matriz donde un m ij = 1 cuando existe un enlace directo entre el nodo i y el nodo j; y m ij = 0 cuando no hay enlace directo entre estos nodos Modelo de Transbordo: Algoritmo 104 I nicialización: Encuentre un plan de embarque factible que satisfaga todas las restricciones de suministro y demanda, al mismo tiempo que mantiene un equilibrio en todos los nodos de transbordo. Prueba de Optimalidad: Pruebe el plan de embarque actual para ver si es óptimo, es decir, si es el plan que incurre en los costos totales mínimos. Si es así, deténgase con la solución óptima, sino vaya al paso 3. Movimientos: Use el hecho de que el plan de embarque actual no es óptimo para crear un nuevo plan de embarque factible con menos costo total que el actual. Vaya al paso 2. 1 2 3 Consideraciones: 105 • Los pasos del algoritmo son análogos a los del algoritmo de pasos sucesivos (escalón). • Tanto los nodos origen como los destinos pueden ser a su vez nodos de transbordo. • Al igual que el modelo de transporte, puede haber desequilibrio, en ese caso se agregan fuentes o destinos ficticios con costo cero. • El numero total del sistema está dado por el total de la oferta o de la demanda. • A cada nodo de transbordo se asigna un suministro (demanda) igual a su suministro (demanda) original (cero, si no coincide originalmente con un destino) más el total de unidades del sistema. Esto permite que todas las unidades puedan pasar por un empalme dado. Ejemplo 1: 106 Determínese un programa de embarque que cubra todas las demandas a un costo mínimo total para los datos correspondientes al siguiente grafo (costo en $). 3 4 2 4 3 7 2 1 3 5 2 4 6 +95 -30 +70 +15 -30 -45 8 Solución 107 • Los sitios 1 y 2 son orígenes • Los sitios 5 y 6 son destinos • El sitio 3 es origen y empalme • El sitio 4 es destino y empalme • La oferta es mayor que la demanda por tanto se requiere un destino ficticio que demande 75 unidades • Agregar 180 unidades a cada empalme (oferta y demanda) • El costo de las unidades que van de un empalme (como origen) a él mismo (como destino) y de cualquier origen al sitio ficticio es cero. • A las rutas no permitidas se les asocia un valor relativamente alto (por 1.000) La tabla inicial es: 108 3 4 5 6 F Oferta 1 95 3 1000 8 1000 0 2 70 2 7 1000 1000 0 3 195 0 3 4 4 0 4 180 1000 0 1000 2 0 Demanda 180 210 30 45 75 O r í g e n e s Destinos La tabla final es: 109 3 4 5 6 F Oferta 1 20 75 95 3 1000 8 1000 0 2 70 70 2 7 1000 1000 0 3 90 30 30 45 195 0 3 4 4 0 4 180 180 1000 0 1000 2 0 Demanda 180 210 30 45 75 Destinos O r í g e n e s Costo = 20*3+75*0+70*2+90*0+30*3+30*4+45*4+180*0=$590 Ejemplo 2: 110 Una corporación necesita transportar 70 unidades de un producto, del sitio 1 a los sitios 2 y 3 en cantidades de 45 y 25 unidades, respectivamente. Las tarifas c ij (en miles de pesos por unidad) de carga aérea entre los sitios comunicados por carguero se dan en la tabla, en la cual las líneas punteadas indica que no hay servicio disponible. Determínese un programa de embarque que asigne el número requerido de artículos a cada destino, a un costo mínimo de transporte. Ningún embarque requiere de vuelo directo, se permiten los envíos empleando puntos intermedios. 1 2 3 4 1 .... 38 56 34 2 38 ... 27 ... 3 56 27 ... 19 4 34 ... 19 ... Ejemplo 3: 111 1 2 3 4 5 7 6 8 9 10 11 100 200 150 120 80 70 110 2 3 4 4 4 5 5 6 6 6 7 7 7 8 8 Nodos de transbordo Planteamiento del modelo PL : 112 Plantear el modelo de PL para el ejemplo mostrado en el grafoanterior. 2.4. Modelos de Redes 113 2.4.1 Teoría de Grafos 2.4.2 Modelo de la Ruta más corta 2.4.3 Modelo del Árbol Expandido Mínimo 2.4.4 Problema del Flujo Máximo 2.4.1 Introducción a la Teoría de Grafos 114 Grafo no dirigido: Un grafo no dirigido G consiste en un conjunto V de vértices (o nodos) y un conjunto E de lados (ramas o enlaces) tales que cada lado e ε E está asociado a un par no ordenado de vértices v y w. Si un lado e está asociado a un único par de vértices v y w, entonces e= (v,w) o e=(w,v). Grafo dirigido: Un grafo dirigido (o digrafo) G consiste en un conjunto V de vértices (o nodos) y un conjunto E de lados (o ramas) tales que cada lado e ε E está asociado a un par ordenado de vértices. Si un lado e está asociado a un par ordenado único de vértices v y w, se escribe e = (v,w). 2.4.1 Introducción a la Teoría de Grafos 115 Se dice que un lado e = (v,w) de un grafo (dirigido o no dirigido) es incidenteen v y w. Se dice que los vértices v y w son incidentes en e y también son vértices adyacentes. Si G es un grafo (dirigido o no dirigido) con un conjunto de vértices V y un conjunto de lados E, se escribe G = (V,E) Nodo (Vértice): Un círculo de una red utilizada para representar una planta, almacén o tienda. Nodo de Suministro: Nodo desde le cual los productos se van a enviar. 2.4.1 Introducción a la Teoría de Grafos 116 Nodo de demanda: Nodo que va a recibir los productos para cumplir con una demanda conocida. Nodo de transbordo: Nodo que recibe productos desde otros nodos para su distribución. Arco (enlace): Línea de una red que conecta un par de nodos. Se le utiliza para representar una ruta válida desde el nodo origen al nodo de distribución. 2.4.1 Introducción a la Teoría de Grafos 117 Arco dirigido: Indica el sentido de movimiento de los productos. Camino: Una secuencia de nodos en una red unidos por arcos (dirigidos o no dirigidos) Trayectoria (lazo): Es un camino cerrado (ciclo) donde el primer nodo es a su vez el último. 2.4.1 Introducción a la Teoría de Grafos 118 Representación Matricial i) Matriz de Adyacencia ii) Matriz de costo (beneficio) Representación de un grafo: Un grafo se puede representar matemáticamente como: a) Una matriz b) Una lista enlazada c) Árbol 2.4.1 Introducción a la Teoría de Grafos (cont.) 119 Matriz de Adyacencia: Para un grafo G, es una matriz A de dimensión NxN, donde A[i,j] es verdadero (1) si, y sólo si, existe un arco que vaya del vértice i al vértice j. En ausencia de arco directo se representa generalmente por 0. Ejemplo:Dado el siguiente grafo encontrar su matriz de adyacencia 2.4.1 Introducción a la Teoría de Grafos (cont.) 120 2 3 4 1 1 2 3 4 1 1 1 2 1 3 1 4 1 2.4.1 Introducción a la Teoría de Grafos (cont.) 121 Matriz de Costo: Para un grafo G etiquetado, es una matriz C de dimensión NxN, donde A[i,j] es el costo (valor de la etiqueta) si, y sólo si, existe un arco que vaya del vértice i al vértice j. En ausencia de arco directo se representa generalmente por infinito (costo extremadamente alto, para la simulación se hace uso de un valor fuera de contexto). Ejemplo:Dado el siguiente grafo encontrar su matriz de costo 2.4.1 Introducción a la Teoría de Grafos (cont.) 122 2 3 4 1 1 2 3 4 1 10 15 2 12 3 20 4 5 10 15 20 12 5 2.4.1 Introducción a la Teoría de Grafos (cont.) 123 Para un grafo no dirigido, tanto la matriz de adyacencia como la matriz de costo son simétricas, esto es: A[i,j] = A[j,i] ó C[i,j] = C[j,i] Ejemplo Introductorio 124 Seymour Miles es el gerente de distribución de Zigwell. Zigwell distribuye sus motores oruga en cinco estados del medio oeste. Por lo regular, Seymour Miles tiene 10 aparatos E-9 in situ en lo que designaremos como local 1. Estos tractores deben ser enviados a los dos locales de construcción más importantes designados como 3 y 4. Se necesitan tres E-9 en el local 3 y siete en el local 4. Debido a itinerarios arreglados con anterioridad, relativos a la disponibilidad de conductores, los tractores solo pueden ser distribuidos de acuerdo con las rutas alternativas que se muestran en el grafo de la figura. La figura tiene un número +10 en el nodo 1, esto significa que hay 10 aparatos E-9 disponibles (oferta). Los indicadores -3 y -7 asociados a los locales 3 y 4, respectivamente, denotan los requerimientos (demandas) de éstos. 125 1 2 4 5 3 c 12 c 34 c 24 c 25 c 54 u 43 c 53 c 23 +10 -3 -7 Rutas alternativas para el destino 3 1-2-3, 1-2-4-3, 1-2-5-4-3, 1-2-5-3 u 12 u 23 u 34 c 43 u 53 c 54 u 25 u 24 126 Los costos c ij son unitarios. Por ejemplo el costo de recorrer el arco (5,3) es c 53 por cada tractor. Debido a los acuerdos sostenidos con los conductores, Zigwell debe cambiarlos en cada local que se encuentre sobre la ruta. Las limitaciones en la disponibilidad de conductores ocasionan que haya una cota superior en el número de tractores que pueden recorrer cualquier arco dado. Por ejemplo: u 53 es la cota superior o capacidad en el arco (5,3). El problema de Sygmour consiste en encontrar un plan de embarque que satisfaga la demanda y las restricciones de capacidad a costo mínimo. 127 El problema en particular se conoce como modelo de transbordo con capacidades. Expresar el problema como un PL a) Variables de decisión x ij = número total de E-9 que se enviarán a través del arco (i,j). = flujo del nodo i al nodo j 128 b) Función Objetivo MIN Z =C 12 X 12 +C 23 X 23 +C 24 X 24 +C 25 X 25 +C 34 X 34 +C 43 X 43 +C 53 X 53 +C 54 X 54 la red (i,j) de ar todos los c x ij ij cos , 0 s s c) Restricciones s a + X 12 = 10 - X 12 +X 23 +X 24 +X 25 = 0 -X 23 -X 43 -X 53 +X 34 = -3 -X 24 +X 43 -X 34 -X 54 = -7 -X 25 +X 53 +X 54 = 0 Balance de flujo Matriz Incidencia nodo-arco 129 a r c o Nodo (1,2) (2,3) (2,4) (2,5) (4,3) (5,3) (3,4) (5,4) LD 1 +1 0 0 0 0 0 0 0 10 2 -1 +1 +1 +1 0 0 0 0 0 3 0 -1 0 0 -1 -1 +1 0 -3 4 0 0 -1 0 +1 0 -1 -1 -7 5 0 0 0 -1 0 +1 0 +1 0 Formulación General del Modelo de Transbordo con Capacidades 130 X ij denotan el flujo del nodo i al nodo j a lo largo del arco que conecta esos nodos. Lj representa la oferta en el nodo j ij ij ij x c ¿ s.a. minimice n j L x x j k kj k jk ,...., 2 , 1 , = = ÷ ¿ ¿ la red (i,j) de ar todos los c x ij ij cos , 0 s s Resolver para las siguientes capacidades y costos 131 Capacidad de\ a Sitio 1 Sitio 2 Sitio 3 Sitio 4 Sitio 5 Sitio 1 10 Sitio 2 4 3 3 Sitio 3 2 Sitio 4 4 Sitio 5 3 5 Costo Unitario de\ a Sitio 1 Sitio 2 Sitio 3 Sitio 4 Sitio 5 Sitio 1 $100 Sitio 2 $45 $50 $20 Sitio 3 $60 Sitio 4 $85 Sitio 5 $10 $55 Ver transbordo con capacidades 2.4.2 Modelo de la Ruta más corta 132 Se pueden dar dos casos para representar la red: Como grafo no dirigido Como grafo dirigido Situaciones: a b Cualquiera que sea el caso corresponde a grafos ponderados (con peso) 2.4.2 Modelo de la Ruta más corta 133 Considerénse todos los nodos que estén directamente conectados con el origen. Etiquetarlos con la distancia al origen y su nodo predecesor. Etiquetas temporales, [distancia, nodo]. De entre todos los nodos con etiquetas temporales, escoger el que tenga la distancia menor y se marca como permanente. Si todos están con etiquetas permanentes se va al paso cuatro. a) Algoritmo: Grafo no dirigido 1 2 2.4.2 Modelo de la Ruta más corta (GND) 134 Todo nodo que no tenga etiqueta permanente, tendrá etiqueta temporal o estará sin etiqueta. Sea L el último nodo con etiqueta permanente. Considerénse todas las etiquetas de los vecinos de L (directamente conectados a L mediante un arco). Para cada uno de estos nodos calcúlese la suma de su distancia a L. Si el nodo en cuestión no está etiquetado, asígnese una etiqueta temporal que conste de esta distancia y de L como predecesor. Si el nodo en cuestión ya tiene etiqueta temporal, cámbiese sólo si la distancia recién calculada es menor que la componente de distancia de la etiqueta actual. En este caso, la etiqueta contendrá esta distancia y a L como predecesor. Regresar al paso 2 3 Algoritmo: 2.4.2 Modelo de la Ruta más corta (GND) 135 Las etiquetas permanentes indican la distancia más corta entre el nodo origen a cada nodo de la red. También indican el nodo predecesor en la ruta más corta hacia cada nodo. Para encontrar el camino más corto de un nodo dado, comiéncese en él y retroceda al nodo anterior. Continuar con el recorrido hasta llegar al origen. Algoritmo: 4 2.4.2 Modelo de la Ruta más corta (GND) 136 Ejemplo: Para el siguiente grafo encontrar la distancia más corta desde el nodo H al resto de los nodos. H 1 2 3 4 5 6 7 8 4 1 1 1 1 2 2 7 6 3 3 3 2.4.2 Modelo de la Ruta más corta (GND) 137 Solución: H 1 2 3 4 5 6 7 8 4 1 1 1 1 2 2 7 6 3 3 3 (8,H) (4,H) (5,1) (6,3) (8,2) (6,3) (9,4) (9,7) ó 1:Ver ejemplo 1 Ruta mas corta 2: Hacer problema 19 guía 2 (Ejemplo 2 Ruta mas corta 2.4.2 Modelo de la Ruta más corta (GD) 138 Es una técnica exhaustiva, esto es, prueba todas las alternativas posibles. Opera a partir de un conjunto S de vértices cuya distancia más corta desde el origen ya es conocida. Inicialmente S contiene sólo el nodo de origen. En cada paso se agrega algún vértice restante v a S, cuya distancia desde el origen es la más corta posible. Para cada paso del algoritmo, se utiliza una matriz D para registrar la longitud del camino más corto a cada vértice. b) Algoritmo de Dijkstra 2.4.2 Modelo de la Ruta más corta (GD) Algoritmo de Dijkstra 139 INICIO 0) V = {1, 2, 3, 4, ..., n} 1) S = {1} // nodo 1 se supone que es el origen 2) Para i=2 Hasta n Hacer 3) D i = C 1i 4) Para i=1 Hasta n-1 Hacer 5) Elegir un vértice w en V-S tal que D w sea un mínimo 6) agregar w a S 7) Para cada vértice v en V-S Hacer SI ((Dw+Cwv)<Dv) //Pv = w Dv = Dw+Cwv 8) //D v =mínimo(D v ,D w +C wv ) FIN 2.4.2 Modelo de la Ruta más corta (GD) Algoritmo de Dijkstra 140 Ejemplo: Aplicar el algoritmo al siguiente grafo dirigido 10 100 60 50 30 10 2 1 3 4 5 20 2.4.2 Modelo de la Ruta más corta (GD) Algoritmo de Dijkstra 141 Inicial 0) V = {1, 2, 3, 4, 5} 1) S = {1} 2) 3) D 2 = 10, D 3 = inf, D 4 =30, D 5 = 100 4) Iterar 4 veces 5) Seleccionar nodo con distancia más corta de V-S, En el ejemplo es el nodo 2 Iteración S w D 2 D 3 D 4 D 5 Inicial {1} -- 10 inf 30 100 2.4.2 Modelo de la Ruta más corta (GD) Algoritmo de Dijkstra 142 6) Agregar el nodo 2 a S : S = {1,2} 7) Iterar |V-S|, (V-S = {3,4,5}) D 3 =mínimo(D 3 ,D 2 +C 23 ) =mínimo(inf,10+50) = 60 D 4 =mínimo(D 4 ,D 2 +C 24 ) =mínimo(30,10+inf) = 30 D 5 =mínimo(D 5 ,D 2 +C 25 ) =mínimo(100,10+inf) = 100 Iteración S w D 2 D 3 D 4 D 5 Inicial {1} -- 10 inf 30 100 1 {1,2} 2 10 60 30 100 2.4.2 Modelo de la Ruta más corta (GD) Algoritmo de Dijkstra 143 2a Iteración V-S = {3,4,5} 5) w = 4 6) S = {1,2,4} 7) Iterar |V-S| V-S = {3,5} D 3 =mínimo(D 3 ,D 4 +C 43 ) =mínimo(60,30+20) = 50 D 5 =mínimo(D 5 ,D 4 +C 45 ) =mínimo(100,30+60) = 90 Iteración S w D 2 D 3 D 4 D 5 Inicial {1} -- 10 inf 30 100 1 {1,2} 2 10 60 30 100 2 {1,2,4} 4 10 50 30 90 2.4.2 Modelo de la Ruta más corta (GD) Algoritmo de Dijkstra 144 3a Iteración V-S = {3,5} 5) w = 3 6) S = {1,2,4,3} 7) Iterar |V-S| (V-S = {5}) D 5 =mínimo(D 5 ,D 3 +C 35 ) =mínimo(90,50+10) = 60 Iteración S w D 2 D 3 D 4 D 5 Inicial {1} -- 10 inf 30 100 1 {1,2} 2 10 60 30 100 2 {1,2,4} 4 10 50 30 90 3 {1,2,4,3} 3 10 50 30 60 2.4.2 Modelo de la Ruta más corta (GD) Algoritmo de Dijkstra 145 4a Iteración V-S = {5} 5) w = 5 6) S = {1,2,4,3,5} 7) Iterar |V-S| (V-S = {}) Iteración S w D 2 D 3 D 4 D 5 Inicial {1} -- 10 inf 30 100 1 {1,2} 2 10 60 30 100 2 {1,2,4} 4 10 50 30 90 3 {1,2,4,3} 3 10 50 30 60 4 {1,2,4,3,5} 5 10 50 30 60 Tabla Final ¿Cuál es el camino? 146 Para conocer el camino hay que incluir otra matriz P de vértices, tal que P v contenga el vértice inmediato anterior a v en el camino más corto. Se asigna a P v valor inicial 1 para todo v = 1 La matriz P se actualiza después de la línea 8. Si D w + C wv < D v en la línea 8, después se hace P v = w Al término de la corrida del algoritmo, el camino a cada vértice puede encontrarse regresando por los vértices predecesores de la matriz P ¿Cuál es el camino? 147 Para el ejemplo, la matriz P debe tener los valores P 2 =1, P 3 = 4, P 4 = 1, P 5 = 3 Para encontrar el camino más corto del vértice 1 al 5, se siguen los predecesores en orden inverso. 3 es el predecesor de 5 4 es el predecesor de 3 1 es el predecesor de 4 Problema de los caminos más cortos entre todos los pares de nodos 148 Para visualizar el problema se emplea un grafo dirigido G = (V,A) en el que cada arco v÷ w tiene un costo no negativo C v,w . El problema consiste en encontrar el camino de longitud más corta (menor costo) entre v y w para cada par ordenado de vértices (v,w). Algoritmo de Floyd Se utiliza una matriz A, donde A ij = C ij para toda i= j, si no existe camino directo entre i y j se supone que C ij = inf. Cada elemento de la diagonal se hace cero. Problema de los caminos más cortos entre todos los pares de nodos 149 Después se hacen n iteraciones en la matriz A. Al final de la k-ésima iteración A ij tendrá por valor la longitud más pequeña de cualquier camino que vaya desde el vértice i hasta el vértice j y que no pase por un vértice mayor que k. Esto es, i y j, los vértice extremos del camino, pueden ser cualquier vértice, pero todo vértice intermedio debe ser menor o igual a k. En la k-ésima iteración se aplica la siguiente fórmula para calcular A k-1 A ij k A ij = min k-1 A ik + k-1 A kj Problema de los caminos más cortos entre todos los pares de nodos 150 Para calcular A ij, se compara k-1 A ij , el costo de ir de i a j sin pasar por k o cualquier otro nodo con numeración mayor, con k-1 A ik + k-1 A kj , el costo de ir primero de i a k y después de k a j, sin pasar a través de un vértice mayor que k. Si el paso por el vértice k produce un camino más económico que el de k-1 A ij , se elige ese costo para k A ij . k-1 A ij i k j Problema de los caminos más cortos entre todos los pares de nodos 151 Algoritmo de Floyd // Se supone que se cuenta con la matriz de costo C 0) INICIO 1) Desde i = 1 Hasta N 2) Desde j = 1 Hasta N 3) A ij ÷C ij 4) Desde i = 1 Has ta N 5) A ii = 0 6) Desde k = 1 Hasta N 7) Desde i = 1 Hasta N 8) Desde j = 1 Hasta N 9) SI (A ik + A kj < A ij ) 10) Aij = A ik + A kj 11) FIN Problema de los caminos más cortos entre todos los pares de nodos 152 Recuperación de caminos para el Algoritmo de Floyd Cuando es de interés conocer el camino más corto entre dos vértices, hay que consignarlo en una matriz P, donde P ij tiene el vértice k que permitió a Floyd encontrar el valor menor de A ij . Si P ij es cero, el camino de i a j es directo. Problema de los caminos más cortos entre todos los pares de nodos 153 Algoritmo de Floyd Modificado 0) INICIO 1) Desde i = 1 Hasta N 2) Desde j = 1 Hasta N 3) A ij ÷C ij 3) P ij ÷0 4) Desde i = 1 Has ta N 5) A ii = 0 6) Desde k = 1 Hasta N 7) Desde i = 1 Hasta N 8) Desde j = 1 Hasta N 9) SI (A ik + A kj < A ij ) 10) Aij ÷A ik + A kj 10) P ij ÷k 11) FIN Problema de los caminos más cortos entre todos los pares de nodos 154 Ejemplo: Aplique Floyd al grafo ponderado mostrado en la figura 1 2 3 2 8 3 2 5 Problema de los caminos más cortos entre todos los pares de nodos 155 Solución: Tabla Inicial Nodos 1 2 3 1 0 8 5 2 3 0 inf 3 inf 2 0 0 A ij Problema de los caminos más cortos entre todos los pares de nodos 156 Solución: Después de la primera iteración 1 A ij Nodos 1 2 3 1 0 8 5 2 3 0 8 3 inf 2 0 Problema de los caminos más cortos entre todos los pares de nodos 157 Solución: Después de la segunda iteración 2 A ij Nodos 1 2 3 1 0 8 5 2 3 0 8 3 5 2 0 Problema de los caminos más cortos entre todos los pares de nodos 158 Solución: Después de la tercera iteración 3 A ij Nodos 1 2 3 1 0 7 5 2 3 0 8 3 5 2 0 2.4.3 Modelo de árbol extensión mínima 159 Un árbol es un grafo que tiene sus n nodos (vértices) conectados (conexo) con n-1 arcos (aristas), no existiendo ciclos (caminos cerrados) Definición 1 Definición 2 Un árbol de expansión de costo mínimo es aquel en que todos los enlaces tienen longitudes (costos) mínimas Algoritmo para el problema del árbol de expansión mínima. 160 Método Gráfico Se selecciona un nodo cualquiera y se conecta al nodo más cercano a éste. Se identifica el nodo no conectado más cercano a un nodo conectado y se conectan estos dos nodos Empates se deciden en forma arbitraria. Los empates indican que existen soluciones alternativas para la construcción. 1 2 Nota: 161 H 1 2 3 4 5 6 7 8 4 1 1 1 1 2 2 7 6 3 3 3 Ejemplo: Encontrar el AEM para el siguiente grafo 162 H 1 2 3 4 5 6 7 1 1 1 1 Solución : 2 2 4 163 Algoritmo tabular Paso Acción 0 Se construye la tabla de costos de enlaces 1 Se comienza arbitrariamente con cualquier nodo. Se designa a este nodo como conectado y se pone una marca al lado de la fila correspondiente al nodo. Se tacha el índice de la columna que corresponde a él. 2 Considerando todas las filas marcadas, buscar el mínimo en las columnas cuyo índice aún no haya sido tachado encerrándolo en un círculo. Designándose de esta manera el nuevo nodo conectado. Se tacha el índice de la columna y pone una marca en la fila correspondiente a este nodo. Se repite este paso hasta que todos los nodos estén conectados. 3 Los nodos encerrados en círculo identifican el árbol. 164 Aplicación Algoritmo tabular Nodo H 1 2 3 4 5 6 7 H 4 7 8 1 4 6 1 2 6 1 2 3 1 1 1 4 7 1 3 3 2 5 2 3 3 6 3 3 1 7 8 2 1 Tabla inicial 165 Aplicación Algoritmo tabular Inicio: Nodo H Nodo H 1 2 3 4 5 6 7 * H 4 7 8 * 1 4 6 1 2 6 1 2 3 1 1 1 4 7 1 3 3 2 5 2 3 3 6 3 3 1 7 8 2 1 a) b) 166 Aplicación Algoritmo tabular Nodo 1 Nodo H 1 2 3 4 5 6 7 * H 4 7 8 * 1 4 6 1 2 6 1 2 * 3 1 1 1 4 7 1 3 3 2 5 2 3 3 6 3 3 1 7 8 2 1 a) b) c) 167 Aplicación Algoritmo tabular Nodo H 1 2 3 4 5 6 7 * H 4 7 8 * 1 4 6 1 * 2 6 1 2 * 3 1 1 1 * 4 7 1 3 3 2 * 5 2 3 3 * 6 3 3 1 * 7 8 2 1 Tabla final a) b) c) 168 H 1 2 3 4 5 6 7 1 1 1 1 Arbol de expansión mínima : 2 2 4 2.4.4 Problema del Flujo Máximo 169 En este problema hay un solo nodo fuente (nodo de entrada) y un solo nodo destino (nodo de salida), y el resto son nodos de transbordo. El problema consiste en encontrar la máxima cantidad de flujo total (petróleo, gas, efectivo, mensajes, tránsito, etc.) en una unidad de tiempo. La cantidad de flujo por unidad de tiempo en cada arco está limitada por las restricciones de capacidad. Este problema se puede representar como una red dirigida y conexa. Descripción 170 Para cada nodo interno debe cumplirse que: flujo que sale del nodo = flujo que entra al nodo En términos formales, siendo 1 la fuente y n el destino el problema consiste en: MAX f f si i = 1 sujeto a si i = n 0 en otro caso 0 s x ij s u ij , para todos (i,j) de la red x ij : flujo por unidad de tiempo por el arco (i,j) u ij : capacidad del arco (i,j) f : flujo total a través de la red Descripción f x x j ji j ij ÷ = ÷ ¿ ¿ 171 Considérese la i-ésima restricción, para algún valor fijo de i, La suma se considera sobre toda j para la cual el arco (i,j) con i fijo, pertenezca a la red. Entonces, será el flujo total que sale del nodo i. En forma semejante, la suma se considera sobre toda j para la cual exista el arco (j,i) en la red, (i fijo). De modo que es el flujo que entra al nodo i Descripción ¿ j ij x ¿ j ji x ¿ j ij x 172 Antes de hacer la presentación formal del algoritmo, revisemos el siguiente ejemplo. Algoritmo 6 6 6 2 4 4 3 2 1 6 1 2 3 4 5 173 Grafo inicial: Inicialización delos flujos en cada nodo Algoritmo Consideremos un camino desde el nodo 1 al nodo 6 Ejemplo: 1-2-5-6 4 0 0 0 0 0 0 0 0 6 4 1 6 2 3 2 6 0 2 3 4 5 6 1 174 Se dice que la cantidad de flujo a lo largo de dicho recorrido es factiblesi: No excede la capacidad de ningún arco del camino Con excepción de los nodos 1 y 6, el flujo en cada nodo debe satisfacer la condición de conservación 1 2 La cantidadmáxima quepuedefluir desdela fuentea lo largo de un camino es igual a la menor de las capacidadesdelosarcosdedichocamino Al asignar un flujo a un arco nos atendremos a las reglas: 1 2 Se reduce la capacidad en la dirección del flujo (cantidad de flujo) Se aumenta la capacidad en sentido opuesto (cantidad de flujo) 175 Ejemplo: Considerar el arco 1-2 Asignar dos unidades a este arco: Aplicando las reglas 1 y 2 se tiene Se generó una capacidad ficticia en la dirección 2-1 Enviar una unidad de 2 a 1 1 2 (2 ) 2 2 1 2 4 0 1 2 (1 ) 1 3 Algoritmo 176 Inicializar cada nodo del grafo con capacidades u ij en la dirección del flujo y cero en la dirección opuesta. Encontrar cualquier camino de la fuente a destino que tenga capacidad de flujo positiva, si no los hay, se habrá encontrado la solución óptima. Sea c min la capacidad mínima de flujo entre los arcos seleccionados en el paso 1, se aumenta el flujo existente a través de la red al enviar un flujo adicional c min para todos los arcos del camino. Para todos los arcos del camino, disminúyanse las capacidades en la dirección del flujo y auméntese las capacidades en la dirección opuesta en c min . Volver al paso 1 Inicial 1 2 3 177 Aplicar el algoritmo al grafo del ejemplo: 4 0 0 0 0 0 0 0 0 6 4 1 6 2 3 2 6 0 2 3 4 5 6 1 Paso Inicial 178 Iteración 1: 4 0 0 0 0 0 0 0 0 6 4 1 6 2 3 2 6 0 2 3 4 5 6 1 Elegir arbitrariamente el camino 1-3-5-6 c min = MIN(6,4,2)=2; actualizando la red se tiene 4 2 2 2 0 2 2 2 179 Iteración 2: 4 0 0 0 0 0 0 0 0 6 4 1 2 2 3 2 2 0 2 3 4 5 6 1 4 2 0 2 2 6 Elegir arbitrariamente el camino 1-2-4-6 c min = MIN(4,6,6)=4; actualizando la red se tiene 4 0 6 4 6 4 2 6 2 2 180 Iteración 3: 4 0 0 0 0 0 2 0 0 6 4 1 0 2 1 2 0 0 2 3 4 5 6 1 2 4 0 2 2 8 Elegir arbitrariamente el camino 1-3-2-4-6 c min = MIN(4,3,2,2)=2; actualizando la red se tiene 4 0 6 4 6 6 2 8 2 2 4 2 3 0 2 6 2 4 6 6 181 Cálculo de la cantidad de flujo en cada arco Se determina comparando la capacidad inicial de cada arco con la capacidad inicial. Para cada arco la regla es: Si la capacidad final es menor que la capacidad inicial, calcular la diferencia. Esta es la cantidad del flujo a través del arco. Ejemplo: Arco 3-5 Inicial Final 2 2 3 5 0 4 3 5 Final < inicial entonces el flujo es 4-2=2 182 Aplicando la regla anterior a todos los arcos se tiene el siguiente grafo: 6 6 6 2 4 2 8 2 8 4 1 2 3 4 5 Unidad 3 Administración de Proyectos PERT y CPM 183 3 Administración de Proyectos (PERT y CPM) 184 1. ¿Cuándo sería lo más pronto que el proyecto pudiera estar terminado? 2. Para cumplir con este tiempo de conclusión, ¿qué tareas son críticas, en el sentido de que un retraso en cualquiera de esas tareas provoca un retraso en la conclusión del proyecto? 3. Es posible acelerar ciertas tareas para terminar todo el proyecto más pronto?. Si es así, ¿qué tareas serán éstas y cuál sería el costo adicional? Todo proyecto debe ser comprobado y controlado, dado que éste tiene involucrado numerosas tareas interrelacionadas. Através de algunas técnicas se puede responder a preguntas como: 185 Técnica de Evaluación de Proyectos (PERT, Program Evaluation and Review Technique): Método utilizado para administrar proyectos en que los tiempos requeridos para terminar las tareas individuales son inciertos(probabilísticos). Método de la Ruta Crítica (CPM, Critical Path Method): Método utilizado para administrar proyectos en que los tiempos requeridos para terminar las tareas individuales se conocen con relativacerteza(determinísticos). 3.1 Desarrollo de la Red de Proyectos 186 1. Identifique las tareas individuales que componen el proyecto 2. Obtenga una estimación del tiempo de conclusión de cada tarea. 3. Identifique las relaciones entre las tareas. ¿Qué tareas deben concluirse antes de que otras puedan iniciarse? 4. Dibuje un diagrama de red de proyecto para reflejar la información de los pasos 1 y 3 Para determinar el tiempo de conclusión de un proyecto puede usar los siguientes pasos: Ejemplo: Actividad Descripción Prdecesoras inmediatas Tiempo Recursos A Elegir local de oficinas - B Crear el plan financiero y de - C Determinar requerimientos de personal B D Diseño de local A, C E Construir el interior D F Elegir personal a mudar C G Contratar nuevos empleados F H Mudar registros, personal clave, etc. F I Hacer arreglos finacieros de la organización B J Entrenar personal nuevo H, E, G 187 Traslado de las oficinas de una ciudad a otra El directorio ha fijado un plazo máximo de 22 semanas para la mudanza Construcción del diagrama de Red: 188 1 2 3 4 A B C ¿Cómo agregamos la actividad D?. Sus predecesoras inmediatas son A y C, además C es predecesora directa de F Actividades Ficticias (figurada): 189 Es una actividad artificial que no requiere tiempo y que se incluye en una red de proyecto para asegurar la relación de precedencia correcta entre ciertas tareas. Generalmente se representan por líneas segmentadas. Se usan sólo para reflejar las relaciones de precedencia adecuadas 2 4 A C Volviendo al ejemplo: Agregando el resto de las actividades a la red finalmente se tiene 190 1 2 3 4 5 6 7 8 A B C D E F G H I J Siguiendo con el ejemplo: G y H tienen como predecesora inmediata F, además ambas son predecesoras de J, agregar actividad ficticia. 191 1 2 3 4 5 6 7 8 A B C D E F G H I J 9 Red Final Fic Ruta Crítica: Dar cumplimiento al plazo límite Actividad Descripción Prdecesoras inmediatas Tiempo Recursos A Elegir local de oficinas - 3 B Crear el plan financiero y de organización - 5 C Determinar requerimientos de personal B 3 D Diseño de local A, C 4 E Construir el interior D 8 F Elegir personal a mudar C 2 G Contratar nuevos empleados F 4 H Mudar registros, personal clave, etc. F 2 I Hacer arreglos finacieros de la organización B 5 J Entrenar personal nuevo H, E, G 3 192 Se requiere de las estimaciones de tiempo de cada actividad (supuestos) Retomando el ejemplo: Agregando los tiempos a las actividades 193 1 2 3 4 5 6 7 9 A B C D E F G H I J (3) (5) (3) (4) (8) (2) (4) (2) (5) (3) 8 Fic Cálculo de la ruta crítica: Tiempo de término del proyecto 194 Definiciones Tiempo de inicio más inmediato: El tiempo más cercano en que una tarea posiblemente pueda iniciarse (TI) Tiempodetérminomásbreve: El tiempo más corto en el que una tarea posiblemente pueda concluir (TT) Reglas a cumplir: 195 Dado que en el proyecto existen tareas predecesoras es necesario conocer cuando termina una y cuando empieza la otra: Regla 1. Para calcular el TI de una tarea se debe conocer los TT de cada tarea predecesora inmediata 2. El TI más inmediato de una tarea de la que se conocen los tiempos de término más breves de todas sus tareas predecesoras inmediatas es el máximo de todos esos tiempos de término más breves. 3. Tiempo de término más breve = (tiempo de inicio más inmediato) + (tiempo de tarea(t)) Pasos para determinar los TI y TT más inmediatos: 196 Paso 0 1 Identificar el nodo de inicio de la red del proyecto Calcule y escriba en cada arco saliente a) TI más cercano, esto es, 0 b) El TT más breve de acuerdo a la regla 3 TT más breve = (TI más inmediato) + (t) = 0 + t Seleccionar cualquier nodo donde todos los arcos entrantes han sido etiquetados con sus TI y TT Pasos para determinar los TI y TT más inmediatos: 197 Paso 2 Para el nodo seleccionado en el paso 1 calcule y registre en cada arco saliente a) El TI más breve de acuerdo a la regla 2 TI más breve = MAXIMO(TT de los arcos entrantes) b) El TT más breve de acuerdo a la regla 3 TT más breve = TI más inmediato + t Cálculo de TI y TT: 198 1 2 3 4 5 6 7 9 D[8,12] 8 Fic Identificación de las tareas críticas: 199 Para identificar las tareas críticas hay que realizar un recorrido hacia atrás hasta el inicio del proyecto, analizando cada tarea. 1. Último Tiempo de término: Lo más tarde que puede concluirse una tarea, en tanto permita que el proyecto se complete lo más pronto posible 2. Último tiempo de inicio: Lo más tarde que pueda iniciarse una tarea, pero finalizando dentro de su tiempo de término. 3. Tarea sucesora: Una tarea para la que la tarea de interés es una predecesora Identificación de las tareas críticas: 200 Para calcular el último tiempo de término (UTT) de una tarea particular, debe conocer los últimos tiempos de inicio (UTI) de cada tarea sucesora inmediata. Respecto a una tarea de la que se conocen los últimos tiempos de inicio de todas sus tareas sucesoras inmediatas, el último tiempo de término (UTT) de esa tarea es el mínimo de los últimos tiempos de inicio de todas las tareas sucesoras inmediatas UTI = UTT- t Regla 4 5 6 Identificación de las tareas críticas: Pasos para calcular los últimos tiempos de inicio y término 201 0 1 2 3 Identificar el final del proyecto. Calcular y escribir en cada arco entrante: a) Último tiempo de término del proyecto b) Último tiempo de inicio (Regla 6): UTI=UTT-t Seleccione un nodo, cuyos arcos salientes hayan sido etiquetados todos con sus UTI y UTT Para el nodo seleccionado (paso 1) calcule y escriba lo siguiente a) UTT= MIN(UTI arcos salientes), (regla 5) b) UTI=UTT - t (regla 6) Repetir pasos 1 y 2 hasta cubrir toda la red del proyecto Identificación de las tareas críticas: Cálculo de UTT y UTI para cada actividad 202 Iteración 2 Actividad ficticia UTT = 20 UTI = 20-0 = 20 Actividad I UTT = 23 UTI = 23-5 = 18 Nodo 7 Actividad E UTT = 20 UTI = 20-8 = 12 UTT = 20 UTI = 20-2 = 18 Iteración 1 Actividad H Nodo 9 Actividad J UTT = 23 UTI = 23-3 = 20 Identificación de las tareas críticas: Cálculo de UTT y UTI para cada actividad . Finalmente se tiene 203 1 2 3 4 5 6 7 9 8 D[8,12] [8,12] [ 5 , 8 ] Fic Identificación de las tareas críticas: 204 Holgura: Es la cantidad de tiempo que puede demorar una actividad sin afectar la fecha de término del proyecto. El valor de la holgura para cada actividad está dada por: holgura = TI - UTI = TT - UTT Ejemplo: Actividad C: TI = 5, UTI = 5, TT = 8, UTT = 8 Holgura = 5 - 5 = 8 - 8 = 0 Actividad I: TI = 5, UTI = 18, TT = 10, UTT = 23 La actividad C tiene holgura 0, por tanto no puede retrasarse, en cambio la actividad I tiene 13 semanas de holgura que permite retrasar su inicio. Identificación de las tareas críticas: 205 Resumen de los tiempos de las actividades del proyecto: Actividad Tiempo Inicio Término Inicio Término Holgura A 3 0 3 5 8 5 B 5 0 5 0 5 0 C 3 5 8 5 8 0 D 4 8 12 8 12 0 E 8 12 20 12 20 0 F 2 8 10 14 16 6 G 4 10 14 16 20 6 H 2 10 12 18 20 8 I 5 5 10 18 23 13 J 3 20 23 20 23 0 Tiempo más próximo de: Tiempo más lejano de: Tiempo de ejecución del proyecto: 23 semanas Identificación de las tareas críticas: 206 Actividad crítica es aquella que tiene holgura cero Ruta crítica es una secuencia de tareas (actividades) críticas que conecta el principio del proyecto con el fin En nuestro ejemplo: Actividades críticas: B, C, D, E y J Ruta crítica: Nodos 1-3-2-5-7-9 Actividades B-C-D-E-J Formas de Reducir la duración del proyecto: 207 1. Análisis Estratégico Aquí el analista se pregunta: “¿Este proyecto tiene que desarrollarse en la forma programada actualmente?”. En concreto, “¿Todas las actividades de la ruta crítica tienen que realizarse en el orden especificado?”. ¿Podemos hacer arreglos para efectuar algunas de estas actividades en forma distinta de cómo aparecen en la ruta crítica?. 2. Enfoque Táctico El analista presupone que el diagrama en curso es adecuado y trabaja para reducir el tiempo de ciertas actividades de la ruta crítica asignando mayores recursos. Por ejemplo tiempo, aumento de mano de obra, etc. Formas de Reducir la duración del proyecto: 208 Para el ejemplo en estudio, el directorio estimó un tiempo máximo de 22 semanas para realizar el proyecto, y según el estudio se ha determinado que se requieren 23 semanas, ¿Cómo soluciona Ud. el problema?. Realice distintos supuestos válidos para su solución. ¿Es única?. Formas de Reducir la duración del proyecto: Alternativa de solución 209 Realizados algunos estudios los responsables de la mudanza, se dan cuenta que la actividad J (entrenamiento de los nuevos empleados) debe realizarse en el nuevo edificio (después de completar la actividad E) y después de que el personal clave y de registros se haya mudado (al completar la actividad H). Estos requerimientos se podrían cambiar: • Realizar J independientemente de H • El entrenamiento realizarlo en otras dependencias a un costo reducido y que estén listos para cuando se termine la construcción. Esto requiere agregar otra actividad: Garantizar recursos de entrenamiento, actividad K Formas de Reducir la duración del proyecto: 210 Con los cambios anteriores, es posible que la red redefinida tenga una nueva ruta crítica con un tiempo menor, aunque todavía insatisfactorio (mayor a las 22 semanas establecidas). Diagrama de red para el proyecto redefinido 211 1 2 3 4 5 6 7 9 A B C D E F G H I J (3) (5) (3) (4) (8) (2) (4) (2) (5) (3) 8 K (3) Fic Actualización de los tiempos para el proyecto redefinido 212 Actividad Tiempo Inicio Término Inicio Término Holgura A 3 0 3 5 8 5 B 5 0 5 0 5 0 C 3 5 8 5 8 0 D 4 8 12 8 12 0 E 8 12 20 12 20 0 F 2 8 10 11 13 3 G 4 10 14 13 17 3 H 2 10 12 18 20 8 I 5 5 10 15 20 10 J 3 14 17 17 20 3 K 3 10 13 14 17 4 Tiempo más próximo de: Tiempo más lejano de: Actividades ruta crítica: B-C-D-E Duración del proyecto: 20 semanas 3.3 PERT: Variabilidad en los tiempos de Actividades 213 Hasta ahora hemos trabajado asumiendo que los tiempos de duración de las actividades eran determinísticos, en consecuencia TI, TT, UTI y UTT también fueron deducidos como deterministas. Como este supuesto no siempre es correcto, PERT emplea una fórmula especial para estimar los tiempos de las actividades. PERT requiere de alguien que conozca bien una actividad en cuestión, para producir tres estimaciones del tiempo de ésta. PERT: Variabilidad en los tiempos de Actividades 214 1. Tiempo optimista (denotado por a): el tiempo mínimo. Todo tiene que marchar a la perfección. 2. Tiempomásprobable(denotado por m): el tiempo que se necesita en circunstancias ordinarias. 3. Tiempo pesimista (denotado por b): el tiempo máximo. Situación que se da en el peor caso. PERT: Variabilidad en los tiempos de Actividades 215 Ejemplo: Para la actividad E (8 semanas). Al examinar en detalle el proyecto de construcción del interior se llegó a las siguientes estimaciones: a = 4 m = 7 b = 16 Para estimar el valor esperado y la desviación estándar de los tiempos de la actividad, se asume que el tiempo de la actividad es una variable aleatoria que tiene una distribución de probabilidad unimodal beta. PERT: Variabilidad en los tiempos de Actividades 216 4 7 8 16 a m b Estimación del tiempo esperado de actividad o tiempo promedio 6 4 b m a t e + + = Estimación de la desviación estándar del tiempo de la actividad 6 a b ÷ = o Distribución beta PERT: Variabilidad en los tiempos de Actividades 217 Estimación de tiempo Actividad a m b t e desv est varianza A 1,0 3,0 5,0 3,0 0,667 0,444 B 3,0 4,5 9,0 5,0 1,000 1,000 C 2,0 3,0 4,0 3,0 0,333 0,111 D 2,0 4,0 6,0 4,0 0,667 0,444 E 4,0 7,0 16,0 8,0 2,000 4,000 F 1,0 1,5 5,0 2,0 0,667 0,444 G 2,5 3,5 7,5 4,0 0,833 0,694 H 1,0 2,0 3,0 2,0 0,333 0,111 I 4,0 5,0 6,0 5,0 0,333 0,111 J 1,5 3,0 4,5 3,0 0,500 0,250 K 1,0 3,0 5,0 3,0 0,667 0,444 PERT: Variabilidad en los tiempos de Actividades 218 Cálculo del tiempo esperado de finalización de proyectos Una vez determinado el tiempo promedio de cada actividad, se puede calcular el tiempo de finalización más temprano esperado para el proyecto completo. Se determinan los tiempos de inicio y de término más cercano, como también los tiempos de término y de inicio más lejano. Con estos tiempos se determina la holgura en cada actividad, para finalmente determinar la ruta crítica, exactamente igual como se hizo para tiempo determinista. PERT: Variabilidad en los tiempos de Actividades 219 Probabilidad de concluir el proyecto a tiempo El análisis procede de la siguiente forma: 1. Sea T el tiempo total que durarán las actividades de la ruta crítica. 2. Encuéntrese la probabilidad de que el valor de T resulte menor o igual que cualquier valor específico de interés. Para el ejemplo en estudio buscaríamos T s 22 semanas. Una buena aproximación de esta probabilidad se encuentra aceptando dos supuestos: a) Los tiempos de actividad son variables aleatorias independientes. b) La variable T tiene una distribución aproximadamente normal. PERT: Variabilidad en los tiempos de Actividades 220 La meta es encontrar P{T s 22}, donde T es el tiempo a lo largo de la ruta crítica. Estadísticas de la ruta crítica: 2 2 2 2 1 ... n T o o o o + + + = Desviación estándar i o : i o Desviación estándar de i-ésima actividad de la ruta crítica T : es el tiempo esperado (promedio) 221 Estimación de terminación del proyecto Uso de la tabla de distribución normal, entonces debemos calcular Z para llegar a determinar la probabilidad. o µ ÷ = x Z 222 Cálculos caso en estudio Ruta crítica: B- C- D y E T = 20 (tiempo esperado, promedio calculado, µ) x = 22 (tiempo exigido) 357 , 2 555 , 5 4 444 , 0 111 , 0 1 2 2 2 2 2 2 2 = = + + + = + + + = T T T E D C B T o o o o o o o o 223 Cálculos caso en estudio Z = 0,8485 En la tabla de Z P(Zs 0,8485) = 0,80 357 , 2 20 22 ÷ = Z Matriz de Encadenamiento 224 Una matriz de encadenamiento, es una matriz de NxN (N es la cantidad de actividades) donde cada celda se marca con una X si la actividad de la fila requiere que esté terminada la actividad de la columna. Esta matriz ayuda a la construcción de la red CPM Para el ejemplo en estudio es: A B C D E F G H I J A B C X D X X F X G X H X I X J X X X 3.4 CPM: TRUEQUE ENTRE TIEMPO Y COSTO 225 CPM considera que el tiempo extra (costo) puede reducir el tiempo de término de una actividad, y en consecuencia reducir el tiempo total del proyecto Compra de tiempo: CPM usa dos estimaciones: tiempo y costo normal, a lo que se agregará tiempo y costo intensivo Se asume que estas estimaciones son lineales: Tiempo Esfuerzo normal Esfuerzo intensivo Red de tiempo mínimo – costo mínimo 226 Debido a las estimaciones de CPM se puede obtener dos redes extremas: 1. Red de costo normal 2. Red de costo intensivo ¿Todas las actividades deben realizarse en forma intensiva? 3. Red de tiempo mínimo—costo mínimo CPM: Trueque entre el costo y el tiempo Enfoques para encontrar red de tiempo mínimo – costo mínimo 227 1. Comenzar con la red normal e ir reduciendo los tiempos de término hasta un mínimo. 2. Comenzar con la red de todo intensivo y “desintensificar” actividades para reducir el costo sin afectar el tiempo total. 3. Comenzar con la ruta crítica de la red de todo intensivo con un tiempo mínimo, pero con todas la demás actividades normales. Después reducir las otras trayectorias como sea necesario. ¿Todos son igualmente eficaces? CPM: Trueque entre el costo y el tiempo Enfoque: Red normal y reducción de tiempos 228 CPM: Trueque entre el costo y el tiempo Proyecto: Construcción de una casa Actividad Precedencia Normal Intensivo Normal Intensivo A Costo A (1,2) ninguna 4 3 1.400 2.000 600 B (2,3) A 2 1 1.500 2.000 500 C (2,4) A 3 1 1.500 2.500 1.000 D (2,7) A 1 1 600 600 -- Fic(3,4) 0 0 -- -- -- E (4,5) B, C 3 2 1.300 2.000 700 F (4,6) B, C 2 1 300 500 200 G (5,7) E 2 1 800 1.200 400 H (6,7) F 2 1 600 1.000 400 Tiempo (semanas) Costo (miles $) Paso 1: Red del proyecto 229 CPM: Trueque entre el costo y el tiempo 2 3 6 5 7 E(3) G(2) H(2) D(1) 1 F(2) 4 C(3) Si consideramos la convención actividad-flecha, el grafo del proyecto es: B(2) A(4) Paso 2: Tiempos de Inicio y de Término, holgura y ruta crítica 230 CPM: Trueque entre el costo y el tiempo 2 3 6 5 7 H(2)[9,11] [10,12] 1 F(2)[7,9] 4 C(3)[4,7] En el grafo se muestran los tiempos de inicio y de término más próximos y los más lejanos, y la ruta crítica. El tiempo mínimo para la ruta crítica es de 12 semanas a un costo normal de $8.000. A(4)[0,4] 0 0 0 0 12 12 D(1)[4,5] [8,10] [4,7] [0,4] [11,12] Paso 2: Tabla de tiempos próximos y lejanos 231 CPM: Trueque entre el costo y el tiempo Tiempo Tiempo más próximo de: Tiempo más lejano de: Actividad Normal Inicio Término Inicio Término Holgura A (1,2) 4 0 4 4 4 0 B (2,3) 2 4 6 5 7 1 C (2,4) 3 4 7 4 7 0 D (2,7) 1 4 5 1 12 7 E (4,5) 3 7 10 7 10 0 F (4,6) 2 7 9 8 10 1 G (5,7) 2 10 12 10 12 0 H (6,7) 2 9 11 10 12 1 Actividades críticas Paso 3: “Intensificar” actividades ruta crítica 232 CPM: Trueque entre el costo y el tiempo a) Actividad A: de 4 a 3 semanas ( 600) b) Actividad C: de 3 a 1 semana (1.000) c) Actividad E: de 3 a 2 semanas ( 700) d) Actividad G: de 2 a 1 semana ( 400) ¿Es posible hacer estas reducciones? Reducción de Actividades ruta crítica 233 CPM: Trueque entre el costo y el tiempo 2 3 6 5 7 H(2)[9,11] 1 F(2)[7,9] 4 C(3 1) La ruta crítica disminuyó a 7 semanas, ¿seguirá manteniéndose como tal?. No Hay que ver si es posible reducir las actividades paralelas a la ruta crítica inicial, sólo hasta igualar tiempos. A(4 3) 0 0 0 0 D(1)[4,5] Paso 4: “Intensificar” actividades que no están en la ruta crítica (“paralelas”) 234 CPM: Trueque entre el costo y el tiempo a) Actividad B (paralela a C): de 2 a 1 semana (500) b) ¿Actividad F o H? (¿o ambas?). En este caso sólo F: de 2 a 1 semana (200) c) Actividad D: No requiere reducción Paso 4: Resumen de las reducciones 235 CPM: Trueque entre el costo y el tiempo Costo Actividad Acción Adicional Normal Total A (1,2) 1 semana 600 1.400 2.000 B (2,3) 1 semana 500 1.500 2.000 C (2,4) 2 semanas 1000 1.500 2.500 D (2,7) ----- 600 600 E (4,5) 1 semana 700 1.300 2.000 F (4,6) 1 semana 200 300 500 G (5,7) 1 semana 400 800 1.200 H (6,7) ----- 600 600 $ 8.000 $ 11.400 Grafo final 236 CPM: Trueque entre el costo y el tiempo 2 3 6 5 7 H(2)[5,7] [5,7] 1 F(1)[4,5] 4 C(1)[3,4] En el grafo se muestran los tiempos de inicio y de término más próximos y los más lejanos, y la ruta crítica. El tiempo mínimo para la ruta crítica es de 7 semanas a un costo normal de $11.400. A(3)[0,3] 0 0 0 0 7 7 D(1)[3,4] [4,5] [3,4] [0,3] [6,7] Red óptima 237 ¿Qué sucede si un proyecto lleva más tiempo del especificado? ¿Conviene hacer más “intensivo” el proyecto o pagar la penalización por atraso? Ejemplo: Suponga que en el proyecto de la casa hay una penalización de $450 por cada semana de tiempo extra después de ocho semanas. ¿Cuál es la red óptima?. Solución: Reducir la red en una semana cada vez e ir comparando si los costos por intensificar son menores a los costos por penalización. Se termina cuando los costos de penalización son mayor a los costos de intensificar. CPM: Trueque entre el costo y el tiempo Red óptima 238 1. Reducir una semana (de 12 a 11 semanas) De la red normal analizar ruta crítica Actividades Incremento de Costo A 600 C 500 E 700 G 400 Conclusión: Intensificar 1 semana la actividad G (400<450). 2. Intentar reducir una segunda semana (de 11 a 10) Todos los costos incrementales de la ruta son mayores a la penalización. Intentar por las vías paralelas. No hay rutas alternativas cuya reducción implique un costo menor al de penalización. CPM: Trueque entre el costo y el tiempo Solución 239 CPM: Trueque entre el costo y el tiempo 2 3 6 5 7 H(2) 1 F(2) 4 C(3) Grafo resultante A(4) D(1) Conviene hacer intensivo el proyecto hasta la semana 11 y pagar las penalizaciones por las semanas de atraso Costo total = Costo intensivo + costo penalización = (8.000 + 400) + 3*450 = $9.650 Ejemplo 240 CPM: Trueque entre el costo y el tiempo a) Dibuje la red. Con los tiempos normales de las actividades, encuéntrese la duración total del proyecto y la ruta crítica. b) Supóngase que el proyecto se debe completar en un tiempo mínimo. ¿Cuál es el menor costo para el proyecto, es decir, cuál es la red de tiempo mínimo—costo mínimo? c) ¿Cuál es el costo mínimo para terminar el proyecto en 17 meses? d) El departamento de comercialización dice que cada mes que el proyecto se pase de 15 meses le cuesta a la firma $5.000. ¿Cuál es el costo y duración óptimo del proyecto? Suponga que un proyecto de investigación tiene las siguientes estimaciones: Actividad Normal Intensivo Normal Intensivo A (1,2) 8 4 20.000 30.000 B (1,3) 9 6 18.000 27.000 C (2,3) 3 2 12.000 17.000 D (2,4) 10 7 25.000 34.000 E(3,4) 6 4 15.000 23.000 Tiempo (meses) Costo (miles $) Modelo de PL para CPM (Tiempo mínimo—costo mínimo) 241 CPM: Trueque entre el costo y el tiempo a) Identificación de Variables de decisión Están relacionadas directamente con el tiempo a reducir en cada tarea Y i : Tiempo (horas, días, ..) a reducir de la i-ésima actividad Y A : Número de semanas en las cuales acortar la actividad A b) Función Objetivo El objetivo es minimizar los recursos adicionales totales requeridos para satisfacer el tiempo de término del proyecto. Para el ejemplo en estudio, en la tabla de especificaciones agregamos dos columnas: Tiempo máximo a reducir por tarea y el costo adicional por semana intensiva Modelo de PL para CPM (Tiempo mínimo—costo mínimo) 242 CPM: Trueque entre el costo y el tiempo Por lo tanto la función es: MIN Z = 600Y A +500Y B +500Y C +700Y E +200Y F +400Y G +400Y H Actividad Precedencia Normal Intensivo Normal Intensivo A (1,2) ninguna 4 3 1.400 2.000 1 600 B (2,3) A 2 1 1.500 2.000 1 500 C (2,4) A 3 1 1.500 2.500 2 500 D (2,7) A 1 1 600 600 0 -- Fic(3,4) 0 0 -- -- 0 -- E (4,5) B, C 3 2 1.300 2.000 1 700 F (4,6) B, C 2 1 300 500 1 200 G (5,7) E 2 1 800 1.200 1 400 H (6,7) F 2 1 600 1.000 1 400 Tiempo (semanas) Costo (miles $) Reducción máxima Costo por semana Modelo de PL para CPM (Tiempo mínimo—costo mínimo) 243 CPM: Trueque entre el costo y el tiempo c) Identificación de las restricciones Para el ejemplo, se pueden agrupar en dos grupos 1. La cantidad máxima de tiempo en el cual se puede acortar cada actividad. 2. El tiempo de término del proyecto (en este caso 12 semanas) Para el grupo 1, lo que se necesita son las cotas superiores sobre las variables de decisión (Y A , Y B , Y C , Y E , Y F , Y G , Y H ) dada por la columna “Reducción máxima) de la tabla anterior. Modelo de PL para CPM (Tiempo mínimo—costo mínimo) 244 CPM: Trueque entre el costo y el tiempo Restricciones de Límite 0<=Y A <= 1 (límite de A) 0<=Y B <= 1 (límite de B) 0<=Y C <= 2 (límite de C) 0<=Y D <= 0 (límite de D) 0<=Y E <= 1 (límite de E) 0<=Y F <= 1 (límite de F) 0<=Y G <= 1 (límite de G) 0<=Y H <= 1 (límite de H) Modelo de PL para CPM (Tiempo mínimo—costo mínimo) 245 CPM: Trueque entre el costo y el tiempo Restricciones del grupo 2 están en función de nuevas variables que expresan cuando las actividades que salen de un determinado evento pueden comenzar. Requiere conocer cuando terminan todas las actividades que llegan al evento. Dependen de Y i X 1 : tiempo en que todas las actividades que salen del evento 1 pueden comenzar X 2 : tiempo en que todas las actividades que salen del evento 2 pueden comenzar ...... X 7 : tiempo en que todas las actividades que salen del evento 7 pueden comenzar Además el proyecto debe comenzar en el tiempo 1 y terminar a lo más en 12 semanas X 1 = 0 X 7 s 12 Modelo de PL para CPM (Tiempo mínimo—costo mínimo) 246 CPM: Trueque entre el costo y el tiempo 2 3 6 5 7 E(3) G(2) H(2) D(1) 1 F(2) 4 C(3) Asociando las variables a la red tenemos: (2-Y B ) A(4) B(2) (4-Y A ) (3-Y C ) (2-Y F ) (1-Y D ) (2-Y H ) (3-Y E ) (2-Y G ) (0) X 1 X 2 X 3 X 4 X 5 X 6 X 7 Modelo de PL para CPM (Tiempo mínimo—costo mínimo) 247 CPM: Trueque entre el costo y el tiempo Nodo 2 Tiempo de inicio de las tareas que salen del nodo 2 > tiempo de terminación de todas las tareas que entran al nodo 2 Tiempo de inicio de las tareas B, C y D > (tiempo de terminación de la tarea A+ (tiempo acortado de la tarea A) X 2 > X 1 + (4-Y A ) Nodo 3 Tiempo de inicio de las tareas que salen del nodo 3 > tiempo de terminación de todas las tareas que entran al nodo 3 Tiempo de inicio de la tarea Ficticia > (tiempo de terminación de la tarea B + (tiempo acortado de la tarea B) X 3 > X 2 + (2-Y B ) Modelo de PL para CPM (Tiempo mínimo—costo mínimo) 248 CPM: Trueque entre el costo y el tiempo Nodo 4 Tiempo de inicio de las tareas que salen del nodo 4 > tiempo de terminación de todas las tareas que entran al nodo 4. Hay dos arcos que entran al nodo, las actividades E y F deben comenzar sólo cuando las tareas que entran (C y la ficticia) hayan terminado. Dando origen así a dos restricciones (una por cada actividad) Restricción de la actividad C Tiempo de inicio de las tareas E y F > tiempo de terminación de la tarea C Tiempo de inicio de las tareas E y F > (tiempo de terminación de la tarea C + (tiempo acortado de la tarea C) X 4 > X 2 + (3-Y c ) (tarea C) Modelo de PL para CPM (Tiempo mínimo—costo mínimo) 249 CPM: Trueque entre el costo y el tiempo Nodo 4 Restricción de la actividad Ficticia Tiempo de inicio de las tareas E y F > tiempo de terminación de la tarea figurada Tiempo de inicio de las tareas E y F > (tiempo de terminación de la tarea Figurada + (tiempo acortado de la tarea Figurada) X 4 > X 3 + 0 (tarea Figurada) Aplicando sistemáticamente el procedimiento y se escribe una restricción para cada actividad se obtienen las siguientes restricciones para los nodos 5 al 7 Modelo de PL para CPM (Tiempo mínimo—costo mínimo) 250 CPM: Trueque entre el costo y el tiempo Nodo 5 X 5 > X 4 + (3-Y E ) (actividad E) Nodo 6 X 6 > X 4 + (2-Y F ) (actividad F) Nodo 7 X 7 > X 5 + (2-Y G ) (actividad G) X 7 > X 6 + (2-Y H ) (actividad H) Modelo de PL para CPM (Tiempo mínimo—costo mínimo) 251 CPM: Trueque entre el costo y el tiempo MIN Z = 600Y A +500Y B +500Y C +700Y E +200Y F +400Y G +400Y H Sujeto a: Restricciones de Límite 0<=Y A <= 1 (límite de A) 0<=Y B <= 1 (límite de B) 0<=Y C <= 2 (límite de C) 0<=Y D <= 0 (límite de D) 0<=Y E <= 1 (límite de E) 0<=Y F <= 1 (límite de F) 0<=Y G <= 1 (límite de G) 0<=Y H <= 1 (límite de H) Modelo de PL para CPM (Tiempo mínimo—costo mínimo) 252 CPM: Trueque entre el costo y el tiempo X 1 = 0 X 7 s 12 X 2 > X 1 + (4-Y A ) (tarea C) X 3 > X 2 + (2-Y B ) (tarea B) X 4 > X 2 + (3-Y c ) (tarea C) X 4 > X 3 + 0 (tarea Figurada) X 5 > X 4 + (3-Y E ) (actividad E) X 6 > X 4 + (2-Y F ) (actividad F) X 7 > X 5 + (2-Y G ) (actividad G) X 7 > X 6 + (2-Y H ) (actividad H) X 1 , ..., X 7 > 0 Ejercicios: 253 Para su entretención a) Existen 7 trayectorias en esta red. Encuéntrense todas. b) Con tiempos normales, encuéntrese la longitud de cada trayectoria. ¿Cuál es la ruta crítica? c) ¿Cuál es el costo mínimo intensivo para reducir el proyecto a 39 días? ¿a 38 días? ¿a 37 días? d) Encuéntrese la red de tiempo mínimo—costo mínimo. La complejidad de las redes CPM está más afectada por las interrelaciones que el número de nodos. Por ejemplo, considérese el proyecto siguiente: Actividad Normal Intensivo Normal Intensivo A (1,2) 8 7 10.000 12.000 B (1,3) 15 10 12.000 17.000 C (1,4) 12 6 13.000 14.000 D (2,3) 9 9 7.000 7.000 E (2,5) 11 9 2.000 4.000 F (3,6) 9 8 5.000 7.000 G (4,3) 9 7 14.000 16.000 H (4,7) 13 12 8.000 10.000 I (5,6) 7 5 6.000 10.000 J (5,8) 15 11 9.000 10.000 K (6,8) 10 5 3.000 8.000 L (7,6) 4 3 7.000 8.000 M (7,8) 12 9 5.000 6.000
Copyright © 2024 DOKUMEN.SITE Inc.