Investigacin de operaciones Maestra en administracin Sesin 8
Introduccin a Redes
En general las redes pueden ser muy complejas por la cantidad excesiva de nodos, por tales razones en teora de redes los algoritmos pueden ser exactos (por ejemplo, el simplex) los cuales se caracterizan por dar soluciones ptimas; heursticos por ejemplo, bsqueda tab, redes neuronales, glotones, etc. mismos que se caracterizan por dar soluciones aproximadas a las ptimas. En ocasiones se combinan los heursticos con los exactos, utilizando primeramente un heurstico, para encontrar rpidamente una solucin aproximada y posteriormente la exacta. Cuando se trata de encontrar el camino ms corto entre un origen y un destino, la tcnica, algoritmo o el modelo ms comn es el de la ruta ms corta; aunque existen otros modelos de redes que dependiendo de la complejidad de cmputo pueden ser usados, como es el caso de los algoritmos heursticos, por ejemplo la bsqueda Tab. Uno de los problemas principales de las redes se refiere a la minimizacin de las trayectorias. En general las redes pueden trabajarse como problemas lineales o lineales enteros, al utilizar un principio bsico en teora de redes: Siempre debe cumplirse el equilibrio en los nodos, flujo entrante debe ser igual al flujo saliente. Por lo tanto, el captulo inicia con un resumen de la terminologa general de una red, siguiendo con la solucin de los problemas de redes ms comunes por medio de la programacin lineal. Posteriormente se revisan los algoritmos clsicos de los modelos de redes y se revisan algunas aplicaciones. 8.1 CONCEPTOS BSICOS DE REDES A continuacin se mencionan algunos conceptos bsicos de redes y notacin. 1. Red: Una red consiste en un conjunto de puntos y un conjunto de lneas que unen ciertos pares de puntos. Los puntos se llaman nodos o vrtices y las lneas se llaman arcos, ligaduras, aristas o ramas. 2. Arcos: Los arcos se etiquetan para dar nombres a los nodos en sus puntos terminales, por ejemplo, AB es el arco entre los nodos A y B. En un problema de programacin lineal, las tcnicas de flujo de redes estn orientadas a optimizar situaciones vinculadas a las redes de transporte, rutas de navegacin de los cruceros, rutas entre ciudades, y todas aquellas situaciones que puedan representarse mediante una red donde los nodos denotan las estaciones o las ciudades, los arcos los caminos, y el flujo lo Elabor Dr. Eduardo Gutirrez Gonzlez 2 representan vehculos de transporte que pasan por la red; con el objetivo de encontrar la ruta ms corta entre un par de nodos que permita fluir productos para su comercializacin o distribucin. 3. Arcos dirigidos: Se dice que un arco es dirigido cuando el arco tiene flujo en una direccin, la direccin se indica agregando una cabeza de flecha al final de la lnea que representa el arco. Al etiquetar un arco dirigido con el nombre de los nodos que une, siempre se coloca primero al nodo de donde viene y despus el nodo a donde va, esto es, un arco dirigido del nodo A al nodo B debe etiquetarse como AB y no como BA, otra manera es A B. 4. Ligadura: Se llama ligadura cuando el flujo a travs de un arco ocurre en cualquier direccin, se supone que ese flujo ser en una direccin, en la seleccionada, y no se tendr flujos simultneos en direcciones opuestas. 5. Trayectoria: Una trayectoria entre dos nodos es una sucesin de arcos distintos que unen el nodo inicial con el nodo final. 6. Ciclo: Un ciclo es una trayectoria que comienza y termina en el mismo nodo. 7. rbol de Expansin: es una red conexa para los n nodos, que contiene ciclos no dirigidos. Todo rbol de expansin tiene justo 1 n arcos, ya que ste es el nmero mnimo de arcos necesarios para tener una red conexa y el mximo nmero posible para que no haya ciclos no dirigidos. EJEMPLOS DE REDES 8.1 - Transporte - Los 7 puentes de Knigsberg (Euler 1736) - Internet. - Etc. Nota: un principio fundamental en una red es que todo lo que entra a un nodo debe ser igual a lo que sale.
8.2 SOLUCIN DE OPTIMIZACIN DE REDES POR PROGRAMACIN LINEAL Los modelos ms comunes de optimizacin de redes son: - Redes de transito urbano. - Transporte y transbordo. - Redes de la ruta ms corta. - Redes de flujo mximo. - rbol de expansin mnima.
Investigacin de Operaciones para Administracin . Sesin 8 3 8.2.1 TRANSPORTE Y TRANSBORDO El modelo de transbordo se puede considerar como un ampliacin del modelo de transporte, en donde los artculos que se deben transportar de una fuente a un destino puede ser que tengan que pasar o almacenarse primeramente en otro centro, de tal forma que se requiere de un transbordo para llegar al centro de destino. La solucin de este tipo de problema se realiza con el principio de equilibrio de la red para los nodos de transbordo: Todo lo que entra en un nodo debe salir. Por otro lado, los nodos de las fuentes son nodos emisores y los nodos de la demandas son nodos receptores o sumidero EJEMPLO 8.2 Una compaa tiene un solo campo petrolero desde donde enva todo el petrleo, a travs de un oleoducto, a uno de dos centros de embarque, en donde se almacena en buques tanques para su envo a refineras de los estados. La oferta diaria en el campo es de 2,000 barriles. Deben considerarse los costos del oleoducto, los costos de embarque y las cantidades de petrleo que pueden enviarse a travs de los oleoductos. Los costos del oleoducto y las capacidades diarias de ste se muestran en la tabla siguiente. Instalacin de envo Costo por barril Capacidad del oleoducto (en barriles) B1 $0.20 1000 B2 $0.15 500 En la tabla siguiente se presentan los costos de embarque de cada estacin de embarque a cada refinera y las demandas diarias de las refineras. Refinera Nm. De ubicacin Costo de transporte por barril del Centro 1 Centro 2 Demanda diaria R1 $0.10 $0.15 600 R2 $0.20 $0.25 800 Se desea minimizar los costos de transportacin, para mandar el petrleo del campo petrolero a las refineras R1 y R2, pasando por las instalaciones de envo B1 y B2.
8.2.2 RUTA MS CORTA Los problemas de redes para determinar la ruta ms corta entre un nodo y otro se pueden plantear como problemas lineales, en donde las variables de decisin son binarias, puesto que de un nodo a otro solo debe existir una posibilidad, se recorre el arco o no se recorre. EJEMPLO 8.4 La compaa de muebles El mueble moderno quiere transportar comedores de su planta en Naucalpan, Estado de Mxico a una distribuidora que se encuentra en Tlalpan, en el sur de la ciudad de Mxico, en el menor tiempo posible. Las rutas que enlazan estas dos instalaciones forman la red que se muestra a continuacin. Elabor Dr. Eduardo Gutirrez Gonzlez 4
En donde las distancias son los tiempos de viaje del camin dados en minutos. Formule el problema como un problema lineal y resulvalo. Solucin Sean las variables binarias ij x que representan si existe traslado de la ciudad i a la j, !EJEMPLO 8.1; !FUNCIN OBJETIVO;
!RESTRICCIONES EN LOS NODOS; X13+X12=1; X35+X34=X13; X25+X24=X12; X25+X35=X56; X34+X24=X46; X56+X46=1; @BIN(X12);@BIN(X13);@BIN(X25);@BIN(X24);@BIN(X35); @BIN(X34);@BIN(X46);@BIN(X56); Global optimal solution found at step: 1 Objective value: 34.00000 Branch count: 0 Variable Value Reduced Cost X12 0.0000000 10.00000 X13 1.000000 12.00000 X25 0.0000000 20.00000 X24 0.0000000 22.00000 X35 0.0000000 15.00000 X34 1.000000 12.00000 X46 1.000000 10.00000 X56 0.0000000 10.00000 La ruta ms corta: ir de la ciudad 1 a la 3, luego a la 4 y finalmente a la 6. Con un tiempo mnimo de 34 minutos. EJERCICIO 1 9.3.1 Usted debe hacer un viaje en auto a otra ciudad que nunca ha visitado. Estudia un plano para determinar la ruta ms corta a su destino. Segn la ruta que elija, hay otras cinco ciudades (llamadas A, B, C, D, E) por las que puede pasar en el camino. El plano muestra las millas de cada carretera que es una conexin directa entre dos ciudades sin que otra intervenga. Estas cifras 12 10 15 12 20 22 10 10 1 3 2 5 4 6 Investigacin de Operaciones para Administracin . Sesin 8 5 se resumen en la siguiente tabla, donde un guin indica que no hay conexin directa sin pasar por otras ciudades. Millas entre ciudades adyacentes Pueblo A B C D E Destino (T) Origen O) 40 60 50 - - - A 10 - 70 - - B 20 55 40 - C - 50 - D 10 60 E 80
a) Formule este problema como uno de la ruta ms corta trazando una red donde los nodos son ciudades, los arcos, carreteras, y los nmeros la distancia en millas. b) Use el algoritmo de ruta ms corta para resolver este problema. c) Formule y resuelve un modelo en hoja de clculo. d) Si cada nmero en la tabla representa su costo (en dlares) de manejar de una ciudad a la siguiente, obtiene la ruta de costo mnimo con la respuesta del inciso b o c? e) Si cada nmero en la tabla representa su tiempo (en minutos) para manejar de una ciudad a la siguiente, obtiene la ruta de tiempo mnimo con la respuesta del inciso b o c? EJERCICIO 2 9.3.2 En un pequeo aeropuerto que est creciendo, la compaa area local piensa comprar un tractor nuevo para mover el tren de carros que llevan y traen el equipaje de los aviones. Dentro de tres aos se instalar un nuevo sistema mecanizado de transporte de equipaje, por lo que despus no se necesitar el tractor. No obstante, tendr una carga de trabajo pesada y los costos de operacin y mantenimiento aumentarn rpidamente con el tiempo y podran resultar costeable reemplazarlo en uno o dos aos. La siguiente tabla proporciona los costos descontados netos totales asociados con la compra del tractor (precio de compra menos valor de venta del tractor en uso ms costos de operacin y mantenimiento) al final del ao i y si se reemplaza al final del ao j (en donde el momento presente es el ao 0). i\ j 1 2 3 0 $8,000 $18,000 $31,000 1 $10,000 $21,000 2 $12,000 El problema es determinar en qu momento (si existe) debe reemplazarse el tractor para minimizar el costo total durante los tres aos. a) Formule el problema como uno de la ruta ms corta y trace su diagrama de red. b) Resuelva el modelo. EJERCICIO 3 9.3.5 Un vuelo de Speedy Airlines est a punto de despegar a Seattle sin escalas a Londres. Existe cierta flexibilidad para elegir la ruta precisa, segn las condiciones del clima. La siguiente red describe las rutas posibles consideradas, donde SE y LN son Seattle y Londres, respectivamente, y los otros nodos representan varios lugares intermedios. El viento a lo largo de cada arco afecta mucho el tiempo de vuelo (y por ende el consumo de combustible). Con base en el informe meteorolgico actual, junto los arcos se muestran los tiempos de vuelo (en horas). Elabor Dr. Eduardo Gutirrez Gonzlez 6 Debido al alto costo de combustible, la administracin ha establecido la poltica de elegir la ruta que minimiza el tiempo total de vuelo.
a) Qu papel tienen las distancias en este problema? El tiempo depende de la distancia y del viento. EJERCICIO 4 9.3.6 La compaa Quick ha averiguado que un competidor planea lanzar un nuevo tipo de producto con ventas potenciales muy grandes. Quick ha trabajado en un producto similar programado para salir dentro de 20 meses. Sin embargo, la investigacin est casi terminada y ahora la administracin quiere lanzar el producto ms rpidamente para hacer frente a la competencia. Se deben lograr cuatro etapas independientes que incluyen lo que falta de la investigacin que por el momento se lleva a cabo a paso normal. No obstante, cada etapa se puede realizar en un nivel de prioridad o de quiebre para acelerar la terminacin y estos son los nicos niveles considerados en las ltimas tres etapas. Los tiempos requeridos para cada nivel se muestran en la siguiente tabla. (Los tiempos entre parntesis en el nivel normal se han eliminado por ser muy largos.)
Se dispone de $30 millones para las cuatro etapas. El costo (en millones de dlares) para cada nivel es:
La administracin desea determinar el nivel al que debe realizar cada una de las cuatro etapas para minimizar el tiempo total hasta la comercializacin del producto sujeto a las restricciones de presupuesto. Investigacin de Operaciones para Administracin . Sesin 8 7 a) Formule ste como un problema de la ruta ms corta. La grfica es:
8.2.3 FLUJO MXIMO Los problemas de redes para determinar el flujo mximo que se resuelven por programacin lineal, tienen la caracterstica de Maximizar el flujo a travs de la red de distribucin de la fuente a su destino, por ejemplo: - La red de distribucin de flujo de transporte. - La red de distribucin de una compaa a sus clientes. - La red de suministros de los proveedores a sus fbricas. - La red de flujo de gas por un sistema de tuberas. - La red de flujo de agua. EJEMPLO 8.7 Suponga que la compaa nacional de Substancias populares (CONASUPO) tiene un programa anual de costalera. sta se compra de dos fbricas, una en Mrida (nodo 2) con capacidad de produccin mxima de 10 millones de costales al ao y otra en Saltillo (nodo 3) con capacidad de produccin mxima de 7 millones de costales al ao. Los excedentes en la fbrica de Mrida pueden transferirse a la planta de Saltillo. La disponibilidad de transporte entre las dos fbricas permite un mximo de 8 millones de costales por ao. Hay tres centros almacenadores: en la ciudad de Mxico (nodo 5), Guadalajara (nodo 4) y Oaxaca (nodo 6). La tabla siguiente proporciona la capacidad mxima anual de transporte de las fbricas a los centros almacenadores. A: Ciudad De: ciudad Mxico Guadalajara Oaxaca Saltillo 4 8 Mrida 3 2 3 Los excedentes de Guadalajara (nodo 4) y Oaxaca (nodo 6) pueden transferirse a la ciudad de Mxico (nodo 5), la capacidad mxima anual es de 3 y 4 millones de costales, respectivamente. Una vez en los centros almacenadores, los costales se entregan a los ejidatarios de la regin. La capacidad mxima anual de entrega es de 4 millones en la regin almacenadora de Guadalajara, 7 millones en la regin del Distrito Federal y 5 millones en la regin de Oaxaca. Elabor Dr. Eduardo Gutirrez Gonzlez 8 La pregunta es Cul es el flujo mximo anual de costales nuevos que pueden circular en este sistema?, utilice un modelo de PL. El problema se representa grficamente en la red siguiente.
En donde las distancias son los flujos mximos de transporte de nodo a nodo. Solucin Sean las variables enteras ij x que representan el flujo en millones de costales transportados del nodo i al j, !FUNCIN OBJETIVO; MAX=X71; !RESTRICCIONES DE CAPACIDAD; X13<=7; X12<=10; X34<=8; X35<=4; X23<=8; X24<=2; X25<=3; X26<=3; X45<=3; X47<=4; X57<=7; X65<=4; X67<=5; !RESTRICCIONES EN LOS NODOS; X12+X13=X71; X13+X23=X34+X35; X12=X23+X24+X25+X26; X24+X34=X45+X47; X25+X35+X45+X65=X57; X26=X65+X67; X47+X57+X67=X71; Global optimal solution found at step: 4 Objective value: 14.00000
Variable Value Reduced Cost X71 14.00000 0.0000000 X13 7.000000 0.0000000 X12 7.000000 0.0000000 X34 6.000000 0.0000000 X35 1.000000 0.0000000 7 10 8 4 3 3 8 2 1 3 2 4 6 7 5 3 4 4 7 5 Investigacin de Operaciones para Administracin . Sesin 8 9 X32 8.000000 0.0000000 X24 1.000000 0.0000000 X25 3.000000 0.0000000 X26 3.000000 0.0000000 X45 3.000000 0.0000000 X47 4.000000 0.0000000 X57 7.000000 0.0000000 X67 3.000000 0.0000000 El flujo mximo es de 14 millones de costales al ao. Se distribuyen: - Del nodo 1 al 2 siete millones y al 3 siete millones. - Del nodo 2 al 4 un milln, al nodo 5 tres millones, al nodo seis 3 millones y 0 al nodo 3. - Del nodo 3 al 2 ocho millones, al nodo 4 seis millones, al nodo 5 un milln - Del nodo 4 al 5 tres millones y al nodo 7 cuatro millones. - Del nodo 5 al nodo 7 siete millones. - Finalmente del nodo 6 al nodo 7 tres millones y nada al nodo 5. EJERCICIO 5 9.5.3 El diagrama de abajo describe un sistema de acueductos que se origina en tres ros (R1, R2 y R3) y termina en una ciudad importante (nodo T), donde los otros nodos son puntos de unin del sistema. Utilice unidades de miles de acres-pie; las siguientes tablas muestran la cantidad mxima de agua que puede bombearse, a travs de cada acueducto, cada da. A De A De A De
A B C D E F T R1 75 65 - A 60 45 - D 120 R2 40 50 60 B 70 55 45 E 190 R3 - 80 70 C - 70 90 F 130
La comisin del agua desea determinar el plan que maximice el flujo de agua hacia la ciudad. a) Formule este problema como un problema de flujo mximo; identifique un origen, un destino y los nodos de trasbordo, y trace la red completa que muestre la capacidad de cada arco. b) Formule y resuelva el modelo.
EJEMPLO 8.9 R 1 R 2 R 3 A B C D E F T 75 65 40 50 60 80 70 60 55 90 45 70 45 70 120 190 130 Elabor Dr. Eduardo Gutirrez Gonzlez 10 9.5.4 La Texago Company Tiene cuatro campos de petrleo, cuatro refineras y cuatro centros de distribucin. Una fuerte huelga en la industria del transporte ha reducido mucho la capacidad de Texago para enviar petrleo de sus campos a las refineras y para enviar productos derivados del petrleo de las refineras a los centros de distribucin. Use unidades en miles de barriles de petrleo crudo (y su equivalente en productos refinados); las tablas siguientes muestran el nmero mximo de unidades que puede enviar al da de cada campo a cada refinera y de stas a cada centro de distribucin.
La administracin de la Texago desea determinar un plan de cuntas unidades enviar de cada campo petrolero a cada refinera y de cada refinera a cada centro de distribucin de manera que se maximice el nmero total de unidades que llegan a los centros de distribucin. a) Bosqueje un plano que muestre la ubicacin de los campos, refineras y centros de distribucin de Texago. No es necesario y se necesita un mapa de EUA. Agregue el flujo del petrleo crudo y de los productos del petrleo a travs de la red de distribucin. b) Dibuje de nuevo la red alineando en una columna los nodos de los campos, en otra los de refineras en una tercera los de centros de distribucin. Despus agregue arcos para mostrar el flujo posible.
8.3 RBOL DE EXPANSIN MNIMA El problema del rbol de expansin mnima juega un papel importante en los problemas de redes de flujo. Por ejemplo, para resolver el problema que determine la ruta ms corta entre dos nodos de una red, podemos construir un rbol que tenga una raz (inicio), otro ejemplo, lo podemos referir a las redes en las que se requiere que su costo para mandar cierto flujo sea mnimo. En la presente seccin revisaremos los algoritmos ms comunes para resolver un problema de rboles de expansin mnima. Un rbol lo podemos definir como una red que es conectada y sin circuitos. Por ejemplo, en la red de la figura 1 se muestra un rbol.
Investigacin de Operaciones para Administracin . Sesin 8 13
8.3.1 DESCRIPCIN DEL PROBLEMA Considrese el siguiente problema: En un lago hay n islas, denotadas , ,.... , , 3 2 1 n X X X X y se desea construir puentes para comunicarlas. La construccin del puente ( ) j i X X , cuesta ij C pesos. El problema consiste en determinar donde construir los puentes de tal manera que cada par de islas queden conectadas por medio de stos y que el costo total de construccin sea el mnimo. Sea | | A X G , = una grfica no dirigida, donde el conjunto de vrtices X representa al conjunto de islas y cada elemento ( ) j i X X , del conjunto de aristas A representa la posible construccin de un puente entre las islas i X y j X . Sea c una funcin que asocia, a cada elemento de A, el costo de construccin del puente respectivo. Obsrvese que una solucin para este problema es una grfica parcial | | A X T ' = , de G. Esta grfica parcial deber cumplir los tres puntos siguientes: a. T es conexa, puesto que se desea que exista una cadena que una a todo par de vrtices. b. T no deber tener ciclos puesto que, de ser as, se incurrir en un costo innecesario. c. El costo de T deber ser mnimo. Con base en lo anterior se definen los siguientes conceptos: Definicin: Un rbol es una grfica | | A X T , = conexa y acclica. La siguiente grfica es un rbol:
1
2
3
4
5
6
7
8
9 Elabor Dr. Eduardo Gutirrez Gonzlez 14 Definicin 1: Sea | | A X G , = una grfica no dirigida. Un rbol expandido de G es una grfica parcial | | A X T ' = , de G que es un rbol. Obsrvese la grfica.
Ntese que entonces la grfica T que ser solucin para el problema de las islas debe ser un rbol expandido de G. Por otro lado, obsrvese que una grfica puede tener varios rboles expandidos. Por esta razn, existen diferentes alternativas de solucin para el problema de las islas; sin embargo se tiene inters en la mejor de todas ellas, es decir, aquella con costo total de construccin mnimo. Se definir entonces, el costo de un rbol. Considrese una funcin p que asocia una moneda a cada arista de una grfica. La funcin puede representar costos, distancia, tiempo, etc. En el caso del problema de las islas la funcin p fue denotada con la letra c y representa el costo de construccin de un puente. Definicin: La solucin ptima del problema est dada por el rbol expandido de peso mnimo asociado a la grfica G. 8.3.2 CARACTERIZACIN DE UN RBOL En el siguiente teorema se postulan las equivalencias de las definiciones de rbol. De tal forma que las propiedades expuestas en el teorema para los rboles son fundamentales para caracterizar las bases del problema de programacin lineal que se asocia al problema de rboles de expansin mnima.
2 1
3
4 4
1
3
GRFICA G RBOL NO EXPANDIDO DE G RBOL EXPANDIDO DE G 1 2
4
1
2
3
4 Investigacin de Operaciones para Administracin . Sesin 8 15 Teorema 1 Sea | | A X G , = una grfica con n vrtices, supngase que 2 > n . Los postulados siguientes son equivalentes y caracterizan un rbol. G es conexa y acclica (sin circuitos). G es acclica y tiene 1 n aristas ( arcos). Existen G una trayectoria nica entre cada par de nodos (vrtices). G no tiene circuitos, pero exactamente uno se forma al aadir un arco. G es conectada, pero deja de serlo si algn arco se elimina. En general, para una red dada G, existen formas algortmicas para determinar cuando la red es un rbol, pero en el trabajo de la investigacin no tendremos el problema de la comprobacin de que la red es un rbol. BOSQUES Y RBOLES DE EXPANSIN Un conjunto de arcos A F c se dice que forman un bosque en una red G, si cada componente de la subred compuesta por arcos de F y los nodos incidentes a ella conforman un rbol. En otras palabras, F es un bosque si y solo si no se incluyen circuitos elementales en F. Por ejemplo, los arcos ms gruesos en la siguiente figura forman un bosque, si incluimos los nodos incidentes se tiene en cada caso un rbol.
Un rbol de expansin de la red G es un rbol que pasa por cada nodo de G, ver figura siguiente.
Elabor Dr. Eduardo Gutirrez Gonzlez 16 8.3.3 ALGORITMOS PARA RESOLVER PROBLEMAS DEL RBOL DE EXPANSIN MNIMA Primeramente notamos que una caracterstica especial de los problemas de rbol de expansin mnima consiste en que los arcos no son dirigidos. Es decir, ( ) j i, ( ) i j, se refieren al mismo arco. Los tres algoritmos que revisaremos en esta subseccin son: Kruskal, Prim y Sollin, los cuales tienen la caracterstica de ser tipo Glotn, en el sentido de que en cada paso aumentan un arco de costo mnimo como candidato de la lista, siempre y cuando este arco no forme ningn circuito con los arcos ya seleccionados. Los tres algoritmos mantienen un bosque que contiene arcos que ya han sido seleccionados y se aumenta uno ms arcos para aumentar el tamao del bosque. Para el algoritmo de Kruskal, la lista de candidatos es la red completa; para el algoritmo de Prim, el bosque es un nico rbol ms un conjunto de nodos aislados y la lista de candidatos contiene todos los arcos entre el rbol nico y los nodos que no estn en l. El algoritmo de Sollin es un hibrido que mantiene varias componentes en el bosque, como el algoritmo de Kruskal, pero se aumentan varios arcos en cada iteracin, seleccionando (como en el algoritmo Prim) el arco de costo mnimo que conecta cada componente del bosque a los nodos que no estn en esa componente. La programacin matemtica tiene otra forma til de ver el problema de rbol de expansin mnima; se puede formular un problema de rbol de expansin mnima como un modelo de programacin entera y usar argumentos de programacin lineal para establecer otra prueba de la validacin del algoritmo de kruskal. 1. ALGORITMO DE KRUSKAL El propsito es determinar el rbol de expansin cuyo costo o peso es mnimo en una red conectada G con N nodos y funcin de costo R A C : conocida.
Descripcin PASO 1: (Inicio) Ordenar el conjunto de arcos en forma no decreciente respecto a la funcin de costos. Sea m j j j , , , 2 1 los arcos ordenados, entonces hacer C = = = A I k , 1 , 0 . PASO 2: (Aadir arco) Si el arco i j no forma circuito con el conjunto de arcos de A , entonces { } r j A A = y hacer 1 : + = k k e ir al paso 3 y no aumentar k. PASO 3: (Criterio de terminacin) Si 1 < n k hacer 1 : + = I I y regresar al paso 2. En caso contrario | | A N T , = es el rbol de expansin mnima. El tiempo de corrida del algoritmo Kruskal se compone del tiempo para ordenar los arcos y el tiempo para detectar ciclos. Para una red arbitrariamente grande, el ordenamiento requiere ( ) ( ) ( ) n m O n m O m m O log log log 2 = = de tiempo, en donde m es cantidad de arcos y n cantidad de nodos. Finalmente, tenemos que el tiempo para detectar un ciclo depende del mtodo que se use en este paso. EJEMPLO 8.6 En la siguiente red encontrar el rbol de expansin mnima, con el algoritmo de Kruskal.
Investigacin de Operaciones para Administracin . Sesin 8 17
De donde, la extensin mnima es 35 8 8 6 5 5 2 1 0 = + + + + + + + . 2. ALGORITMO DE PRIM Un mtodo alternativo de solucin para el problema del rbol de peso mnimo de una red conexa con n nodos, es el algoritmo de Prim. Este algoritmo consiste en considerar, inicialmente, una red formada por cualquier nodo de la red original, despus se agregar el arco de menor peso adyacente a l y su otro extremo. Luego, se aumenta el arco ms pequeo, que tenga exactamente un extremo en la red formada, junto con su otro extremo. Se procede de esta manera, sucesivamente, hasta tener 1 n arcos en la red generada. A diferencia del algoritmo de Kruskal, la red construida en cada iteracin es conexa y adems tiene 1 n arcos, luego, esta red es un rbol expandido de la red original. Debe notarse tambin que el algoritmo termina en 1 n iteraciones exactamente; esto constituye otra diferencia con el algoritmo de Kruskal. Descripcin PASO 1: (Inicio) sea 0 x (arbitrario) elemento de N y 0 = k . Sea { } 0 x N O = y C = 0 A . PASO 2: (Aadir un arco). Sea k F el conjunto de arcos de A que tienen exactamente un extremo en k N . Sea k j el arco de costo mnimo en k F y denote por k x el extremo de k j que no pertenece a k F . Hacer { } k k K x N N = +1 y { } k k k j A A = +1 . PASO 3: Hacer 1 : + = k k . Si 1 s n k regrese al paso 2. En caso contrario, termine. La red | | 1 1 1 ,
= n n n A N T representa el rbol de expansin mnima de G. Para analizar el tiempo de ejecucin del algoritmo de Prim, consideramos de cada una de las 1 n iteraciones que el algoritmo desarrolla como si aumentara un arco a la vez al rbol, hasta que se tiene un rbol de expansin con 1 n arcos. En cada iteracin el algoritmo selecciona el arco de costo mnimo en el corte | | S S, . Si podemos revisar la lista completa de arcos para identificar el arco de costo mnimo, esta operacin requiere un tiempo de ejecucin de ( ) m O , lo que nos da una cota de tiempo de ( ) nm O para el algoritmo. Por lo cual podemos afirmar que el algoritmo se ejecuta en un tiempo ( ) mn O . 5 1 8
3 6 1 2 5 7 9 8 4 2 8 5 0 6 Investigacin de Operaciones para Administracin . Sesin 8 19 EJEMPLO 8.7 En la red anterior encontrar el rbol de expansin mnima, usando el algoritmo de Prim. Solucin Paso 1. Elegir un nodo arbitrario. Por ejemplo, el nodo 5 Paso 2. Aadir arcos. Se elige el nodo 5, utilice la notacin del mtodo anterior para los arcos Valor de k k F k N 1 { } ) 5 , 2 ( ), 5 , 3 ( ), 5 , 4 ( ), 7 , 5 ( ), 8 , 5 ( ), 6 , 5 ( { } 6 , 5 2 { } ) 9 , 6 ( ), 7 , 6 ( ), 6 , 3 ( ), 5 , 2 ( ), 5 , 3 ( ), 5 , 4 ( ), 7 , 5 ( ), 8 , 5 ( { } 8 , 6 , 5 3 { } ) 8 , 4 ( ), 9 , 8 ( ), 8 , 7 ( ), 9 , 6 ( ), 7 , 6 ( ), 6 , 3 ( ), 5 , 2 ( ), 5 , 3 ( ), 5 , 4 ( ), 7 , 5 ( { } 7 , 8 , 6 , 5 4 { } ) 9 , 7 ( ), 8 , 4 ( ), 9 , 8 ( ), 9 , 6 ( ), 7 , 6 ( ), 6 , 3 ( ), 5 , 2 ( ), 5 , 3 ( ), 5 , 4 ( ), 7 , 5 ( { } 9 , 7 , 8 , 6 , 5 5 { } ) 5 , 3 ( ), 3 , 2 ( ), 3 , 1 ( ), 9 , 7 ( ), 8 , 4 ( ), 9 , 6 ( ), 7 , 6 ( ), 6 , 3 ( ), 5 , 2 ( ), 5 , 3 ( ), 5 , 4 ( ), 7 , 5 ( { } 3 , 9 , 7 , 8 , 6 , 5 5 { } ) 4 , 1 ( ), 2 , 1 ( ), 5 , 3 ( ), 3 , 2 ( ), 3 , 1 ( ), 9 , 7 ( ), 8 , 4 ( ), 9 , 6 ( ), 7 , 6 ( ), 5 , 2 ( ), 5 , 3 ( ), 5 , 4 ( ), 7 , 5 ( { } 1 , 3 , 9 , 7 , 8 , 6 , 5 6 { } ) 8 , 4 ( ), 4 , 2 ( ), 4 , 1 ( ), 2 , 1 ( ), 5 , 3 ( ), 3 , 2 ( ), 9 , 7 ( ), 8 , 4 ( ), 9 , 6 ( ), 7 , 6 ( ), 5 , 2 ( ), 5 , 3 ( ), 5 , 4 ( ), 7 , 5 ( { } 4 , 1 , 3 , 9 , 7 , 8 , 6 , 5 7 { } ) 8 , 4 ( ), 4 , 2 ( ), 4 , 1 ( ), 2 , 1 ( ), 5 , 3 ( ), 3 , 2 ( ), 9 , 7 ( ), 8 , 4 ( ), 9 , 6 ( ), 7 , 6 ( ), 5 , 2 ( ), 5 , 3 ( ), 5 , 4 ( ), 7 , 5 ( { } 2 , 4 , 1 , 3 , 9 , 7 , 8 , 6 , 5 La red queda igual que en la pregunta anterior. 3. ALGORITMO DE SOLLIN Podemos usar las condiciones de optimalidad para derivar otro algoritmo para el problema de rbol de expansin mnima. Este algoritmo, lo podemos ver como una versin hibrida de los algoritmos de Kruskal y Prim. Como en el algoritmo de Kruskal, el algoritmo de Sollin mantiene una coleccin de rboles de expansin de los nodos , , , 3 2 1 N N N y aumenta arcos a esa coleccin. Sin embargo en cada iteracin aumenta arcos de costo mnimo que emanan de esos rboles, una idea tomada del algoritmo de Prim. Como resultado se obtiene un algoritmo que usa estructuras de datos sencillas y corre en un tiempo ( ) n m O log . El algoritmo de Sollin desarrolla repetidamente las dos siguientes operaciones bsicas. Vecino ms cercano. ) , , ( k k k j i N . Esta operacin toma como inicio un rbol que une a los nodos k N y determina un arco ) , ( k k j i de costo mnimo entre todos los arcos que emanan de k N , es decir { } k k ij j i N j N i A j i C C k k e e e = y , , ) , ( | min . Para desarrollar esta operacin necesitamos revisar todos los arcos en las listas de adyacencia de los nodos en k N y encontrar el arco de costo mnimo entre esos arcos que tengan un punto final que no est en k N . Acoplar ( ) k k j i , . Esta operacin toma como inicio dos nodos k i y k j y si los dos nodos estn en distintos rboles entonces une esos dos rboles en un solo rbol. Elabor Dr. Eduardo Gutirrez Gonzlez 20 Descripcin PASO 1: Para cada N i e hacer {} C = = * ,T i N i . PASO 2: Mientras ( ) 1 * < n T entonces para cada rbol k N haga ( ) k k k j i N , , , donde el arco ( ) k k j i , es el rbol de costo mnimo entre todos los que emanan de k N es decir, { } k k ij N j N i A j i j i c e e e = , , ) , ( | ) , ( min y vaya al paso 3. PASO 3: Si los nodos k i y k j estn en distintos rboles una ( ) k k j i , y actualice ( ) { } k k j i T T , : * * = y regrese al paso 2. El algoritmo de Sollin tiene un tiempo de ejecucin de ( ) n m O log . EJEMPLO 8.8 En la red anterior encontrar el rbol de expansin mnima, usando el algoritmo de Sollin. Solucin Iteracin 1
Finalmente obtenemos la red buscada, con extensin mnima de 35
EJEMPLO 8.9 Suponga que la siguiente red carretera es un mapa y el nmero en cada arco representa la mxima elevacin encontrada en el trayecto del arco. Un viajero planea manejar del nodo 1 al nodo 12, a este viajero no le gustan los lugares altos y quisiera encontrar una trayectoria que lo lleve con la mnima altura. Encontrar la mejor trayectoria para este viajero empleando algn algoritmo de Sollin del rbol de expansin mnima.
En la siguiente tabla se resumen los tres algoritmos para resolver el problema del rbol de expansin mnima. Todos ellos son fciles de implantar y tienen excelentes tiempos de ejecucin, adems son muy eficientes en la prctica.
EJERCICIO 6 Encuentre el rbol de expansin mnima en la siguiente red