Sesiu00F3n 9.pdf

44
 1 SEPI - UPIICSA – IPN Investigación de operaciones Avanzada Maestría en Ingeniería Industrial Sesión 9 Introducción a Redes En general las redes pueden ser muy complejas por la cantidad excesiva de nodos, por tales razones en teoría de redes los algoritmos pueden ser exactos (por ejemplo, el simplex) los cuales se caracterizan por dar soluciones óptimas; heurísticos por ejemplo, búsqueda tabú, redes neuronales, glotones, etc. mismos que se caracterizan por dar soluciones aproximadas a las óptimas. En ocasiones se combinan los heurísticos con los exactos, utilizando primeramente un heurístico, para encontrar rápidamente una solución aproximada y posteriormente la exacta. Cuando se trata de encontrar el camino más corto entre un origen y un destino, la técnica, algoritmo o el modelo más común es el de la ruta más corta; aunque existen otros modelos de redes que dependiendo de la complejidad de cómputo pueden ser usados, como es el caso de los algoritmos heurísticos, por ejemplo la búsqueda Tabú. Uno de los problemas principales de las redes se refiere a la minimización de las trayectorias. En general las redes pueden trabajarse como problemas lineales o lineales enteros, al utilizar un principio básico en teoría de redes: “Siempre debe cumplirse el equilibrio en los nodos, flujo entrante debe ser igual al flujo saliente”. Por lo tanto, el capítulo inicia con un resumen de la terminología general de una red, siguiendo con la solución de los problemas de redes más comunes por medio de la programación lineal. Posteriormente se revisan los algoritmos clásicos de los modelos de redes y se revisan algunas aplicaciones. 9.1 CONCEPTOS BÁSICOS DE REDES A continuación se mencionan algunos conceptos básicos de redes y notación. 1. Red: Una red consiste en un conjunto de puntos y un conjunto de líneas que unen ciertos pares de puntos. Los puntos se llaman nodos  o vértices y las líneas 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 programación lineal, las técnicas de flujo de redes están orientadas a optimizar situaciones vinculadas a las redes de transporte, rutas de navegación 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

Transcript of Sesiu00F3n 9.pdf

  • 1

    SEPI - UPIICSA IPN Investigacin de operaciones Avanzada

    Maestra en Ingeniera Industrial

    Sesin 9

    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.

    9.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 n nodos, que contiene ciclos no dirigidos. Todo rbol de expansin tiene justo 1n 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 9.1

    Transporte

    Los 7 puentes de Knigsberg (Euler 1736)

    Internet.

    Etc.

    9.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.

    9.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

  • Investigacin de Operaciones Avanzada. Sesin 9

    3

    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 9.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 Demanda diaria Centro de embarque 1 Centro de embarque 2

    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.

    Solucin

    9.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 slo debe existir una posibilidad, se recorre el arco o no se recorre.

    R1

    B1

    R2

    B2

    F

    FB1

    FB2

    BR11

    BR12

    BR21

    BR22

    2000

    600

    800

  • Elabor Dr. Eduardo Gutirrez Gonzlez

    4

    EJEMPLO 9.3

    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.

    En donde las distancias son los tiempos de viaje del camin dados en minutos. Formule el problema como un problema lineal y resulvalo.

    EJEMPLO 9.4 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 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?

    EJEMPLO 9.5 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

    12

    10

    15

    12

    20

    22

    10

    10 1

    3

    2

    5

    4

    6

  • Investigacin de Operaciones Avanzada. Sesin 9

    5

    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.

    EJEMPLO 9.6 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). 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.

    b) Use el algoritmo descrito en la seccin 9.3 para resolver este problema de la ruta ms corta.

    c) Formule y resuelva el problema en una hoja de clculo.

    EJEMPLO 9.7 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

    0

    1

    2 3

  • Elabor Dr. Eduardo Gutirrez Gonzlez

    6

    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. Formule como un problema de la ruta ms corta.

    9.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.

  • Investigacin de Operaciones Avanzada. Sesin 9

    7

    EJEMPLO 9.8

    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.

    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.

    EJEMPLO 9.8 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.

    7

    10

    8

    4

    3

    3

    8 2 1

    3

    2

    4

    6

    7 5

    3

    4

    4

    7

    5

  • Elabor Dr. Eduardo Gutirrez Gonzlez

    8

    75

    65

    40 50

    60

    80 70

    60

    55

    90

    45

    70

    45

    70

    120

    190

    130

    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) Use el algoritmo para resolver este problema. c) Formule y resuelva el modelo en una hoja de clculo.

    EJEMPLO 9.9

    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.

    R1

    R2

    R3

    A

    B

    C

    D

    E

    F

    T

  • Investigacin de Operaciones Avanzada. Sesin 9

    9

    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.

    c) Modifique la red del inciso b para formular este problema Solucin.

    EJERCICIO

    La figura siguiente muestra la red de comunicaciones entre dos estaciones 1 y 7. Las ganancias de comunicar una estacin con otra estn en millones de um y se muestran en cada arco. Los mensajes se mandan de la estacin 1 a la estacin 7 y el objeto es determinar la ruta que maximice la ganancia de una buena transmisin. Formule el caso como un modelo de PL (ruta ms corta) y resulvalo con un paquete de cmputo.

    9.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.

    2 5

    1 4 7

    6 3

    0.8

    0.3

    0.5

    0

    0.65

    0.85

    0.95

    0.7

    0.6

    0.5

    0.8

    0.9

  • Elabor Dr. Eduardo Gutirrez Gonzlez

    10

    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.

    9.3.1 DESCRIPCIN DEL PROBLEMA

    Considrese el siguiente problema: En un lago hay n islas, denotadas ,,....,, 321 nXXXX y se

    desea construir puentes para comunicarlas. La construccin del puente ( )ji XX , cuesta ijC pesos. El problema consiste en determinar donde construir los puentes de tal manera que cada par de islas queden conectadas por medio de estos y que el costo total de construccin sea el mnimo.

    Sea [ ]AXG ,= una grfica no dirigida, donde el conjunto de vrtices X representa al conjunto de islas y cada elemento ( )ji XX , del conjunto de aristas A representa la posible construccin de un puente entre las islas iX y jX . 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 [ ]AXT = , 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 [ ]AXT ,= conexa y a cclica. La siguiente grfica es un rbol:

  • Investigacin de Operaciones Avanzada. Sesin 9

    11

    Definicin 1: Sea [ ]AXG ,= una grfica no dirigida. Un rbol expandido de G es una grfica

    parcial [ ]AXT = , 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.

    1

    2

    3

    4

    5

    6

    7

    8

    9

    2

    1

    3

    4 4

    GRFICA G

    RBOL NO EXPANDIDO DE G RBOL EXPANDIDO DE G

    1 2

    4

    1

    2

    3

    4

  • Elabor Dr. Eduardo Gutirrez Gonzlez

    12

    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.

    9.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.

    Teorema 1

    Sea [ ]AXG ,= una grfica con n vrtices, supngase que 2n . Los postulados

    siguientes son equivalentes y caracterizan un rbol.

    G es conexa y acclica (sin circuitos).

    G es acclica y tiene 1n 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 AF 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.

  • Investigacin de Operaciones Avanzada. Sesin 9

    13

    Un rbol de expansin de la red G es un rbol que pasa por cada nodo de G, ver figura siguiente.

    9.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, ( )ji, ( )ij, 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 RAC : conocida. Descripcin PASO 1: (Inicio) Ordenar el conjunto de arcos en forma no decreciente respecto a la funcin de

    costos. Sea mjjj ,,, 21 K los arcos ordenados, entonces hacer === AIk ,1,0 .

  • Elabor Dr. Eduardo Gutirrez Gonzlez

    14

    PASO 2: (Aadir arco) Si el arco ij no forma circuito con el conjunto de arcos de A , entonces

    { }rjAA = y hacer 1: += kk e ir al paso 3 y no aumentar k. PASO 3: (Criterio de terminacin) Si 1< nk hacer 1: += II y regresar al paso 2. En caso

    contrario [ ]ANT ,= 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

    ( ) ( ) ( )nmOnmOmmO logloglog 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 9.10

    En la siguiente red encontrar el rbol de expansin mnima, con el algoritmo de Kruskal.

    Solucin

    Paso 1. Ordenamos los arcos en forma no decreciente de flujo.

    )5,2(

    )2,1(

    )5,3(

    )9,7(

    )9,6(

    )8,4(

    )7,6(

    )5,4(

    )3,2(

    )6,3(

    )4,2(

    )9,8(

    )7,5(

    )8,5(

    )3,1(

    )4,1(

    )6,5(

    )8,7(

    18

    17

    16

    15

    14

    13

    12

    11

    10

    9

    8

    7

    6

    5

    4

    3

    2

    1

    =

    =

    =

    =

    =

    =

    =

    =

    =

    =

    =

    =

    =

    =

    =

    =

    =

    =

    j

    j

    j

    j

    j

    j

    j

    j

    j

    j

    j

    j

    j

    j

    j

    j

    j

    j

    Paso 2. Aadimos arcos.

    No. Iteracin Arco agregado A Valor de k

    1 )8,7(1 =j { }1jA = 1 2 )6,5(2 =j { }21 , jjA = 2 3 )4,1(3 =j { }321 ,, jjjA = 3 4 )3,1(4 =j { }4321 ,,, jjjjA = 4 5 )8,5(5 =j { }54321 ,,,, jjjjjA = 5

    5 9 13 1 10 11

    8 3 6

    1 2 5 7 9

    8 4

    14 15 7 12

    2 8 10 5 0 6

    11

  • Investigacin de Operaciones Avanzada. Sesin 9

    15

    6 )7,5(6 =j { }54321 ,,,, jjjjjA = 5 7 )9,8(7 =j { }754321 ,,,,, jjjjjjA = 6 8 )4,2(8 =j { }8754321 ,,,,,, jjjjjjjA = 7 9 )6,3(9 =j { }98754321 ,,,,,,, jjjjjjjjA = 8

    Finalmente el rbol de expansin mnima de la red queda de la siguiente forma:

    De donde, la extensin mnima es 3588655210 =+++++++ .

    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 1n arcos en la red generada.

    A diferencia del algoritmo de Kruskal, la red construida en cada iteracin es conexa y adems tiene 1n arcos, luego, esta red es un rbol expandido de la red original. Debe notarse tambin que el algoritmo termina en 1n iteraciones exactamente; esto constituye otra diferencia con el algoritmo de Kruskal.

    Descripcin PASO 1: (Inicio) sea 0x (arbitrario) elemento de N y 0=k . Sea { }0xNO = y =0A . PASO 2: (Aadir un arco). Sea kF el conjunto de arcos de A que tienen exactamente un extremo

    en kN . Sea kj el arco de costo mnimo en kF y denote por kx el extremo de kj que no

    pertenece a kF . Hacer

    { }kkK xNN =+1 y { }kkk jAA =+1 . PASO 3: Hacer 1: += kk . Si 1 nk regrese al paso 2. En caso contrario, termine. La red

    [ ]111 , = nnn ANT representa el rbol de expansin mnima de G.

    5 1

    8 3 6

    1 2 5 7 9

    8 4

    2 8 5 0 6

  • Elabor Dr. Eduardo Gutirrez Gonzlez

    16

    Para analizar el tiempo de ejecucin del algoritmo de Prim, consideramos de cada una de las 1n iteraciones que el algoritmo desarrolla como si aumentara un arco a la vez al rbol, hasta que se tiene un rbol de expansin con 1n arcos. En cada iteracin el algoritmo selecciona el arco de costo mnimo en el corte [ ]SS , . Si podemos revisar la lista completa de arcos para identificar el arco de costo mnimo, esta operacin requiere un tiempo de ejecucin de ( )mO , lo que nos da una cota de tiempo de ( )nmO para el algoritmo. Por lo cual podemos afirmar que el algoritmo se ejecuta en un tiempo ( )mnO . EJEMPLO 9.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

    kF kN

    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 K,,, 321 NNN 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 ( )nmO log . El algoritmo de Sollin desarrolla repetidamente las dos siguientes operaciones bsicas.

    Vecino ms cercano. ),,( kkk jiN . Esta operacin toma como inicio un rbol que une a los

    nodos kN y determina un arco ),( kk ji de costo mnimo entre todos los arcos que emanan de kN ,

    es decir

  • Investigacin de Operaciones Avanzada. Sesin 9

    17

    { }kkijji NjNiAjiCC kk = y ,,),(|min . Para desarrollar esta operacin necesitamos revisar todos los arcos en las listas de

    adyacencia de los nodos en kN y encontrar el arco de costo mnimo entre esos arcos que tengan

    un punto final que no est en kN .

    Acoplar ( )kk ji , . Esta operacin toma como inicio dos nodos ki y kj y si los dos nodos estn en distintos rboles entonces une esos dos rboles en un solo rbol.

    Descripcin PASO 1: Para cada Ni hacer { } == *,TiN i .

    PASO 2: Mientras ( )1* < nT entonces para cada rbol kN haga ( )kkk jiN ,, , donde el arco

    ( )kk ji , es el rbol de costo mnimo entre todos los que emanan de kN es decir, { }kkij NjNiAjijic = ,,),(|),(min y vaya al paso 3.

    PASO 3: Si los nodos ki y kj estn en distintos rboles una ( )kk ji , y actualice ( ){ }kk jiTT ,:

    ** = y regrese al paso 2.

    El algoritmo de Sollin tiene un tiempo de ejecucin de ( )nmO log . EJEMPLO 9.8

    En la red anterior encontrar el rbol de expansin mnima, usando el algoritmo de Sollin.

    Solucin Iteracin 1

    3 6

    1 2 5 7 9

    8 4

  • Elabor Dr. Eduardo Gutirrez Gonzlez

    18

    Iteracin 2 Iteracin 3 Finalmente obtenemos la red buscada, con extensin mnima de 35

    3 6

    1 2 5 7 9

    8 4

    3 6

    1 2 5 7 9

    8 4

    5 1

    8 3 6

    1 2 5 7 9

    8 4

    2 8 5 0 6

  • Investigacin de Operaciones Avanzada. Sesin 9

    19

    EJEMPLO 9.11

    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.

    ALGORITMO TIEMPO DE EJECUCIN

    OBSERVACIONES

    Kruskal ( )nnmO log+

    1. Examina arcos en orden no decreciente de sus costos ms el tiempo necesario para ordenar m arcos y los incluye en

    un rbol de expansin si el arco que se aumenta no forma un ciclo con los arcos seleccionados.

    2. La prueba del algoritmo usa condiciones de optimalidad para una trayectoria.

    3. Es un algoritmo atractivo si los arcos ya se encuentran ordenados en forma creciente.

    Prim ( )nnmO log+

    1. Mantiene un rbol de expansin en un subconjunto de nodos S y aumenta un arco de costos mnimos en el corte [S,S].

    2. La prueba del algoritmo usa condiciones de optimalidad para cortes.

    3. Se puede implantar usando una variedad de estructuras de apilamiento. Esta cota de ejecucin se refiere al tiempo

    5

    3

    1 4

    6

    8

    7 10

    11

    12 9

    2

    4 6 6

    4 5 2

    5 3 1

    1 3 7 1

    9 7 2 2

  • Elabor Dr. Eduardo Gutirrez Gonzlez

    20

    de la estructura de datos de Fibonacci.

    Sollin ( )nmO log

    1. Mantiene una coleccin de rboles, en cada iteracin aumenta un rbol de costo mnimo que emana de cada

    rbol.

    2. La prueba del algoritmo usa condiciones de optimalidad en cortes.

    EJERCICIO

    Encuentre el rbol de expansin mnima en la siguiente red

    EJERCICIO

    Considere el siguiente algoritmo.

    Paso1. Arregle los arcos en A en orden arbitrario y comience con un rbol de expansin vaco.

    Paso2. Examine en cada arco en A, uno por uno, y siga los pasos siguientes.

    a) Aumente un arco (i, j) a T, si T no contiene un circuito W.

    b) Borre de T un arco de costo mximo de dicho circuito.

    Demuestre que cuando este algoritmo ha examinado todos los arcos, el rbol final es un rbol de expansin mnima. Es posible implementar este algoritmo de manera eficiente como el de Kruskal? Por qu?

    Demostracin

    La comprobacin del resultado se obtiene en dos partes, en la primera se prueba que el rbol de esta forma obtenido es de expansin y en la segunda que dicha expansin es mnima.

    Parte 1. Cuando el algoritmo ha examinado todos los arcos, tenemos que T no puede contener circuitos por condiciones de construccin del inciso (a). As, se ha obtenido con el cumplimiento del inciso (a) un rbol de expansin.

    3

    6

    1

    2

    5

    7

    9

    8

    4

    5

    6 9

    20

    4

    14

    15

    10

    15 20

    12

    7

    5

    13

    1

    5 6

  • Investigacin de Operaciones Avanzada. Sesin 9

    21

    Parte 2. El rbol de expansin, obtenido es mnimo, ya que por construccin del inciso (b), se van eliminando los arcos con costo mximo, de tal forma que los arcos resultantes que no formen circuitos son de costo mnimo.

    Por otro lado, la eficiencia del algoritmo con respecto al de Kruskal, es peor que este ltimo porque al no haber un ordenamiento en los arcos en forma no decreciente, en cada arco se tienen que llevar a cabo una comparacin exhaustiva con los dems ya integrados al rbol que se est construyendo, de tal forma que si el tiempo de computo del algoritmo de Kruskal es

    ))log(())log(( nmOmmO =

    En donde, m cantidad de arcos y n cantidad de nodos.

    El nuevo algoritmo tendr un tiempo de cmputo

    )( 2mO

    Que es mucho mayor al de Kruskal.

    Libro: Hiller Lieberman ed. Mc-Graw Hill; Investigacin de operaciones, sptima edicin

    9.3.1 9.3.2 9.3.5 9.3.6 9.4.2 9.4.3 9.5.3 9.5.4 9.5.5 9.6.2 9.6.4 9.6.5 9.7.1 9.7.7 Caso de estudio 9.1 Caso de estudio 9.2

    Las redes actualmente estn constituidas de cientos de miles o millones de nodos, por tales se han desarrollado algoritmos mucho ms especializados en la solucin de stas. A continuacin se muestra un resumen de algunos de ellos.

  • Elabor Dr. Eduardo Gutirrez Gonzlez

    22

    PROBLEMA 9.4-2

    La maderera Wirehouse talar rboles en ocho zonas de la misma rea. Para esto debe desarrollar un sistema de caminos de tierra para tener acceso a cualquier zona desde cualquiera otra. La distancia (en millas) entre cada par de zonas es:

    Distancias entre pares de zonas

    1 2 3 4 5 6 7 8

    Zonas

    1 - 1.3 2.1 0.9 0.7 1.8 2.0 1.5 2 1.3 - 0.9 1.8 1.2 2.6 2.3 1.1 3 2.1 0.9 - 2.6 1.7 2.5 1.9 1.0 4 0.9 1.8 2.6 - 0.7 1.6 1.5 0.9 5 0.7 1.2 1.7 0.7 - 0.9 1.1 0.8 6 1.8 2.6 2.5 1.6 0.9 - 0.6 1.0 7 2.0 2.3 1.9 1.5 1.1 0.6 - 0.5 8 1.5 1.1 1.0 0.9 0.8 1.0 0.5 -

    El problema es determinar los pares de zonas entre los que deben construirse caminos para conectar todas con una longitud total mnima de caminos.

    a) Describa cmo se ajusta este problema a la descripcin del problema del rbol de expansin mnima. b) Utilice el algoritmo descrito en la seccin 9.4 para resolver este problema.

    PROBLEMA 9.4-3.

    Un banco ha decidido conectar terminales de computadora de cada sucursal a la computadora central de su oficina matriz mediante lneas telefnicas especiales con dispositivos de telecomunicaciones. No es necesario que la lnea telefnica de una sucursal est conectada directamente con la oficina matriz. La conexin puede ser indirecta a travs de otra sucursal que est conectada (directa o indirectamente) a la matriz. El nico requisito es que exista alguna ruta que conecte a todas las sucursales con la oficina matriz. El cargo por las lneas telefnicas especiales es directamente proporcional a la distancia cableada, en donde esta distancia (en millas) es

    Distancia entre pares de oficinas

    Principal Suc. 1 Suc. 2 Suc. 3 Suc. 4 Suc. 5

    Principal - 190 70 115 270 160

    Sucursal 1 190 - 100 110 215 50

    Sucursal 2 70 100 - 140 120 220

    Sucursal 3 115 110 140 - 175 80

    Sucursal 4 270 215 120 175 - 310

    Sucursal 5 160 30 220 80 310 -

    La administracin desea determinar qu pares de sucursales conectar directamente con las lneas telefnicas especiales para que todas queden conectadas (de modo directo o indirecto) a la oficina matriz con un costo total mnimo.

    a) Explique cmo se ajusta este problema a la descripcin del problema del rbol de expansin mnima. b) Utilice el algoritmo descrito en la seccin 9.4 para resolver este problema.

  • Investigacin de Operaciones Avanzada. Sesin 9

    23

    Caso de estudio 9.1

    EL comandante Votachev sale en una noche fra de octubre e inhala el humo de su cigarrillo, saboreando su calor. Examina la destruccin que le rodea ventanas rotas, edificios quemados, caminos derrumbados- y sonre. Sus dos aos de trabajo en capacitacin de revolucionarios al este de los Montes Urales han tenido xito; sus tropas ahora ocupan siete ciudades estratgicas en la federacin rusa; Kazan, Perm, Yekaterimburgo, Ufa, Samara, Saratov y Orenburgo. Sin embargo, su bloqueo no ha terminado. Ve hacia el oeste. Dada la confusin poltica y econmica del momento en Rusia, sabe que sus tropas pronto podrn conquistar San Petersburgo y Mosc. El comandante Votachev podr gobernar con la sabidura y control desplegada por sus predecesores comunistas Lenin y Stalin. Al otro del ocano Pacfico, se lleva a cabo una reunin de consejeros sobre alta seguridad poltica externa de Estados Unidos, en la Casa Blanca. El presidente acaba de ser informado de la revolucin comunista dirigida por el comandante Votachev y est determinando un plan accin. l recuerda un lejano octubre similar en 1917 y teme la posibilidad de una nueva era de gobierno comunista radical acompaado de caos, sangre derramada, tensiones cada vez ms fuertes y una posible guerra nuclear. Por lo tanto decide que Estados Unidos necesita responder y hacerlo rpido. Mosc ha pedido ayuda militar a Estados Unidos y l planea mandar tropas y suministros de inmediato. El presidente se dirige al general Lankletter y le pide que describa los preparativos en su pas para enviar las tropas y suministros necesarios a la Federacin Rusa. El general Lankletter informa al presidente que junto con las tropas, estn reuniendo armas, municiones, combustibles y consumibles, aviones, barcos y vehculos en dos ciudades portuarias con campos areos: Boston y Jacksonville. Los aviones y barcos transferirn a las tropas y la carga por el ocano Atlntico al continente Euroasitico. Le pasa una lista de los tipos de aviones, barcos y vehculos que se enviarn y una descripcin de cada tipo. La lista se muestra en la siguiente tabla.

    TIPO DE TRANSPORTE

    NOMBRE CAPACIDAD VELOCIDAD

    AVIN C-141 STARLIFTER 150 TONELADAS 400 MILLAS POR

    HORA

    BARCO TRANSPORTE 240 TONELADAS 35 MILLAS POR

    HORA

    VEHCULO CAMIN CON SISTEMA DE

    CARGA 16 000

    KILOGRAMOS 60 MILLAS POR

    HORA Todos los aviones, barcos y vehculos pueden llevar tanto tropas como carga. Una vez que un avin o barco llega a Europa, se queda ah para apoyar a las fuerzas armadas. El presidente ahora voltea a ver a Tabitha Neal, quien ha estado negociando con los pases miembros de la OTAN durante las ltimas horas, para usar sus puertos y campos areos para recargar combustible y reabastecerse antes de llegar a la Federacin Rusa. Ella le informa que la milicia de Estados Unidos podr disponer de los siguientes puertos y campos areos en los pases de la OTAN.

  • Elabor Dr. Eduardo Gutirrez Gonzlez

    24

    Puerto Campo areo

    Npoles Londres Hamburgo Berln Roterdam Estambul

    El presidente se pone de pie y camina hacia el mapa del mundo proyectado en una pantalla grande. Seala el avance de las tropas y el cargamento desde Estados Unidos hasta tres ciudades estratgicas en la Federacin Rusa que no han sido ocupadas por el comandante Votachev. Las tres ciudades son San Petersburgo, Mosc y Rostov. Explica que tropas y cargamentos se usarn para defender las ciudades rusas y para lanzar un contrataque al comandante Votachev para recuperar las ciudades que ocupa ahora. (El mapa se muestra al final del caso.) El presidente tambin explica que todos los Starlifters y trasnportes saldrn de Boston o de Jacksonville. Todos los transportes que han viajado por el Atlntico deben llegar a uno de los puertos de la OTAN para descargar. Los camiones con sistema de carga trados por mar llevarn las tropas y los materiales de los barcos en los puertos de la OTAN a las tres ciudades estratgicas en Rusia que todava no toma Votachev. Todos los Starlifters que cruzan el Atlntico deben aterrizar en uno de los campos areos de la OTAN para recargar. Despus los aviones llevarn tropas y suministros de ah a las tres ciudades rusas.

    a) Dibuje una red que muestre las rutas posibles para que las tropas y los suministros lleguen a la Federacin Rusa desde Estados Unidos.

    b) Mosc y Washington no saben cundo el comandante Votachev lanzar su prximo ataque. Por esto, los lderes de los dos pases han acordado que las tropas deben llegar a las tres ciudades estratgicas en Rusia lo ms pronto posible. El presidente ha determinado que la situacin es tan apremiante que el costo no es importante se usarn cuantos aviones, trasnportes y camiones sean necesarios para transferir a las tropas y los suministros de Estados Unidos a San Petersburgo, Mosc y Rostov. Por lo tanto, no existen limitaciones ene l nmero de tropas y cantidad de cargamento que se pueden transferir entre cualesquiera ciudades. El presidente cuenta con la siguiente informacin acerca de las distancias de las rutas disponibles entre las ciudades:

    De A Distancia de la ruta en kilmetros

    Boston Berln 7 250 km

    Boston Hamburgo 8 250 km

    Boston Estambul 8 300 km

    Boston Londres 6 200 km

    Boston Roterdam 6 900 km

    Boston Npoles 7 950 km

  • Investigacin de Operaciones Avanzada. Sesin 9

    25

    Jacksonville Berln 9 200 km

    Jacksonville Hamburgo 9 800 km

    Jacksonville Estambul 10 100 km

    Jacksonville Londres 7 900 km

    Jacksonville Roterdam 8 900 km

    Jacksonville Npoles 9 400 km

    Berln San Petersburgo 1 280 km

    Hamburgo San Petersburgo 1 880 km

    Estambul San Petersburgo 2 040 km

    Londres San Petersburgo 1 980 km

    Roterdam San Petersburgo 2 200 km

    Npoles San Petersburgo 2 970 km

    Berln Mosc 1 600 km

    Hamburgo Mosc 2 120 km

    Estambul Mosc 1 700 km

    Londres Mosc 2 300 km

    Roterdam Mosc 2 450 km

    Npoles Mosc 2 890 km

    Berln Rostov 1 730 km

    Hamburgo Rostov 2 470 km

    Estambul Rostov 990 km

    Londres Rostov 2 860 km

    Roterdam Rostov 2 760 km

    Npoles Rostov 2 800 km

    Dadas la distancia y la velocidad del transporte usado entre cada par de ciudades, cmo puede el presidente mover las tropas con mayor rapidez desde Estados Unidos a cada una de las tres ciudades estratgicas rusas? Seale la(s) trayectoria(s) en la red. Cunto tiempo tardarn las tropas y los suministros en llegar a San Petersburgo, Mosc y Rostov?

  • Elabor Dr. Eduardo Gutirrez Gonzlez

    26

    c) El presidente encuentra slo un problema con este primer plan: debe convencer al

    Congreso del destacamento militar. Segn la ley de poderes de guerra en Estados Unidos, es necesario que el presidente consulte al Congreso antes de introducir tropas en zonas de guerra o en situaciones donde pueden ocurrir actos belicosos. Si el Congreso no da la autorizacin al presidente para el uso de las tropas, l deber retirarlas despus de 60 das. El Congreso tambin tiene potestad de disminuir el periodo de 60 das mediante una resolucin concurrente. El presidente sabe que el Congreso no autorizar un gasto significativo para una guerra en otro pas, en especial cuando los electores han puesto tanta energa en el logro de la disminucin de la deuda nacional. Por lo tanto, decide que necesita encontrar la manera de hacer llegar las tropas y los suministros a San Petersburgo, Mosc y Rostov con un costo mnimo. Cada ciudad rusa ha estado en contacto con Washington para comunicar la cantidad de tropas y suministros que requiere como apoyo mnimo. Despus de analizar las peticiones, el general Lankletter ha convertido las solicitudes de cantidad de tropas, galones de gasolina, etctera, en toneladas para facilitar la planeacin. Los requerimientos se presentan en seguida.

    Ciudad Necesidades

    San Petersburgo 320 000 toneladas

    Mosc 440 000 toneladas

    Rostov 240 000 toneladas

    Tanto en Boston como en Jacksonville se dispone de 500 000 toneladas de los suministros necesarios. Cuando Estados Unidos decide enviar un avin, barco o camin entre dos ciudades, se incurre en varios costos costos de combustible, costos de mantenimiento y las tarifas e impuestos por el uso de puertos y campos areos. Estos costos se dan en la tabla que sigue.

    De A Costo

    Boston Berln $50 000 por Starlifter

    Boston Hamburgo $30 000 por transporte

    Boston Estambul $55 000 por Starlifter

    Boston Londres $45 000 por Starlifter

    Boston Roterdam $30 000 por transporte

    Boston Npoles $32 000 por transporte

    Jacksonville Berln $57 000 por Starlifter

    Jacksonville Hamburgo $48 000 por transporte

  • Investigacin de Operaciones Avanzada. Sesin 9

    27

    Jacksonville Estambul $61 000 por Starlifter

    Jacksonville Londres $49 000 por Starlifter

    Jacksonville Roterdam $44 000 por transporte

    Jacksonville Npoles $56 000 por transporte

    Berln San Petersburgo $24 000 por Starlifter

    Hamburgo San Petersburgo $ 3 000 por camin

    Estambul San Petersburgo $28 000 por Starlifter

    Londres San Petersburgo $22 000 por Starlifter

    Roterdam San Petersburgo $ 3 000 por camin

    Npoles San Petersburgo $ 5 000 por camin

    Berln Mosc $22 000 por Starlifter

    Hamburgo Mosc $ 4 000 por camin

    Estambul Mosc $25 000 por Starlifter

    Londres Mosc $19 000 por Starlifter

    Roterdam Mosc $ 5 000 por camin

    Npoles Mosc $ 5 000 por camin

    Berln Rostov $23 000 por Starlifter

    Hamburgo Rostov $ 7 000 por camin

    Estambul Rostov $ 2 000 por Starlifter

    Londres Rostov $ 4 000 por Starlifter

    Roterdam Rostov $ 8 000 por camin

    Npoles Rostov $ 9 000 por camin

    El presidente se enfrenta a varias restricciones al intentar satisfacer los requerimientos. Un invierno prematuro en el norte de Rusia ha trado fuertes heladas y mucha nieve. Entonces, el general Lankletter se opone a mandar caravanas de camiones al rea. Convence al presidente de abastecer a San Petersburgo slo por aire. Ms an, las rutas de camiones que llegan a Rostov son bastantes limitadas, por lo que de cada puerto se

  • Elabor Dr. Eduardo Gutirrez Gonzlez

    28

    pueden enviar cuando mucho 2 500 camiones a esa ciudad. El gobierno de Ucrania es muy sensible respecto al vuelo de aviones norteamericanos en su rea. Restringe a la milicia estadounidense a un mximo de 200 vuelos de Berln a Rostov y 200 vuelos de Londres a Rostov. (La milicia de Estados Unidos no quiere volar sacando la vuelta a Ucrania, por lo que estn restringidos por estas limitaciones.) Cmo puede el presidente satisfacer los requerimientos militares de cada ciudad rusa a un costo mnimo? Resalte la trayectoria que debe usarse en la red, entre Estados Unidos y la Federacin Rusa.

    d) Una vez que el presidente da a conocer el nmero de aviones, barcos y camiones que viajarn entre Estados Unidos y la Federacin Rusa, Tabitha Neal se pone en contacto con las ciudades de su pas y los pases de la OTAN para indicar el nmero de aviones que deben esperar los campos areos, el nmero de barcos que llegarn a los puertos y el nmero de camiones que circularn por los caminos. Por desgracia, Tabitha encuentra que existen otras limitaciones que no se pueden eliminar de inmediato. Debido a la congestin del trfico areo y la programacin inalterable de vuelos, slo un nmero limitado de aviones pueden enviarse entre pares de ciudades. Estas limitaciones se proporcionan en seguida.

    De A Mximo

    Boston Berln 300 aviones

    Boston Estambul 500 aviones

    Boston Londres 500 aviones

    Jacksonville Berln 500 aviones

    Jacksonville Estambul 700 aviones

    Jacksonville Londres 600 aviones

    Berln San Petersburgo 500 aviones

    Estambul San Petersburgo 0 aviones

    Londres San Petersburgo 1 000 aviones

    Berln Mosc 300 aviones

    Estambul Mosc 100 aviones

    Londres Mosc 200 aviones

    Berln Restov 0 aviones

    Estambul Restov 900 aviones

    Londres Restov 100 aviones

    Adems, debido al temor de algunos pases ante una posible alarma de sus ciudadanos si ven demasiados camiones en las carreras pblicas, estn en contra de que un nmero grande de camiones viajen por su pas. Estas objeciones significan que slo es posible enviar un nmero limitado de camiones entre ciertos puertos y las ciudades rusas. Estas limitaciones son:

  • Investigacin de Operaciones Avanzada. Sesin 9

    29

    De A Mximo

    Roterdam Mosc 600 camiones

    Roterdam Rostov 750 camiones

    Hamburgo Mosc 700 camiones

    Hamburgo Rostov 500 camiones

    Npoles Mosc 1 500 camiones

    Npoles Rostov 1 400 camiones

    Tabitha sabe que las rutas por barco no tienen limitaciones debido al control estadounidense del ocano Atlntico. El presidente se da cuenta de que debido a las restricciones no podr satisfacer todos los requerimientos de apoyo de las tres ciudades rusas. Decide ignorar el aspecto del costo y en su lugar maximizar la cantidad total de cargamento que puede hacer llegar a las ciudades rusas. De qu manera puede el presidente maximizar la cantidad total de cargamento que llega a Rusia? Resalte la(s) trayectoria(s) usada(s) entre Estados Unidos y la Federacin Rusa en la red.

    e) Aun antes de que todas las tropas y suministros norteamericanos leguen a San Petersburgo, Mosc y Rostov, algunas desavenencias entre las tropas del comandante Votachev respecto a si el siguiente ataque debe ser contra San Petersburgo o Mosc dividieron a los revolucionarios. Las tropas de Mosc vencieron con facilidad a los vulnerables revolucionarios. El comandante Votachev fue capturado y estaba en prisin, y el siguiente paso es reconstruir las siete ciudades arrasadas por las tropas. La primera prioridad del presidente es ayudar al gobierno ruso a restablecer las comunicaciones entre las siete ciudades rusas y Mosc con un costo mnimo. El precio de instalar las lneas de comunicacin entre cualesquiera dos ciudades rusas vara segn el costo de enviar el cable al rea, el nivel de destruccin y lo irregular del terreno. Por fortuna, una ciudad se puede comunicar con todas las dems con slo estar conectada de manera indirecta con ellas. San Petersburgo y Rostov estn conectadas con Mosc, entonces si cualquiera de las siete ciudades se conecta con San Petersburgo o Rostov, tambin estar conectada con Mosc. El costo de reemplazar las lneas de comunicacin entre dos ciudades dadas para las que esto sea posible se muestra en la siguiente tabla.

    Entre Costo para restablecer las lneas de comunicacin

    San Petersburgo y Kazan $210 000

    San Petersburgo y Perm $185 000

    San Petersburgo y Ufa $225 000

    Mosc y Ufa $310 000

    Mosc y Samara $195 000

    Mosc y Orenburgo $440 000

    Mosc y Saratov $140 000

    Rostov y Saratov $200 000

  • Elabor Dr. Eduardo Gutirrez Gonzlez

    30

    Rostov y Orenburgo $120 000

    Kazan y Perm $150 000

    Kazan y Ufa $105 000

    Kazan y Samara $ 95 000

    Perm y Yakaterinburgo $ 85 000

    Perm y Ufa $125 000

    Yakaterinburgo y Ufa $125 000

    Ufa y Samara $100 000

    Ufa y Orenburgo $ 75 000

    Saratov y Samara $100 000

    Saratov y Orenburgo $ 95 000

    Dnde deben instalarse las lneas de comunicacin para minimizar el costo total de restablecer las comunicaciones entre Mosc y las siete ciudades en Rusia?

    Caso de estudio 9.2

    Jake Nguyen se pasa una mano nerviosa por su cabello antes bien peinado. Se afloja la corbata que tena un nudo perfecto, y se talla las manos en sus pantalones antes con planchado inmaculado. Sin duda, hoy no ha sido un buen da. Durante los ltimos meses, Jake ha odo rumores que circulan desde Wall Street rumores que vienen de inversionistas, banqueros y accionistas famosos por su franqueza -. Los rumores se refieren a un posible colapso de economa japonesa; y han corrido slo como rumores porque creen que si hablan pblicamente de sus temores, el colapso puede acelerarse. Hoy, esos mismos rumores se hicieron realidad, Jake y sus colegas se encuentran reunidos alrededor de un pequeo televisor dedicado exclusivamente al canal Bloomberg. Jake se queda mirando sin poder creer mientras escucha el horror de lo que ocurre en el mercado japons; y este mercado se lleva en su cada al resto de los pases del Oriente Asitico. Se queda helado. Como gerente de inversin extranjera en Asia de Grant Hill Associates, una pequea empresa de inversin en la costa oeste de Estados Unidos especializada en mercado de dinero, Jake tiene la responsabilidad de cualquier impacto negativo del colapso. Y por supuesto que Grant Hill experimentara impactos negativos. Jake no presto atencin a los rumores de advertencia de un colapso japons. En su lugar, incremento de manera considerable la inversin que Grant Hill Associates mantena en el mercado de Japn. Debido a que ese mercado haba tenido mejor desempeo que el esperado durante el ao anterior, Jake haba aumentado la inversin de 2.5 a 15 millones de dlares justo hacia un mes. En ese momento, 1 dlar vala 80 yenes. Ya no. Jake se da cuenta de que la devaluacin del yen de hoy significa que 1 dlar vale 125 yenes. Podr liquidar estas inversiones sin perder dinero en yenes, pero la perdida en dlares al convertir los yenes devaluados ser inmensa. Suspira, cierra los ojos y se prepara mentalmente para el control de un dao serio.

  • Investigacin de Operaciones Avanzada. Sesin 9

    31

    La meditacin de Jake se interrumpe por una voz sonora que lo llama desde la oficina de

    la esquina. Grant Hill, el presidente de Grant Hill Associates, grita: Nguyen, venga ac de inmediato! Jake salta y observa sin entusiasmo hacia la oficina de la esquina donde esta Grant Hill furioso. Se arregla el pelo, aprieta el nudo de la corbata y camina a la oficina. Grant Hill lo mira a los ojos al entrar y sigue gritando: No quiero que digas una palabra, Nguyen! no hay excusa; slo arregla el desastre! Saca todo nuestro dinero fuera de Japn! Mis instintos me dicen que esto es slo el principio. Pon el dinero en acciones norteamericanas seguras. Ahora! Y no olvides sacar nuestras situaciones en efectivo de Indonesia y Malasia de una vez. Jake tiene suficiente sentido comn para quedarse callado. Asiente con la cabeza, da vuelta sobre sus talones y casi corre para salir de la oficina.

    Una vez a salvo en su escritorio, comienza a formular un plan para mover las inversiones fuera de Japn, Indonesia y Malasia. Su experiencia con la inversin en mercados extranjeros le ha enseado que cuando se trata de millones de dlares, cmo saca el dinero del mercado extranjero es casi tan importante como cundo lo saca. Los socios banqueros de Grant Hill Associates tienen diferentes cargos por transacciones para convertir el dinero en otra divisa y por enviar cantidades grandes de dinero alrededor del mundo. Y ahora, para empeorar las cosas, los gobiernos del oriente asitico han impuesto limitaciones muy estrictas sobre la cantidad de dinero que un individuo o compaa puede cambiar de su moneda a otra moneda extranjera y retirarla del pas. El objetivo de esta medida drstica es reducir el flujo de la inversin extranjera hacia fuera de esos pases para evitar el colapso completo de las economas de la regin. Como el dinero en efectivo de Grant Hill Associates llega a 10.5 miles de millones de rupias indonesias y 28 millones de ringgits de Malasia, junto con las inversiones en yenes, no est claro cmo debe convertirse este dinero a dlares. Jake desea encontrar el mtodo ms eficiente en costos para convertir estas inversiones a dlares. En la pgina de Internet de su compaa siempre puede encontrar las tasas de cambio actualizadas al minuto para la mayora de las monedas del mundo (tabla 1). La tabla establece, por ejemplo, que 1 yen japons es igual a 0.008 dlares. Con unas cuantas llamadas telefnicas obtiene los costos de transaccin que debe pagar su compaa por transacciones grandes en estos tiempos crticos (tabla 2). Jake observa que al cambiar de una divisa a otra se tiene el mismo costo por transaccin que en la conversin inversa. Por ltimo, Jake encuentra las cantidades mximas de divisas de cada pas que su compaa puede convertir en otras divisas en Japn, Indonesia y Malasia (tabla 3).

    Tabla 1 Tasas de Cambio

    De / A Yen Rupia Ringgit Dlar EUA

    Dlar can

    Euro Libra Peso

    Yen Japons 1 50 0.04 0.008 0.01 0.0064 0.0048 0.0768 Rupia Indonesia

    1 0.0008 0.00016 0.0002 0.000128 0.000096 0.001536

  • Elabor Dr. Eduardo Gutirrez Gonzlez

    32

    Ringgit Malayo 1 0.2 0.25 0.16 0.12 1.92 Dlar EUA 1 1.25 0.8 0.6 9.6 Dlar Can. 1 0.64 0.48 7.68 Euro europeo 1 0.75 12 Libra inglesa 1 16 Peso mexicano 1

    Tabla 2 Costos de Transaccin, porcentaje

    De / A Yen Rupia Ringgit Dlar EUA

    Dlar can

    Euro Libra Peso

    Yen Japons - 0.50 0.50 0.40 0.40 0.40 0.25 0.50 Rupia Indonesia - 0.70 0.50 0.30 0.30 0.75 0.75 Ringgit Malayo - 0.70 0.70 0.40 0.45 0.50 Dlar EUA - 0.05 0.10 0.10 0.10 Dlar Can. - 0.20 0.10 0.10 Euro europeo - 0.05 0.50 Libra inglesa - 0.50 Peso mexicano

    Tabla3 Lmites de transacciones en equivalentes de mil dlares

    De / A Yen Rupia Ringgit Dlar EUA

    Dlar can

    Euro Libra Peso

    Yen -

    5,000

    5,000

    2,000

    2,000

    2,000

    2,000

    4,000 Rupia Indon.

    5,000 -

    2,000

    200

    200

    1,000

    500

    200

    Ringgit Malayo

    3,000

    4,500 -

    1,500

    1,500

    2,500

    1,000

    1,000

    a) Formule el problema de Jake como un problema del flujo de costo mnimo y trace la red para este problema. Identifique los nodos de recursos y de demanda para la red.

    b) Qu transacciones de divisas debe realizar Jake para convertir las inversiones de Yenes, Rupias y Ringgits en dlares estadounidenses para asegurar que Grant Hill Associates tiene la cantidad mxima de dlares despus de realizadas las transacciones? Cunto dinero tiene Jake para invertir en acciones de su pas?

  • Investigacin de Operaciones Avanzada. Sesin 9

    33

    9.4 PROBLEMA DE RUTA MS CORTA

    En esta seccin se presentan 2 mtodos de solucin para los siguientes problemas de rutas ms cortas de una red.

    1. Ruta ms corta entre dos nodos especficos s y t. 2. Rutas ms cortas entre un nodo especfico s y todo nodo i de la red. 3. Ruta ms corta entre todo par de nodos.

    Nosotros nos referiremos con ms detalle al tercer caso. Con respecto a los dos primeros slo revisaremos el algoritmo de Dijkstra, desarrollado en 1959, que nos sirve para dar respuesta en ambos casos. Iniciaremos con el planteamiento del problema, notacin y terminologa.

    9.4.1. PLANTEAMIENTO GENERAL DEL PROBLEMA Para ejemplificar el problema consideraremos la siguiente situacin. En una terminal de camiones para pasajeros se desea establecer la ruta que deber seguir el autobs que presta servicio de la ciudad s a la ciudad t de tal manera que la distancia recorrida sea lo ms corta posible. A este problema lo representamos con la red [ ]dANG ,,= donde:

    N = {Ciudades a las cuales se ofrece el servicio}. A = {Tramos de carretera entre las ciudades}.

    ,: RAd donde para todo elemento a de A, ( )ad representa la longitud o distancia del tramo de carretera a.

    En general en una red [ ]dANG ,,= , al nmero ( )ad asociado a cada arco se le llama longitud o costo de a. Por otro lado, se define la longitud de una ruta o camino como la suma de longitudes de los arcos que la forman; aquella ruta tal que su longitud sea mnima se llama la ruta ms corta o camino ms corto.

    El problema hasta ahora planteado de la terminal de autobuses consiste en encontrar la ruta ms corta entre dos nodos especficos, los que representan a las ciudades s y t. Observemos que en este caso las longitudes definidas son no negativas; sin embargo, el problema de encontrar la ruta ms corta entre dos nodos especficos puede generalizarse a cualquier red puesto que la funcin de longitud d, puede representar, adems de distancia o tiempo, costos o alguna otra cantidad.

    Si la red contiene arcos con longitudes negativas pueden presentarse circuitos negativos (circuitos de longitud negativa). En este caso el problema puede no ser acotado puesto que para cualquier ruta entre s y t que contenga al circuito negativo existe otra mejor, a saber aquella que contiene una vez ms al circuito.

    Se concluye, entonces, que para que el problema de la ruta ms corta entre dos nodos especficos tenga solucin, deber cumplirse:

    i) Existe alguna trayectoria entre s y t.

    ii) No existan circuitos negativos tales que haya un camino de s a algn nodo del circuito y otro de algn nodo del circuito a t.

    Antes de continuar definiremos algunos conceptos de gran utilidad.

    Sea [ ]ANG ,= una red dirigida y sea s un nodo en N; entonces a s se le llama raz de G, si existe una trayectoria de s a i para toda i en N.

  • Elabor Dr. Eduardo Gutirrez Gonzlez

    34

    Sea [ ]ANG ,= una grfica dirigida. Una arborescencia de G es un rbol expandido de G que contiene un nodo que es raz. En una arborescencia de raz s el camino o trayectoria de s a i, para todo i elemento de N, es nico.

    Consideremos ahora una red G. Una arborescencia de rutas ms cortas de G es aquella arborescencia tal que la nica ruta de s a i, para toda i elemento de N, es una ruta ms corta de s a i.

    Una vez definidos estos conceptos, puede decirse que el problema de la terminal de autobuses es encontrar la arborescencia de rutas ms cortas de raz s de la red [ ]dANG ,,= .

    Supongamos ahora que en la terminal de autobuses se desea mejorar el servicio que se proporciona a la ciudad s; con este objeto se requiere encontrar las rutas ms cortas entre la ciudad s y todas las dems ciudades a las cuales se les da el servicio. A este problema puede asociarse, de nuevo, la red definida anteriormente.

    Haciendo una analoga con el problema de la ruta ms corta entre dos nodos especficos puede concluirse que para que exista la arborescencia de rutas ms cortas de raz s en una red cualquiera G, sta deber cumplir que:

    i) Existen caminos de s a i, para toda i en N. Es decir, que s sea la raz de la red.

    ii) No existen circuitos negativos en la red G, ya que de presentarse stos al problema sera no acotado (por la misma razn expuesta para el problema de ruta ms corta entre dos nodos especficos).

    Finalmente, suponga que en la terminal de autobuses se tiene inters en encontrar las rutas ms cortas para todos los camiones que prestan servicio entre cada par de ciudades. Nuevamente, se asocia a este problema la red G definida anteriormente, se deben encontrar entonces, las rutas ms cortas entre todo par de nodos en la red G.

    Este ltimo problema es una generalizacin inmediata de los anteriores. Por esto se deduce que, para que exista solucin en cualquier red G, deber cumplirse lo siguiente:

    i) Existe, al menos, una trayectoria entre todo par de nodos. ii) No existen circuitos negativos en la red G.

    9.4.2. RUTAS MS CORTAS ENTRE UN NODO ESPECFICO S Y TODO NODO I DE LA RED El mtodo de solucin presentado para el problema de la arborescencia de rutas ms cortas en redes que tienen arcos con costos no negativos fue desarrollado por Dijkstra en 1959 y est considerado como uno de los mtodos ms eficientes para resolver este problema.

    Este mtodo se basa en la asignacin de etiquetas "permanentes" a los nodos para los cuales ya se conocen las longitudes de las rutas ms cortas de la raz a ellos. Sea S este conjunto de nodos. Las etiquetas de los nodos de S representan precisamente las longitudes de las rutas ms cortas buscadas. Los nodos restantes se etiquetan "temporalmente" en una cota superior de la longitud ms corta de la raz al nodo etiquetado.

    En la primera iteracin el conjunto T contendr nicamente al nodo raz; es decir, slo la raz estar etiquetada permanentemente. Las etiquetas temporales se mejoran continuamente y en cada iteracin se agrega exactamente un nodo x a S; este nodo es aquel tal que la longitud desde la raz es la ms corta posible.

    Puesto que todos los arcos tienen costos no-negativos, siempre puede encontrarse una ruta ms corta de la raz a x que pase slo por nodos de S; en este caso la etiqueta de x representa la

  • Investigacin de Operaciones Avanzada. Sesin 9

    35

    longitud de la ruta ms corta correspondiente. Una vez que todos los nodos estn en S, las etiquetas de todos los nodos sern las correspondientes a las longitudes ms cortas desde la raz y por lo tanto se habr encontrado la solucin deseada. En el caso en que se desee slo la ruta ms corta entre dos nodos especficos, se obtendr la solucin cuando se etiquete "permanentemente" el nodo final del camino buscado.

    Algoritmo de Dijkstra El algoritmo consiste en obtener la arborescencia de las rutas ms cortas de raz s en una red

    [ ]dANG ,,= con costos no negativos en los arcos. Descripcin PASO 1: (Iniciacin de etiquetas). Sea ( ) 0=sd y mrquese esta etiqueta como permanente. Sea

    ( ) =xd , para todo sx y considrense estas etiquetas como temporales. Sean ( ) xxa = (estas etiquetas indicarn el predecesor de x en la arborescencia). Sea sp = .

    PASO 2: (Actualizacin de etiquetas). Para todo ( )px + que tenga etiqueta temporal, actualizar etiquetas de acuerdo a ( ) ( ) ( ) ( ){ }xpdpdxdxd ,,min += . Si xd se modific, hacer ( ) pxa = . Sea *x tal que ( ) ( ) ( ){ }xdxdxd min* = es temporal. Si ( ) =*xd , terminar. En este caso no existe arborescencia alguna de raz s. En otro caso, marcar la etiqueta ( )xd como permanente, sea *xp = .

    PASO 3: (i) (Si slo se desea la ruta de s a t). Si tp = , terminar: ( )pd es la longitud del camino ms corto. Si tp , ir al paso 2. (ii) (Si se desea la arborescencia). Si todos los nodos tienen etiquetas permanentes, terminar; sta es la longitud deseada del camino y el conjunto de arcos ( ){ }xxa , forman la arborescencia de caminos ms cortos. En otro caso, ir al paso 2.

    Justificacin del algoritmo Primero observe que el algoritmo termina en un nmero finito de iteraciones, ya sea en el paso 2 en el paso 3 puesto que el nmero de nodos es finito. Se justificar la optimalidad del algoritmo para el caso del problema de arborescencia de rutas ms cortas ya que el otro caso est comprendido en ste.

    Note que si el algoritmo termina en el paso 3, la red generada tendr 1N arcos y a s como raz; por esta razn dicha red es una arborescencia. Por otro lado se tiene que, por construccin, ( )xd es la longitud del nico camino de s a x en esta arborescencia. Ahora se probar que la arborescencia generada es de rutas ms cortas. Para ello se demostrar, por induccin sobre el nmero de iteraciones, que las etiquetas permanentes de los nodos son las longitudes de las rutas ms cortas de s a x, para todo Xx . Esto es claro en la primera iteracin. Suponga tambin que es vlido en la k-sima iteracin.

    Sea S el conjunto de nodos con etiquetas permanentes y S el conjunto de nodos con etiquetas temporales en la iteracin k. Al final del paso 2 de la iteracin 1+k la etiqueta temporal

    ( )xd , para Sx es la longitud de una ruta ms corta de s a x que contiene solamente nodos de S. En efecto, en cada iteracin slo se etiqueta permanentemente un nodo; por lo tanto, slo es necesaria la comparacin efectuada en el paso 2. En particular esto sucede para *X (nodo con la mnima etiqueta temporal).

  • Elabor Dr. Eduardo Gutirrez Gonzlez

    36

    Suponga ahora que la ruta ms corta de la raz a *X no contiene slo nodos de S. Sea el primer nodo, en el camino ms corto de s a *X , que no est en S. Puesto que los costos de los arcos son no negativos, entonces la porcin del camino de s a *X , que une a con *X , es no negativa. Sea D esta longitud. Note que la porcin del camino de s a X , que une a s con y, es un camino que contiene solamente nodos de S. Pero ( )yd es la longitud de una ruta ms corta que contiene todos sus nodos en S, luego:

    ( ) ( )*xdDyd + lo que implica

    ( ) ( ) ( )** xdDxdyd lo cual constituye una contradiccin puesto que ( )xd es el mnimo de las etiquetas temporales. Luego, se concluye que la ruta ms corta de s a x. contiene slo nodos de S y, por lo tanto, ( )*xd es su longitud. Por lo tanto, la etiqueta permanente de x es igual a la longitud de la ruta ms corta de s a x en la iteracin 1+k .

    Finalmente, observe que si ( )*xd es igual a infinito (paso 2) en alguna iteracin, entonces existe algn nodo ( *x y todos los que tengan etiqueta temporal) para el cual no existe ruta alguna desde s; puede entonces concluirse que el problema no tiene solucin puesto que en este caso s no es raz de la red.

    9.4.3. RUTA MS CORTA ENTRE TODO PAR DE NODOS Una manera de resolver el problema de rutas ms cortas entre todo par de nodos en una red G consiste en encontrar la arborescencia de rutas ms cortas de raz x para todo x elemento de N. Sin embargo existen procedimientos ms eficientes como el desarrollado por R.W. Floyd (1962) y es aplicable a redes que admiten cualquier costo en sus arcos. En dicho algoritmo se supondr una numeracin de los nodos de la red 1,2,3,...,n y se utilizar una matriz C de dimensin n para calcular las longitudes de las rutas ms cortas entre cada par de nodos; al terminar de aplicar el algoritmo, la longitud de la ruta ms corta entre los nodos i y j estar dada por el elemento ( )ji, de C.

    En el algoritmo de Floyd, en la k-sima iteracin se calcula la longitud de la ruta ms corta entre i y j que pueda admitir a los primeros k nodos, o a alguno de ellos, como nodos intermedios, este nmero se almacena en la entrada ( )ji, de la matriz C. Al inicio se asigna el costo del arco ( )ji, al elemento ( )ji, de la matriz C, si ji ; si dicho arco no existe, entonces se asigna , los valores en la diagonal sern igual a cero. Con esto quedan calculadas las longitudes de las rutas ms cortas entre todo par de nodos i y j, que no contengan ningn nodo como nodo intermedio.

    Al inicio de la k-sima iteracin, la entrada ( )ji, de C es igual a la longitud de la ruta ms corta entre i y j que contiene a los primeros 1k nodos, o a alguno de ellos, como nodos intermedios. Durante esta iteracin se compara la longitud de esta ruta con la de aquella formada por la unin de las rutas ms cortas que contienen a los primeros 1k nodos como nodos intermedios entre i y k y k y j; de esta manera se obtiene la ruta ms corta entre i y j que contiene a los primeros k nodos, o a algunos de ellos, como nodos intermedios. Procediendo de este modo se tendr que, al final de la n-sima iteracin, la entrada ( )ji, de C es la longitud de la ruta ms corta entre i y j, que contiene a los primeros n nodos como nodos intermedios o a alguno de ellos; es decir, se habr calculado la longitud de la ruta ms corta entre i y j.

  • Investigacin de Operaciones Avanzada. Sesin 9

    37

    Debe observarse que si, al finalizar el algoritmo, alguna entrada de C es igual a , esto querr decir que no existe ruta alguna entre los nodos correspondientes. Por, otro lado, si algn elemento de la diagonal de C, por ejemplo ( )ii, , es menor que cero en alguna iteracin, se habr encontrado una ruta de i a i de longitud negativa (es decir, un circuito negativo), luego en este caso el problema no tiene solucin. Este algoritmo por lo anterior es importante porque detecta circuitos negativos.

    ALGORITMO DE FLOYD El propsito del Algoritmo de Floyd es obtener las rutas ms cortas entre todo par de nodos en una red G con n nodos Descripcin PASO 1: Construya la matriz C de dimensin n cuyos elementos ijc son como sigue:

    Para 0=k

    =

    =

    Arco),( si),(

    Arco),( si,

    si,0

    jijid

    ji

    ji

    cij

    PASO 2: Haga 1+= kk para toda ki tal que ijc y para todo kj tal que ikc ;

    haga: { }kjikijij cccc += ,min

    PASO 3: i) Si 0iic para alguna i, termine. En este caso existe un circuito negativo que contiene al nodo i, por lo tanto no hay solucin.

    ii) Si 0iic , para toda i y nk = termine. ijc es la longitud del camino ms corto

    de i a j. iii) Si 0iic para toda i, y nk < ir al paso 2.

    RECUPERACIN DE LAS RUTAS Para recuperar las rutas ms cortas puede construirse una matriz A o una matriz S de orden nn (una es la transpuesta de la otra)

    =

    nnn L

    MOMM

    L

    L

    222

    111

    A o

    =

    n

    n

    n

    L

    MOMM

    L

    L

    21

    21

    21

    S

    donde el elemento ija o ijs de esta matriz ser el predecesor del nodo j en la ruta de i a j

    encontrada en cada iteracin. Dada la definicin de A, sus entradas se inicializarn iaij = o

    jsij = , para todo par de nodos Nji , .

    La matriz A o S se modificar en el paso 2 de la k-sima iteracin de acuerdo a la siguiente asignacin:

    +

    +=

    kjikijij

    ijkjik

    ij

    ccca

    cccka

    si

    si o

    +

    +=

    kjikijij

    ijkjik

    ij

    cccs

    cccks

    si

    si

  • Elabor Dr. Eduardo Gutirrez Gonzlez

    38

    JUSTIFICACIN DEL ALGORITMO

    El algoritmo de Floyd termina en exactamente n iteraciones, donde n es el nmero de nodos de la red, a menos que termine en el inciso i) del paso 3, en cuyo caso terminar en menos de n iteraciones.

    Al principio de la iteracin 1 (Paso 1) la entrada ( )ji, de la matriz representa la longitud de la ruta ms corta, que no contiene ningn nodo intermedio entre los nodos i y j.

    Durante el paso 2 de esta iteracin se realiza una comparacin entre dicha longitud ( )ijc y la de aquella ruta formada por la unin de la ruta entre i con 1 y la ruta entre 1 con j ( )ji cc 11 + ; de este modo se obtiene la longitud de la ruta ms corta entre los nodos i y j, que no contiene ningn nodo intermedio o que contiene al nodo 1 como intermedio.

    Suponga que al final de la iteracin ijck ,1 representa la longitud de la ruta ms corta

    entre i y j, que contiene los primeros 1k nodos como nodos intermedios o algunos de ellos. Durante el paso 2 de la iteracin k, se realiza la comparacin entre esta ltima longitud ( )ijc y la de aqulla ruta formada por la unin de las rutas ms cortas, que admiten a los primeros 1k nodos como nodos intermedios entre i y k y entre k y j ( kjik cc + ); entonces, al final de la k-sima

    iteracin, ( )ijc es igual a la longitud de la ruta ms corta entre i y j, que contiene a los primeros k nodos como intermedios o a algunos de ellos.

    De lo anterior se concluye que, al final de la iteracin n, ( )ijc es la longitud de la ruta ms corta entre los nodos i y j.

    El algoritmo de FLOYD se puede reformular de la siguiente manera:

    ALGORITMO DE FLOYD

    PASO GENERAL k: Defina el rengln k y la columna k como rengln pivote y columna pivote. Aplique la triple operacin a cada elemento ijd en 1kD para todo i y j. Si la condicin

    ( )jikjkidad ijkjik

  • Investigacin de Operaciones Avanzada. Sesin 9

    39

    3. Si pjkjpk ddd

  • Elabor Dr. Eduardo Gutirrez Gonzlez

    40

    EJERCICIO

    Encuentre la ruta ms corta entre las ciudades de la siguiente red.

    a) 1 y 8

    b) 1 y 6

    c) 4 y 8

    d) 2 y 6

    9.6 FLUJO MXIMO

    El problema consiste en maximizar el flujo de + NN sobre todos los flujos x tales que las

    divergencias 0)( =iy para todas las + NNi factibles con respecto a las capacidades.

    Se supondr la existencia de al menos un flujo que satisfaga todas las restricciones de:

    Capacidad Ajjcjxjc + ),()()(

    Conservacin +

    = NNijxjieAj

    ;0)(),(

    9.6.1 FLUJO MXIMO Y CORTE MNIMO, FORD Y FULKERSON

    Teorema de Flujo mximo-corte mnimo (Ford y Fulkerson)

    Suponga que existe al menos un flujo x que satisface todas las restricciones del problema de flujo mximo, entonces:

    Supremo en problemas de flujo mximo = mnimo en problemas de corte mnimo.

    Nota: Si el corte tiene capacidad ilimitada la igualdad puede ser .

    Algoritmo de Ford y Fulkerson

    Determinar el flujo mximo de + NN en una red G en la cual no existen trayectorias de capacidad ilimitada.

    Paso 1. Determinar x, un flujo que satisfaga todas las restricciones del problema.

    Paso 2. Colorear los arcos de G de acuerdo a:

    Verde si )()()( jcjxjc +

  • Investigacin de Operaciones Avanzada. Sesin 9

    41

    Negro si )()()( jcjxjc + =< .

    Rojo si )()()( jcjxjc + == .

    Paso 3. Con el algoritmo de enrutamiento determinar una trayectoria compatible con la coloracin (es decir, una trayectoria aumentada para x).

    Si se determina la trayectoria + NNP : compatible con la coloracin, entonces calcular

    =

    ++

    Pjjcjx

    Pjjxjc

    )()(

    )()(min

    Hacer pexx += y regresar al paso 2.

    Si se determina un corte + NNQ : compatible con la coloracin terminar con el flujo mximo x y el corte mnimo Q ya que este ltimo satisface

    ++

    =

    =

    Qjjxjc

    Qjjxjc

    )()(

    )()(

    Por lo tanto, el flujo x a travs de )()()( QcjxjxQQjQj

    +

    == +

    .

    EJERCICIO

    Demuestre que el problema de flujo mximo con conjuntos ON y DN tales que estn contenidos en N y su interseccin es vaca, no es ms que la generalizacin del caso especial en que ON y

    DN consisten de un slo nodo.

    Nota En donde, N conjunto de nodos de la red. ON conjunto de nodos de la red que estn en el origen de donde parte el flujo. DN conjunto de nodos de la red a donde llega el flujo.

    Comnmente ON est representado por +N , y DN con N , pero me confundo en ocasiones con los significados de los flujos y cortes al utilizar los signos + para salidas y para entradas, por tal razn utilizar ON y DN .

  • Elabor Dr. Eduardo Gutirrez Gonzlez

    42

    EJEMPLO 9.13

    Resuelva el problema de flujo mximo y corte mnimo de la siguiente red.

    [ ]5,0

    [ ]2,0

    [ ]4,0 [ ]1,1

    ON

    DN

    EJERCICIO

    Forma equivalente del modelo de flujo mximo. Es usual que en la literatura se analice un problema bajo un formato especfico y que posteriormente se muestre su generalidad mediante manipulaciones que no cambian el problema original.

    a. Suponga que el problema de flujo mximo se ha establecido y analizado eficientemente para el caso en que los intervalos de capacidad de todos los arcos son de la forma [ ),c , donde c es un escalar finito. Demuestre que el problema de flujo mximo con intervalos de capacidad generales se puede reducir a ste caso.

    b. Aplique lo anterior a la siguiente red.

    1i 4i 7i 10i

    2i 5i 8i 11i

    6i 3i 9i 12i

    [ ]2,0

    [ ]4,2

    [ ]1,1

    [ ]9,2

    [ ]2,6

    [ ]3,2

    [ ]1,0

    ),(

    [ ]5,1

    [ ),0

    [ ]8,1

    [ ]1,0

    [ ]6,5

  • Investigacin de Operaciones Avanzada. Sesin 9

    43

    EJERCICIO

    Exprese el problema de flujo mximo como un problema de programacin lineal estndar y escriba el programa dual correspondiente. Demuestre que dicho dual corresponde al problema de corte mnimo.

    9.6.2 FACTIBILIDAD DE FLUJO

    El algoritmo de flujo mximo requiere inicialmente un flujo factible en la red, es decir, un flujo que satisfaga las restricciones de capacidad y conservacin en arcos y nodos, respectivamente. Se considera un caso especial de un modelo ms general llamado el problema de distribucin factible, en donde adems se tiene que las divergencias en los nodos deben coincidir con cantidades preestablecidas de oferta y demanda en los nodos.

    EJERCICIO

    Resuelva el problema de flujo factible usando distribucin factible.

    1

    3

    2

    4

    [ ]2,3

    ),(

    [ ]4,8 ( ]4, [ ),4

    3

    6i

    3

    1i

    0

    2i

    0 3i

    0

    7i

    0

    8i

    0

    4i

    6 5i

    [ ]3,5 [ ]3,2 [ ]4,2 [ ]1,1

    [ ]3,0 [ ),0 [ ]4,0 [ ]1,1

    [ ]1,1 ),(

    [ ]2,0 [ ]4,0

    ( ]0, [ ]1,3

  • Elabor Dr. Eduardo Gutirrez Gonzlez

    44

    Ejercicio 2

    Resuelva el problema de flujo factible representado en la red siguiente utilizando el algoritmo de rectificacin de flujo. Las ofertas son 52 =i , 57 =i e 0=ji para 6,5,4,3,1=j

    Ejercicio 1

    Resuelva el problema de flujo factible en la siguiente red, puede usar cualquiera de los dos algoritmos vistos en clase.

    6i [ ]5,0

    1i 2i

    3i 7i

    4i 5i

    [ ]3,4

    ),(

    [ ]0,0 [ ]1,1

    [ ]2,2

    [ ]2,2

    [ ]1,6

    [ ]2,0

    [ ),5

    [ ),2

    [ ),0

    0

    2i

    -5 5i

    3i

    1i

    0 4i

    [ ]4,0 [ ]2,2 [ ]4,0

    [ ]5,0 [ ]1,2 [ ]1,3 [ ]2,4

    [ ]2,0 [ ]1,1

    [ ]3,0

    [ ]1,0 -4

    6i

    9

    0