modelosoptimizacionredes

67
Modelos de Optimización de Redes 1 Docente Ing. J. Paredes C. UNIVERSIDAD SAN PEDRO Ingeniería Industrial Investigación Operativa II MODELOS DE OPTIMIZACION DE REDES Los modelos de redes son aplicables a una extensa variedad de problemas de decisión, los cuales pueden ser modelados como problemas de optimización de redes que pueden ser eficiente y efectivamente resueltos. Algunos de estos problemas de decisión son realmente problemas físicos, tales como el transporte o flujo de bienes materiales, redes de comunicación, vuelos de los aeropuertos, rutas de navegación de los cruceros, estaciones de bombeo que transportan fluido a través de tuberías, rutas entre ciudades, redes de conductos y todas aquellas situaciones que puedan representarse mediante una red donde los nodos representan las estaciones o las ciudades, los arcos los caminos, las líneas aéreas, los cables, las tuberías y el flujo lo representan los camiones, mensajes y fluidos que pasan por la red. Con el objetivo de encontrar la ruta más corta si es una red de caminos o enviar el máximo fluido si es una red de tuberías. Sin embargo, muchos problemas de redes son más que una representación abstracta de procesos o actividades, tales como el camino crítico en las actividades entre las redes de un proyecto gerencial. La familia de redes de los problemas de optimización incluye los siguientes prototipos de modelos: Problemas de asignación, camino crítico, flujo máximo, camino más corto, transporte y costo mínimo de flujos. Los problemas son establecidos fácilmente mediante el uso de arcos de redes y de los nodos. Uno de los mayores desarrollos recientes en investigación de operaciones (IO) ha sido el rápido avance tanto en la metodología como en la aplicación de los modelos de optimización de redes. La aparición de algunos algoritmos ha tenido un impacto importante, al igual que las ideas de ciencias de la computación acerca de estructuras de datos y la manipulación eficiente de los mismos. En consecuencia, ahora se dispone de algoritmos y paquetes de computadora y se usan en forma rutinaria para resolver problemas muy grandes que no se habrían podido manejar hace dos o tres décadas. Cuando se trata de encontrar el camino más corto entre un origen y un destino, la técnica, algoritmo o el modelo adecuado es el de la ruta más corta; aunque existen otros modelos de redes como el árbol de expansión mínima, flujo máximo y flujo de costo mínimo cada uno abarca un problema en particular. En esta separata se mencionan los modelos de redes existentes y los problemas que abarca cada uno de ellos, además se describen los algoritmos que aplican estos modelos para encontrar la solución optima al problema. Utilizando la terminología utilizada para representarlos como una red. NOTACIÓN Y TERMINOLOGÍA Definición de Red: Una red consiste en una serie de nodos(o vértices) enlazados con arcos (o ligaduras, aristas, o ramas). La notación para describir una red es (N, A), donde N es el conjunto de nodos y A es el conjunto de arcos. Por ejemplo, la red de la figura siguiente se describe como sigue: N = {1, 2, 3, 4, 5} A = {(1,2), (1,3), (2,3), (2,5), (3,4), (3,5), (4,2), (4,5)} Los arcos se etiquetan para dar nombres a los nodos en sus puntos terminales, por ejemplo, 13 es el arco entre los nodos 1 y 3. En un problema de programación lineal, las redes pueden representar un conjunto de estaciones, campos petrolíferos, almacenes, fabricas, sucursales, ciudades, interconectadas entre sí a través de caminos, conductos, tuberías que permiten fluir productos para la comercialización o la distribución. Ejemplo de una red (N, A) Con cada red se asocia algún tipo de flujo (por ejemplo, flujo de productos petroleros en un oleoducto y flujos de tráfico de automóviles en carretearas). En general, el flujo en una red está limitado por la capacidad de sus arcos, que pueden ser finitos o infinitos. Figura N o 1: Representación de una red

Upload: juan-paredes-campos

Post on 02-Oct-2015

41 views

Category:

Documents


1 download

DESCRIPTION

Modelos de optimizacion de redes

TRANSCRIPT

  • Modelos de Optimizacin de Redes 1 Docente Ing. J. Paredes C.

    UNIVERSIDAD SAN PEDRO Ingeniera Industrial

    Investigacin Operativa II

    MODELOS DE OPTIMIZACION DE REDES

    Los modelos de redes son aplicables a una extensa variedad de problemas de decisin, los cuales pueden ser

    modelados como problemas de optimizacin de redes que pueden ser eficiente y efectivamente resueltos. Algunos de estos problemas de decisin son realmente problemas fsicos, tales como el transporte o flujo de bienes

    materiales, redes de comunicacin, vuelos de los aeropuertos, rutas de navegacin de los cruceros, estaciones de

    bombeo que transportan fluido a travs de tuberas, rutas entre ciudades, redes de conductos y todas aquellas

    situaciones que puedan representarse mediante una red donde los nodos representan las estaciones o las ciudades, los arcos los caminos, las lneas areas, los cables, las tuberas y el flujo lo representan los camiones, mensajes y

    fluidos que pasan por la red. Con el objetivo de encontrar la ruta ms corta si es una red de caminos o enviar el

    mximo fluido si es una red de tuberas. Sin embargo, muchos problemas de redes son ms que una representacin

    abstracta de procesos o actividades, tales como el camino crtico en las actividades entre las redes de un proyecto gerencial.

    La familia de redes de los problemas de optimizacin incluye los siguientes prototipos de modelos:

    Problemas de asignacin, camino crtico, flujo mximo, camino ms corto, transporte y costo mnimo de flujos. Los problemas son establecidos fcilmente mediante el uso de arcos de redes y de los nodos.

    Uno de los mayores desarrollos recientes en investigacin de operaciones (IO) ha sido el rpido avance

    tanto en la metodologa como en la aplicacin de los modelos de optimizacin de redes. La aparicin de algunos algoritmos ha tenido un impacto importante, al igual que las ideas de ciencias de la computacin acerca de

    estructuras de datos y la manipulacin eficiente de los mismos. En consecuencia, ahora se dispone de algoritmos y

    paquetes de computadora y se usan en forma rutinaria para resolver problemas muy grandes que no se habran

    podido manejar hace dos o tres dcadas.

    Cuando se trata de encontrar el camino ms corto entre un origen y un destino, la tcnica, algoritmo o el

    modelo adecuado es el de la ruta ms corta; aunque existen otros modelos de redes como el rbol de expansin

    mnima, flujo mximo y flujo de costo mnimo cada uno abarca un problema en particular. En esta separata se mencionan los modelos de redes existentes y los problemas que abarca cada uno de ellos, adems se describen los

    algoritmos que aplican estos modelos para encontrar la solucin optima al problema. Utilizando la terminologa

    utilizada para representarlos como una red.

    NOTACIN Y TERMINOLOGA

    Definicin de Red: Una red consiste en una serie de nodos(o vrtices) enlazados con arcos (o ligaduras, aristas, o ramas). La notacin para describir una red es (N, A), donde N es el conjunto de nodos y A es el conjunto de arcos. Por ejemplo, la red de la figura siguiente se describe como sigue:

    N = {1, 2, 3, 4, 5}

    A = {(1,2), (1,3), (2,3), (2,5), (3,4), (3,5), (4,2), (4,5)}

    Los arcos se etiquetan para dar nombres a los nodos en sus puntos terminales, por ejemplo, 13 es el arco entre los

    nodos 1 y 3.

    En un problema de programacin lineal, las redes pueden representar un conjunto de estaciones, campos petrolferos, almacenes, fabricas, sucursales, ciudades, interconectadas entre s a travs de caminos, conductos,

    tuberas que permiten fluir productos para la comercializacin o la distribucin.

    Ejemplo de una red (N, A)

    Con cada red se asocia algn tipo de flujo (por ejemplo, flujo de productos petroleros en un oleoducto y flujos de trfico de automviles en carretearas). En general, el flujo en una red est limitado por la capacidad de sus arcos,

    que pueden ser finitos o infinitos.

    Figura No 1: Representacin de una red

  • Modelos de Optimizacin de Redes 2 Docente Ing. J. Paredes C.

    UNIVERSIDAD SAN PEDRO Ingeniera Industrial

    Investigacin Operativa II

    Red de distribucin: Una coleccin finita de nodos (cada uno de los cuales representa una planta, un almacn o una tienda detallista); un arco indica la posibilidad de enviar bienes entre los dos nodos conectados por el arco.

    Red de flujo: Entendiendo una red de flujo como un grafo dirigido, donde la fuente es quien produce o inicia el traspaso de algn material o producto por los arcos, estos ltimos, vistos como caminos o conductos y tomando en

    cuenta la ley de corrientes de Kirchoff, donde, la suma de flujos entrantes a un vrtice debe ser igual a la suma de

    flujos saliendo del vrtice.

    Nodo: Es usualmente llamado vrtice, o punto. Es usualmente representado por un crculo de una red de distribucin. En las redes de distribucin o transporte, estos deberan ser las localidades o las ciudades en un mapa,

    plantas, almacenes o tiendas al menudeo.

    Arco: Es usualmente llamado borde o flecha. Lnea de una red de distribucin que conecta un par de nodos. Se le utiliza para representar una ruta vlida desde el nodo de origen al nodo distribucin. La cabeza es el destino, y la cola el origen. La cabeza y la cola son nodos que pueden estar tanto al origen como al

    final. En las redes de transporte, los arcos podran ser los caminos, los canales de navegacin en un ro, o los

    patrones de vuelo de un avin. Los arcos proporcionan la conectividad entre los nodos. Una calle de una sola

    direccin podra ser representada por un arco, mientras que una calle de dos direcciones podra representada por un arco sin direccin o por dos arcos que apuntan a direcciones opuestas.

    Arcos Dirigidos: Se dice que un arco es dirigido cuando el arco tiene flujo en una direccin (como en una calle de un sentido). 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 1 al nodo 2 debe etiquetarse como 12 y no como 21.

    Otra Manera es 1 2.

    Arcos no Dirigidos: Si el flujo a travs de un arco se permite en ambas direcciones (como una tubera que se puede usar para bombear fluido en ambas direcciones), se dice que es un arco no dirigido. Tambin se les llama ligadura. Aunque se permita que el flujo a travs de un arco no dirigido ocurra en cualquier

    direccin, se supone que ese flujo ser en una direccin, en la seleccionada, y no se tendr flujos simultneos en

    direcciones opuestas.

    Ruta o Trayectoria: Es una sucesin de arcos distintos que unen dos nodos pasando por otros nodos, independientemente de la direccin de flujo de cada arco.

    Una coleccin de arcos formados por una serie de nodos adyacentes Los nodos estn conectados si existe una ruta entre ellos.

    Trayectoria Dirigida o Red Dirigida: Una trayectoria dirigida del nodo i al nodo j, es una sucesin de arcos cuya direccin (si la tienen) es hacia el nodo j, de manera que el flujo del nodo i al nodo j, a travs de esta

    trayectoria es factible. Una red es dirigida si tiene todos sus arcos dirigidos.

    Trayectoria no Dirigida o Red no Dirigida: Una trayectoria no dirigida del nodo i al nodo j es una sucesin de arcos cuya direccin (si la tienen) pueden ser hacia o desde el nodo j. Con frecuencia alguna trayectoria no

    dirigida tendr algunos arcos dirigidos hacia el nodo j y otros desde l (es decir, hacia el nodo i).

    Ciclo: Un ciclo se produce cuando al partir de un nodo por un cierto camino se vuelve al mismo nodo por otra ruta. Por ejemplo en la figura No 1, los arcos (2,3), (3,5) y (5,2) forman un bucle o circuito cerrado.

    Un ciclo es dirigido si consiste en una ruta dirigida, por ejemplo (2,3), (3,4) y (4,2) en la figura No 1.

    Red conectada es aquella en que cada dos nodos distintos estn enlazados al menos por una ruta. La red de la figura es un ejemplo de este tipo.

    Red Conexa: Una red conexa es una red en la que cada par de nodos est conectado. Se dice que dos nodos estn conectados si la red contiene al menos una trayectoria no dirigida entre ellos. Se debe resaltar que no es necesaria

    que la trayectoria sea dirigida aun cuando la red sea dirigida. La figura No 1 representa una red conexa.

    rbol: Un grafo que no tiene ciclos y que conecta a todos los puntos, se llama un rbol. En un grafo con n vrtices, los rboles tienen exactamente n - 1 aristas, y hay nn-2 rboles posibles. Su importancia radica en que los rboles son

  • Modelos de Optimizacin de Redes 3 Docente Ing. J. Paredes C.

    UNIVERSIDAD SAN PEDRO Ingeniera Industrial

    Investigacin Operativa II

    grafos que conectan todos los vrtices utilizando el menor nmero posible de aristas. Un importante campo de

    aplicacin de su estudio se encuentra en el anlisis filogentico, el de la filiacin de entidades que derivan unas de otras en un proceso evolutivo, que se aplica sobre todo a la averiguacin del parentesco entre especies .

    Un rbol es una red conectada que puede consistir slo en un subconjunto de todos los nodos en ella, donde no se

    permiten ciclos.

    rbol de Expansin: es una red conexa para los n nodos, que contiene ciclos no dirigidos. Todo rbol de expansin tiene justo n-1 arcos, ya que este es el nmero mnimo de arcos necesarios para tener una red conexa y el

    mximo nmero posible para que no haya ciclos no dirigidos.

    Flujo: Corresponde a la cantidad que debe transportarse desde un nodo i a un nodo j a travs de un arco que los conecta. La siguiente notacin es usada:

    Xij= cantidad de flujo

    Uij= cota mnima de flujo que se debe transportar Lij= cota mxima de flujo que se puede transportar.

    Nodos adyacentes: Un nodo j es adyacente con un nodo i si existe un arco que une el nodo j con el nodo i.

    Ruta: Una coleccin de arcos formados por una serie de nodos adyacentes Los nodos estn conectados si existe una ruta entre ellos.

    Capacidad de Arco: Es la cantidad mxima de flujo (quizs infinito) que puede circular en un arco dirigido.

    Nodo Fuente: (o nodo de origen) tiene la propiedad de que el flujo que sale del nodo excede al flujo que entra a l.

    Nodo Demanda: (o nodo destino) es el caso contrario al nodo fuente, donde el flujo que llega excede al que sale de l.

    Nodo de Trasbordo: (o nodo intermedio) satisface la conservacin del flujo, es decir, el flujo que entra es igual al que sale.

    La importancia de los modelos de redes: o Muchos problemas comerciales pueden ser resueltos a travs de modelos redes o El resultado de un problema de redes garantiza una solucin entera, dada su estructura matemtica. No se

    necesitan restricciones adicionales para obtener este tipo de solucin.

    o Problemas de redes pueden ser resueltos por pequeos algoritmos, no importando el tamao del problema, dada su estructura matemtica.

    Vista general de algunas aplicaciones prcticas de la optimizacin de redes 1. Diseo de redes de telecomunicacin (redes de fibra ptica, de computadores, telefnicas, de televisin por

    cable, etc.)

    2. Diseo de redes de transporte para minimizar el costo total de proporcionar las ligaduras (vas ferroviarias, carreteras, etc.)

    3. Diseo de una red de lneas de transmisin de energa elctrica de alto voltaje.

    Figura No 2: Ejemplo de un rbol

  • Modelos de Optimizacin de Redes 4 Docente Ing. J. Paredes C.

    UNIVERSIDAD SAN PEDRO Ingeniera Industrial

    Investigacin Operativa II

    4. Diseo de una red de cableado en equipo elctrico (como sistemas de computo) para minimizar la longitud total del cable.

    5. Diseo de una red de tuberas para conectar varias localidades. 6. Diseo de una red de tuberas de gas natural mar adentro que conecta fuentes del golfo de Mxico con un

    punto de entrega en tierra con el objetivo de minimizar el costo de construccin.

    7. Determinacin de la ruta ms corta que une dos ciudades en una red de caminos existentes. 8. Determinar la capacidad anual de mxima en toneladas de una red de conductos de pasta aguada de carbn

    que enlaza las minas carboneras de Wyoming con las plantas generadoras de electricidad Houston. (Los

    conductos de pasta aguada de carbn transportan ste bombeando agua a travs de tubos adecuadamente

    diseados que operan entre las minas de carbn y el destino deseado.) 9. Determinacin del programa de costo mnimo de los campos petrolferos a refineras y finalmente a los

    campos de distribucin. Se pueden enviar petrleo crudo y productos derivados de la gasolina en buques

    tanque, oleoductos y/o camiones. Adems de la disponibilidad de la oferta mxima en los campos petrolferos

    y los requisitos de demanda mnima en los centros de distribucin, deben tomarse en cuenta restricciones sobre la capacidad de las refineras y los modos de transporte.

    MODELOS DE REDES Los problemas de optimizacin de redes se pueden representar en trminos generales a travs de uno de estos cuatro

    modelos:

    o Problemas de transporte o Problemas de asignacin o Modelo de la ruta ms corta. (Algoritmo de Dijkstra, Algoritmo de Floyd-Warshall, Bellman-Ford, Algoritmo

    de Johnson)

    o Modelo de minimizacin de redes (Problema del rbol de mnima expansin: Algoritmo de Kruskal, Algoritmo de Prim).

    o Modelo del flujo mximo(Algoritmo de Ford-Fulkerson, Algoritmo de Edmonds-Karp) o Modelo del flujo del costo mnimo. o Camino critico en la planificacin de Proyecto de Redes

    MODELO DE LA RUTA MS CORTA En la Teora de grafos, el problema de los caminos ms cortos es el problema que consiste en encontrar un camino

    entre dos vrtices (o nodos) de tal manera que la suma de los pesos de las aristas que lo constituyen es mnima. Un ejemplo es encontrar el camino ms rpido para ir de una ciudad a otra en un mapa. En este caso, los vrtices

    representan las ciudades, y las aristas las carreteras que las unen, cuya ponderacin viene dada por el tiempo que se

    emplea en atravesarlas.

    Formalmente, dado un grafo ponderado (que es un conjunto V de vrtices, un conjunto E de aristas y una funcin de

    variable real ponderada f: E R) y un elemento v V encuentra un camino P de v a v' V, tal que:

    Es el mnimo entre todos los caminos que conectan v y v'.

    El problema es tambin conocido como el problema de los caminos ms cortos entre dos nodos, para diferenciarlo

    de la siguiente generalizacin:

    El problema de los caminos ms cortos desde un origen en el cual tenemos que encontrar los caminos ms cortos de un vrtice origen v a todos los dems vrtices del grafo.

    El problema de los caminos ms cortos con un destino en el cual tenemos que encontrar los caminos ms cortos desde todos los vrtices del grafo a un nico vrtice destino, esto puede ser reducido al

    problema anterior invirtiendo el orden.

    El problema de los caminos ms cortos entre todos los pares de vrtices , el cual tenemos que encontrar los caminos ms cortos entre cada par de vrtices (v, v') en el grafo.

    Algoritmos Los algoritmos ms importantes para resolver este problema son:

    Algoritmo de Dijkstra, resuelve el problema de los caminos ms cortos entre dos vrtices, desde un origen y un nico destino.

  • Modelos de Optimizacin de Redes 5 Docente Ing. J. Paredes C.

    UNIVERSIDAD SAN PEDRO Ingeniera Industrial

    Investigacin Operativa II

    Algoritmo de Floyd - Warshall, resuelve el problema de los caminos ms cortos entre todos los vrtices.

    Algoritmo de Bellman - Ford, resuelve el problema de los caminos ms cortos desde un origen si la ponderacin de las aristas es negativa.

    Algoritmo de Bsqueda A, resuelve el problema de los caminos ms cortos entre un par de vrtices usando la heurstica para intentar agilizar la bsqueda.

    Algoritmo de Johnson, resuelve el problema de los caminos ms cortos entre todos los vrtices y puede ser ms rpido que el de Floyd - Warshall en grafos de baja densidad.

    Teora perturbacional, encuentra en el peor de los casos el camino ms corto a nivel local.

    Problemas Relacionados El problema de viajante de comercio, es el problema que trata de encontrar el camino ms corto que pasa slo una

    vez por cada vrtice y regresa al comienzo. A diferencia de los caminos ms cortos, el cual puede ser resuelto en un

    tiempo polinomial en grafos sin ciclos negativos.

    EL PROBLEMA DEL AGENTE VIAJERO El popular problema del agente viajero, como los dems de redes, involucra un conjunto de nodos y arcos que

    conectan todos los nodos. El objetivo es encontrar la forma de realizar una gira completa que conecte todos los nodos visitando slo una vez cada nodo y minimizar o maximizar la distancia de la gira total (itinerario optimo

    desde un cierto punto de vista econmico, tiempo mnimo, poltica de relaciones pblicas, comodidad, etc.) y volver

    al punto de partida. Este modelo tiene mltiples aplicaciones en ingeniera.

    Este es un problema tpico de fenmenos de organizacin y tiene consecuencias e implicaciones econmicas y tcnicas importantes.

    Formulacin del El Problema del Agente Viajero (PAV) o Traveling Salesman Problem (TSP)

    El TSP presenta una gran facilidad para formularse, pero a medida que crece el nmero de ciudades, el tiempo para obtener una solucin ptima crece ms. Para formular el TSP como un problema de programacin entera se usa la

    variable Xij que toma el valor de 1 si el arco (i, j) es usado, y el valor de 0 en cualquier otro caso.

    La formulacin de este problema es la siguiente:

    {

    Cij = el costo asociado a la visita de la ciudad j despus de visitar la ciudad i.

    Min z =

    Sujeto a las siguientes restricciones, Para garantizar que se llega a cada ciudad exactamente una vez:

    (j= 1,2,., n+1) Para garantizar que se sale de cada ciudad exactamente una vez:

    (i= 1,.., n)

    Por su gran facilidad para ser formulado y por su gran adaptabilidad a mltiples situaciones prcticas el TSP ha sido uno de los problemas de optimizacin que mayor inters ha despertado a los investigadores en las reas de

    matemticas discretas, computacin e investigacin de operaciones.

    La figura del ejemplo No 1 representa ciudades, en los nodos, y los valores en los arcos son las distancias que las separan.

    Definicin del problema

    - Existen m nodos

  • Modelos de Optimizacin de Redes 6 Docente Ing. J. Paredes C.

    UNIVERSIDAD SAN PEDRO Ingeniera Industrial

    Investigacin Operativa II

    - Un costo unitario C ij es asociado al arco (i,j). El objetivo es encontrar el ciclo que minimice el costo total al visitar todos los nodos exactamente una vez

    Complejidad

    Escribir el modelo matemtico y resolverlo resulta muchas veces incmodo, ya que un problema de 20 ciudades

    requiere de 500,000 restricciones.

    Ejemplo Desarrollado No 1: Problema del Controlador

    Se debe realizar una visita a cuatro oficinas locales de la empresa, partiendo de la oficina principal y volviendo a la

    misma, la cual est ubicada en Lima.

    Hacia la oficina

    Oficina principal (H) Oficina1 Oficina2 Oficina3 Oficina4

    De

    Oficina principal (H) 30 45 65 80

    Oficina1 30 25 50 50

    Oficina2 45 25 40 40

    Oficina3 65 50 40 40

    Oficina4 80 50 40 35 35

    Tabla No 1: Datos del problema

    Solucin

    - Identificacin de los posibles ciclos.

    - Existen (m-1)1 ciclos posibles - Solo problemas pequeos pueden ser resueltos.

    - Se utiliza una combinacin de problemas de asignacin con la tcnica Branch and Bound.

    - Problemas con menos de 20 nodos pueden ser resueltos en forma eficiente por este mtodo.

    EL PROBLEMA DEL CONTROLADOR - Identificacin de los posibles ciclos

    Ciclo Tiempo Total

    1. H-O1-O2-O3-O4-H 210

    2. H-O1-O2-O4-O3-H 195 3. H-O1-O3-O2-O3-H 240

    4. H-O1-O3-O4-O2-H 200

    5. H-O1-O4-O2-O3-H 225

    6. H-O1-O4-O3-O2-H 200 7. H-O2-O3-O1-O4-H 265

    8. H-O2-O1-O3-O4-H 235

    9. H-O2-O4-O1-O3-H 250

    10. H-O2-O1-O4-O3-H 220 11. H-O3-O1-O2-O4-H 260

    12. H-O3-O1-O2-O4-H 260

    Figura No 3: Tiempo en minutos para

    trasladarse de la oficina principal a

    cualquier oficina y entre oficinas

  • Modelos de Optimizacin de Redes 7 Docente Ing. J. Paredes C.

    UNIVERSIDAD SAN PEDRO Ingeniera Industrial

    Investigacin Operativa II

    SOLUCION CON WINQSB Hacer clic sobre el comando NetWork Modeling

    La opcin Nuevo Problema (New Problem) generar la siguiente ventana:

    Existen 7 modelos fundamentales para el tratamiento de los problemas que involucran redes con el fin de optimizar

    el uso de algn recurso, generalmente tratndose de la minimizacin de costos, tiempo o la maximizacin del flujo a

    travs de una red. Estos modelos son:

    Flujo en redes o modelo de trasbordo (Network Flow) Problema de transporte (Transportation Problem) Problema de asignacin (Assignment Problem) Problema de la ruta ms corta (Shortest Path Problem) Problema de flujo mximo (Maximal Flow Problem) rbol de mnima expansin (Minimal Spanning Tree) Problema del agente viajero (Traveling Salesman Problem)

    Para modificar los nombres de los nodos pulsamos sobre Node Name en el men Editar (Edit). Modifiquemos

    dichos nombre como se muestra a continuacin:

    Figura No 4: Primera ventana del

    WINQSB en blanco

    Figura No 5: Primera ventana del

    WINQSB con datos

    Figura No 6: Ventana en forma de

    matriz para los datos de entrada que

    son las distancias

  • Modelos de Optimizacin de Redes 8 Docente Ing. J. Paredes C.

    UNIVERSIDAD SAN PEDRO Ingeniera Industrial

    Investigacin Operativa II

    Datos de entrada para el problema del controlador

    En esta ventana marque la opcin Branch And Bound Method

    Figura No 8: Solucin de WINQSB, una combinacin de problema de asignacin y la tcnica Branch and Bound

    Ejemplo Desarrollado No 2: Un viajero tiene que visitar cada una de las cuatro ciudades y lo quiere hacer de tal

    manera que visite una sola vez partiendo de la ciudad 1 y regresando al final del recorrido, viajando el menor tiempo

    posible, la siguiente tabla muestra los tiempos entre ciudades (horas):

    De 1 2 3 4

    1 0 1 5 4

    2 7 0 3 1

    3 5 3 0 2

    4 4 1 2 0

    De 1 2 3 4

    1 X1 X2 X3

    2 X4 X5 X6

    3 X7 X8 X9

    4 X10 X11 X12

    Cada cuidad debe visitarse una sola vez.

    Planteamiento

    Figura No 7: Ventana de opciones

  • Modelos de Optimizacin de Redes 9 Docente Ing. J. Paredes C.

    UNIVERSIDAD SAN PEDRO Ingeniera Industrial

    Investigacin Operativa II

    1 S pasa por la ciudad i a la j

    Xij = { 0 No pasa por la ciudad i a la j

    Min Z = X1 + 5X2 + 4X3 + 7X4 + 3X5 + X6 + 5X7 + 3X8 + 2X9 + 4X10 + X11 + 2X12

    Sujeto a:

    X1 + X2 + X3 = 1 X4 + X7 + X10 = 1

    X4 + X5 + X6 = 1 X1 + X8 + X11 = 1

    X7 + X8 + X9 = 1 X2 + X5 + X12 = 1 X10 + X11 + X12 = 1 X3 + X6 + X9 = 1

    Limitacin de salida Limitacin de llegada

    Xij >= 0 Z Solucin DS POM

    Ejecute DS POM, seleccione la opcin programacin lineal

    Seleccione 8 restricciones y 12 variables y de clic en OK

    Digite los datos en la matriz anterior y ejecute Solve

  • Modelos de Optimizacin de Redes 10 Docente Ing. J. Paredes C.

    UNIVERSIDAD SAN PEDRO Ingeniera Industrial

    Investigacin Operativa II

    Interpretacin de resultados

    Par la interpretacin de resultados regresamos al nombre original de las variables y obtener lo siguiente:

    Por lo tanto se dice que el recorrido ser de siguiente manera:

    Pasa de la ciudad 1 a la 2

    Pasa de la ciudad 2 a la 4

    Pasa de la ciudad 4 a la 3 Pasa de la ciudad 3 a la 1 terminando donde se inici el recorrido.

    El tiempo mnimo usado asiendo este recorrido ser de 9 horas.

    Redes de flujo Los problemas relacionados con la comunicacin de diferentes lugares, en donde existe la necesidad de enviar y /o

    recibir unidades (bienes, servicios, gente, informacin), se pueden analizar como modelos de red con flujo de tales unidades.

    La estructura matemtica del modelo obtenido a partir de una red de flujo, es muy especial y ha facilitado el

    desarrollo de algoritmos de solucin, especficos de esos problemas. La aplicacin de dichos algoritmos de redes de

    flujo, es la oportunidad para comprobar su gran eficiencia en cuanto a labor de clculo, comparados con el simplex que as se reconoce, eficiente y, adems verstil. Ahora se presenta la aplicacin de redes de flujo y algoritmos a

    problemas importantes en el transporte de unidades.

    Teora de grafos En matemticas y en ciencias de la computacin, la teora de grafos (tambin llamada teora de las grficas)

    estudia las propiedades de los grafos (tambin llamadas grficas). Un grafo es un conjunto, no vaco, de objetos

    llamados vrtices (o nodos) y una seleccin de pares de vrtices, llamados aristas (edges en ingls) que pueden ser orientados o no. Tpicamente, un grafo se representa mediante una serie de puntos (los vrtices) conectados por

    lneas (las aristas).

    Solucin:

    Variable Horas X1 = 1 1

    X6 = 1 1

    X7 = 1 5

    X12 = 1 2

    Total 9

  • Modelos de Optimizacin de Redes 11 Docente Ing. J. Paredes C.

    UNIVERSIDAD SAN PEDRO Ingeniera Industrial

    Investigacin Operativa II

    Diagrama de un grafo con 6 vrtices y 7 aristas.

    Vrtice Los vrtices constituyen uno de los dos elementos que forman un grafo. Como ocurre con el resto de las ramas de

    las matemticas, a la Teora de Grafos no le interesa saber qu son los vrtices.

    Diferentes situaciones en las que pueden identificarse objetos y relaciones que satisfagan la definicin de grafo

    pueden verse como grafos y as aplicar la Teora de Grafos en ellos.

    Grafo Un grafo es una pareja de conjuntos G = (V, A), donde V es el conjunto de vrtices, y A es el conjunto de aristas, este

    ltimo es un conjunto de pares de la forma (u, v) tal que, tal que. Para simplificar, notaremos la arista (a, b) como ab.

    En teora de grafos, slo queda lo esencial del dibujo: la forma de las aristas no son relevantes, slo importa a qu

    vrtices estn unidas. La posicin de los vrtices tampoco importa, y se puede variar para obtener un dibujo ms

    claro. Muchas redes de uso cotidiano pueden ser modeladas con un grafo: una red de carreteras que conecta ciudades, una

    red elctrica o la red de drenaje de una ciudad.

    Aristas dirigidas y no dirigidas

    En algunos casos es necesario asignar un sentido a las aristas, por ejemplo, si se quiere representar la red de las

    calles de una ciudad con sus direcciones nicas. El conjunto de aristas ser ahora un subconjunto de todos los

    posibles pares ordenados de vrtices, con (a, b) (b, a). Los grafos que contienen aristas dirigidas se denominan grafos orientados, como el siguiente: Las aristas no orientadas se consideran bidireccionales para efectos prcticos (equivale a decir que existen dos

    aristas orientadas entre los nodos, cada una en un sentido).

    En el grafo anterior se ha utilizado una arista que tiene sus dos extremos idnticos: es un lazo (o bucle), y aparece

    tambin una arista bidireccional, y corresponde a dos aristas orientadas. Aqu V = {a, b, c, d, e }, y A = { (a, c), (d, a), (d, e), (a, e), (b, e), (c, a), (c, c), (d, b) }.

    Se considera la caracterstica de "grado" (positivo o negativo) de un vrtice v (y se indica como (v)), como la

    cantidad de aristas que llegan o salen de l; para el caso de grafos no orientados, el grado de un vrtice es

    simplemente la cantidad de aristas incidentes a este vrtice. Por ejemplo, el grado positivo (salidas) de d es 3, mientras que el grado negativo (llegadas) de d es 0.

    Segn la terminologa seguida en algunos problemas clsicos de Investigacin Operativa (p.ej.: el Problema del

    flujo mximo), a un vrtice del que slo salen aristas se le denomina fuente (en el ejemplo anterior, el vrtice d);

    tiene grado negativo 0. Por el contrario, a aquellos en los que slo entran aristas se les denomina pozo o sumidero (en el caso anterior, el vrtice e); tiene grado positivo 0.

  • Modelos de Optimizacin de Redes 12 Docente Ing. J. Paredes C.

    UNIVERSIDAD SAN PEDRO Ingeniera Industrial

    Investigacin Operativa II

    Caracterizacin de grafos

    Grafos simples Un grafo es simple si a lo sumo slo 1 arista une dos vrtices cualesquiera. Esto es equivalente a decir que una arista

    cualquiera es la nica que une dos vrtices especficos.

    Un grafo que no es simple se denomina Multigrfica o Grafo mltiple.

    Grafos conexos Un grafo es conexo si cada par de vrtices est conectado por un camino; es decir, si para cualquier par de vrtices

    (a, b), existe al menos un camino posible desde a hacia b.

    Un grafo es fuertemente conexo si cada par de vrtices est conectado por al menos dos caminos disjuntos; es decir, es conexo y no existe un vrtice tal que al sacarlo el grafo resultante sea disconexo.

    Es posible determinar si un grafo es conexo usando un algoritmo Bsqueda en anchura (BFS) o Bsqueda en

    profundidad (DFS). En trminos matemticos la propiedad de un grafo de ser (fuertemente) conexo permite establecer en base a l una

    relacin de equivalencia para sus vrtices, la cual lleva a una particin de stos en "componentes (fuertemente)

    conexas", es decir, porciones del grafo, que son (fuertemente) conexas cuando se consideran como grafos aislados.

    Esta propiedad es importante para muchas demostraciones en teora de grafos.

    Grafos completos Un grafo es completo si existen aristas uniendo todos los pares posibles de vrtices. Es decir, todo par de vrtices (a, b) debe tener una arista e que los une.

    El conjunto de los grafos completos es denominado usualmente , siendo el grafo completo de n vrtices.

    Un Kn, es decir, grafo completo de n vrtices tiene exactamente aristas. La representacin grfica de los Kn como los vrtices de un polgono regular da cuenta de su peculiar estructura.

    Grafos ponderados o etiquetados En muchos casos, es preciso atribuir a cada arista un nmero especfico, llamado valuacin, ponderacin o coste

    segn el contexto, y se obtiene as un grafo valuado.

    Formalmente, es un grafo con una funcin v: A R+. Por ejemplo, un representante comercial tiene que visitar n ciudades conectadas entre s por carreteras; su inters previsible ser minimizar la distancia recorrida (o el tiempo, si se pueden prever atascos). El grafo correspondiente

    tendr como vrtices las ciudades, como aristas las carreteras y la valuacin ser la distancia entre ellas.

    Y, de momento, no se conocen mtodos generales para hallar un ciclo de valuacin mnima, pero s para los caminos

    desde a hasta b, sin ms condicin.

    ALGORITMO DE DIJKSTRA El algoritmo de Dijkstra, tambin llamado algoritmo de caminos mnimos, es un algoritmo para la determinacin del camino ms corto dado un vrtice origen al resto de vrtices en un grafo dirigido y con pesos en cada arista. Su

    nombre se refiere a Edsger Dijkstra, quien lo describi por primera vez en 1959.

    La idea subyacente en este algoritmo consiste en ir explorando todos los caminos ms cortos que parten del vrtice

    origen y que llevan a todos los dems vrtices; cuando se obtiene el camino ms corto desde el vrtice origen, al resto de vrtices que componen el grafo, el algoritmo se detiene. El algoritmo es una especializacin de la bsqueda

    de costo uniforme, y como tal, no funciona en grafos con aristas de costo negativo (al elegir siempre el nodo con distancia menor, pueden quedar excluidos de la bsqueda nodos que en prximas iteraciones bajaran el costo

    general del camino al pasar por una arista con costo negativo).

    Algoritmo Teniendo un grafo dirigido ponderado de N nodos no aislados, sea x el nodo inicial, un vector D de tamao N

    guardar al final del algoritmo las distancias desde x al resto de los nodos.

  • Modelos de Optimizacin de Redes 13 Docente Ing. J. Paredes C.

    UNIVERSIDAD SAN PEDRO Ingeniera Industrial

    Investigacin Operativa II

    1. Inicializar todas las distancias en D con un valor infinito relativo ya que son desconocidas al principio, exceptuando la de x que se debe colocar en 0 debido a que la distancia de x a x sera 0.

    2. Sea a = x (tomamos a como nodo actual). 3. Recorremos todos los nodos adyacentes de a menos los nodos marcados, llamaremos a estos v i. 4. Si la distancia desde x hasta vi guardada en D es mayor que la distancia desde x hasta a sumada a la

    distancia desde a hasta vi; esta se substituye con la segunda nombrada, esto es: si (Di > Da + d(a,vi)) entonces Di = Da + d(a, vi)

    5. Marcamos como completo el nodo a. 6. Tomamos como prximo nodo actual el de menor valor en D (puede hacerse almacenando los valores en

    una cola de prioridad) y volvemos al paso 3 mientras existan nodos no marcados. - Una vez terminado al algoritmo, D estar completamente lleno.

    ALGORITMO DE DIJKSTRA PARA RUTA MNIMA EN RED ORIENTADA Condiciones: Se aplica en una red estrictamente orientada, entendiendo que cada una de sus ramas es

    unidireccional y ningn conjunto, de ramas incluidas, forma ciclo. Tambin se utiliza una etiqueta que puede ser de carcter temporal, o bien permanente, para cada uno de los nodos graficados. Algo para anotar es que, una red,

    con todas sus ramas unidireccionales, ya tiene definido el nodo origen. Los pasos a seguir del algoritmo de Dijkstra

    son:

    1. El nodo origen siempre se etiqueta permanente as: (-, 0) P 2. Enseguida debe etiquetarse permanente aquel nodo que tenga como nico inverso al origen: ( # del

    origen, costo cero + costo desde el origen ) P 3. A partir de los nodos con permanencia deben etiquetarse en forma temporal, los que sean nodos vecinos

    directos conectados a los mismos. Luego se revisan las temporales, con el propsito de eliminar la etiqueta duplicada y mantener una sola ( la que tenga el menor costo), para cada nodo directo.

    4. Convertir a permanente, aquel nodo que tenga todos sus nodos vecinos inversos con etiqueta permanente. En caso de empate en menor costo, se deben considerar todas las etiquetas que cumplan tal condicin.

    5. Se repite el procedimiento desde el paso 3, hasta que todos los nodos tengan etiqueta permanente. 6. Las rutas mnimas para cada uno de los nodos, se definen con la identificacin del nodo inmediato anterior

    de la ruta en el lado izquierdo de la etiqueta permanente, retrocediendo hacia el origen conforme a lo

    indicado. El proceso se completa sealando las n-1 rutas calculadas, tanto en la red como en una tabla.

    Aplicaciones del Algoritmo de Dijkstra

    Problema Desarrollado No 3: De ruta mnima

    Definicin: Dada una red de n nodos ( i ) conectadas por ramas ( i, j ), asociadas a un costo Cij; el objetivo es

    determinar n-1 rutas mnimas, desde un nodo ( i ) fijado como origen, hasta los restantes n-1 nodos.

    La red de la figura anterior muestra las rutas con sus longitudes, en Km, entre la ciudad 1(nodo 1) y otras ciudades

    (nodos 2 a 5): Determinar las rutas ms cortas entre la ciudad 1 y cada una de las cuatro ciudades restantes.

    Iteracin 0: Asignar la etiqueta permanente [0, -] al nodo 1

    Figura No 9: Datos del problema No 3

  • Modelos de Optimizacin de Redes 14 Docente Ing. J. Paredes C.

    UNIVERSIDAD SAN PEDRO Ingeniera Industrial

    Investigacin Operativa II

    Iteracin 1: Se puede llegar a los nodos 2, 3 y 5 desde el nodo 1 (ltimo que se etiquet en forma permanente). As,

    la lista de los nodos etiquetados (temporales y permanentes) es la siguiente:

    Nodo Etiqueta Estado

    1 [0, -] Permanente 2 [2, 1] Temporal

    3 [1, 1] Temporal

    5 [3, 1] Temporal

    Para las tres etiquetas temporales [2,1], [1,1] y [3,1], el nodo 3 produce la menor distancia (u3 = 1). Entonces, se

    cambia el estado del nodo 3 a permanente.

    Iteracin 2: Del nodo 3 se puede ir a los nodos 5 y 2, y la lista de nodos etiquetados es:

    Nodo Etiqueta Estado

    1 [0, -] Permanente

    2 [2, 1], [2,3] Temporal

    3 [1, 1] Permanente 5 [3, 1], [2, 3] Temporal

    El estado de la etiqueta temporal [2,3] en el nodo 2 se cambia a permanente (u2 = 2). Observe que tambin empata el

    nodo 5 con una etiqueta [2,3].

    Iteracin 3: Del nodo 2 se puede ir al nodo 4. Entonces la lista actualizada de los nodos etiquetados es:

    Nodo Etiqueta Estado

    1 [0, -] Permanente

    2 [2,3] Permanente

    3 [1, 1] Permanente

    Figura No 10: Iteracin 0

    Figura No 11: Iteracin 1

    Figura No 12: Iteracin 2

  • Modelos de Optimizacin de Redes 15 Docente Ing. J. Paredes C.

    UNIVERSIDAD SAN PEDRO Ingeniera Industrial

    Investigacin Operativa II

    5 [2, 3] Temporal

    4 [6, 2] Temporal

    La etiqueta temporal del nodo 5, [2,3], en la iteracin 3 se cambia a permanente, para indicar que se ha encontrado

    una ruta ms corta que pasa por el nodo 5.

    Nodo Etiqueta Estado

    1 [0, -] Permanente

    2 [2,3] Permanente

    3 [1, 1] Permanente

    5 [2, 3] Permanente

    4 [6, 2] Temporal

    Iteracin 4: Del nodo 5 no se puede ir a ningn nodo, pero el nodo 4 tiene una etiqueta temporal, por tanto se

    convierte en permanente.

    Nodo Etiqueta Estado

    1 [0, -] Permanente

    2 [2,3] Permanente

    3 [1, 1] Permanente

    5 [2, 3] Permanente

    4 [6, 2] Permanente

    Aplicacin del Algoritmo de Dijkstra

    Problema Desarrollado No 4: La red en la figura proporciona las rutas permisibles y sus longitudes en km entre

    la ciudad 1 (nodo 1) y otras cuatro ciudades (nodos 2 al 5). Se desea determinar las rutas ms cortas de la ciudad 1 a

    cada una de las cuatro ciudades restantes.

    Iteracin 0: Asignar la clasificacin permanente [0, -] al nodo 1

    Figura No 13: Iteracin 3

    Figura No 14: Iteracin 4

  • Modelos de Optimizacin de Redes 16 Docente Ing. J. Paredes C.

    UNIVERSIDAD SAN PEDRO Ingeniera Industrial

    Investigacin Operativa II

    Iteracin 0: Asignar la clasificacin permanente [0, -] al nodo 1 Iteracin 1: Es posible llegar a los nodos 2 y 3 desde el nodo 1 (el ltimo clasificado permanentemente)

    Iteracin 2: Se puede llegar a los nodos 4 y 5 desde el nodo 3 (el ltimo clasificado permanente)

    Iteracin 3: Se puede llegar a los nodos 2 y 5 desde el nodo 4 (el ltimo clasificado permanente)

    Iteracin 4: Solo se puede llegar al nodo 3 desde el nodo 2. Sin embargo, debido a que el nodo 3 est clasificado permanentemente, no se puede volver a clasificar. La nueva lista de clasificaciones permanece igual que en la

    iteracin 3, excepto que la clasificacin en el nodo 2 es permanente. Esto deja al nodo 5 como la nica clasificacin

    temporal. Debido a que el nodo 5 no lleva a otros nodos, su status se convierte a permanente y el proceso termina.

    La ruta ms corta entre el nodo 1 y el nodo 2 se obtiene as: 2 4 3 1 (2) [55,4] (4) [40,3] (3) [30, 1] (1)

    Ejercicios propuestos Problema Propuesto No 1: En la siguiente red orientada de 7 nodos (Figura No 16), determinar las rutas

    mnimas desde el origen O hacia los restantes nodos, utilizando el algoritmo de Dijkstra. Tambin utilice el

    software Grafos

    Figura No 15: Datos del problema No 4

  • Modelos de Optimizacin de Redes 17 Docente Ing. J. Paredes C.

    UNIVERSIDAD SAN PEDRO Ingeniera Industrial

    Investigacin Operativa II

    Problema Propuesto N

    o 2: Ruta mnima, aplicar algoritmo de Dijkstra.

    La siguiente red (Figura No 17) es no orientada, con un total de ocho nodos de los cuales se fija como origen al nodo

    8. Determine las rutas mnimas desde el origen hasta los 8 - 1 = 7 nodos restantes, utilizando el algoritmo de Dijkstra.

    Problema Propuesto No 3: Como ejercicio para el estudiante, considere la red ejemplo anterior con los mismos

    costos Cij asociados a las ramas. Pero en este caso se considera al nodo No 6, como origen, lo cual produce un

    problema diferente, que podr comprobar con sus resultados y los anotados en la red correspondiente.

    Problema Propuesto No 4: Aplicar el algoritmo de Dijkstra a la siguiente Red:

    Problema Propuesto No 5: Determine la ruta mnima, aplicando el algoritmo Dijkstra, desde el nodo 1 fijado

    como origen y el 8 como destino en la siguiente red:

    Figura No 16: Red del problema

    propuesto No 1

    Figura No 17: Red del problema

    propuesto No 2

    Figura No 18: Red del problema

    propuesto No 4

  • Modelos de Optimizacin de Redes 18 Docente Ing. J. Paredes C.

    UNIVERSIDAD SAN PEDRO Ingeniera Industrial

    Investigacin Operativa II

    Respuesta problema No 5: Rutas mnimas, red no orientada, algoritmo de Dijkstra.

    ALGORITMO DE FLOYD-WARSALL: CAMINOS MINIMOS ENTRE POSIBLES PARES DE

    NODOS DE UNA RED En informtica, el algoritmo de Floyd-Warshall, descrito en 1959 por Bernard Roy, es un algoritmo de anlisis sobre grafos para encontrar el camino mnimo en grafos dirigidos ponderados. El algoritmo encuentra el camino entre

    todos los pares de vrtices en una nica ejecucin. El algoritmo de Floyd-Warshall es un ejemplo de programacin

    dinmica.

    Algoritmo El algoritmo de Floyd-Warshall compara todos los posibles caminos a travs del grafo entre cada par de vrtices. El

    algoritmo es capaz de hacer esto con slo V3 comparaciones (esto es notable considerando que puede haber hasta V2

    aristas en el grafo, y que cada combinacin de aristas se prueba). Lo hace mejorando paulatinamente una estimacin del camino ms corto entre dos vrtices, hasta que se sabe que la estimacin es ptima.

    Sea un grafo G con conjunto de vrtices V, numerados de 1 a N. Sea adems una funcin camino Mnimo

    (i, j, k) que devuelve el camino mnimo de i a j usando nicamente los vrtices de 1 a k como puntos intermedios en el camino. Ahora, dada esta funcin, nuestro objetivo es encontrar el camino mnimo desde cada i a cada j usando

    nicamente los vrtices de 1 hasta k + 1.

    Hay dos candidatos para este camino: un camino mnimo, que utiliza nicamente los vrtices del conjunto (1...k); o

    bien existe un camino que va desde i hasta k + 1, despus de k + 1 hasta j que es mejor. Sabemos que el camino ptimo de i a j que nicamente utiliza los vrtices de 1 hasta k est definido por camino Mnimo(i, j, k), y est claro

    que si hubiera un camino mejor de i a k + 1 a j, la longitud de este camino sera la concatenacin del camino mnimo

    de i a k + 1 (utilizando vrtices de (1...k)) y el camino mnimo de k + 1 a j (que tambin utiliza los vrtices en

    (1...k)).

    Por lo tanto, podemos definir camino Mnimo (i, j, k) de forma recursiva:

    Camino Mnimo (i, j, k)=min (camino Mnimo (i,j,k-1), camino Mnimo(i, k, k-1)+camino Mnimo(k,j,k-1));

    Camino Mnimo (i, j, 0) = peso Arista (i, j)

    Esta frmula es la base del algoritmo Floyd-Warshall. Funciona ejecutando primero camino Mnimo (i,j,1) para todos los pares (i, j), usndolos para despus hallar camino Mnimo(i,j,2) para todos los pares (i, j)... Este proceso

    contina hasta que k = n, y habremos encontrado el camino ms corto para todos los pares de vrtices (i, j) usando

    algn vrtice intermedio.

    Figura No 19: Red del problema

    propuesto No 5

  • Modelos de Optimizacin de Redes 19 Docente Ing. J. Paredes C.

    UNIVERSIDAD SAN PEDRO Ingeniera Industrial

    Investigacin Operativa II

    Comportamiento con ciclos negativos Para que haya coherencia numrica, Floyd-Warshall supone que no hay ciclos negativos (de hecho, entre cualquier pareja de vrtices que forme parte de un ciclo negativo, el camino mnimo no est bien definido porque el camino

    puede ser infinitamente pequeo). No obstante, si hay ciclos negativos, Floyd-Warshall puede ser usado para

    detectarlos. Si ejecutamos el algoritmo una vez ms, algunos caminos pueden decrementarse pero no garantiza que,

    entre todos los vrtices, caminos entre los cuales puedan ser infinitamente pequeos, el camino se reduzca. Si los nmeros de la diagonal de la matriz de caminos son negativos, es condicin necesaria y suficiente para que este

    vrtice pertenezca a un ciclo negativo.

    Este algoritmo proporciona las distancias y caminos mnimos entre todos los posibles pares de nodos de la red. El algoritmo de Floyd es ms general que el de Dijkstra, porque determina la ruta ms corta entre dos nodos

    cualesquiera de la red. El algoritmo representa una red de n nodos como matriz cuadrada con n renglones y n

    columnas. El elemento (i, j) de la matriz expresa la distancia o valor dij del nodo i al nodo j, que es finita si i est conectado directamente con j, e infinita en caso contrario.

    El concepto del algoritmo de Floyd es directo. Dados tres nodos i, j y k en la figura anterior, con las distancias entre

    si indicadas en los tres arcos, es ms corto ir a k desde i pasando por j si

    dij + djk < dik En este caso, lo ptimo es reemplazar la ruta directa de i k por la ruta indirecta i j k. Este intercambio de operacin triple se aplica en forma sistemtica a la red, con los siguientes pasos:

    Paso 0: Definir las matrices inciales de distancias D0 y de secuencias de nodos S0 como se describe abajo. Los elementos diagonales se marcan con (--) para indicar que estn bloqueadas. Igualar k = i.

    1 2 j n

    1 d12 d1j d1n

    2 d21 d2j d2n

    Do =

    i di1 di2 din

    n dn1 dn2 dnj

    1 2 j n

    1 2 j n

    2 1 j n

    So =

    i 1 2 j n

    n 1 2 j

  • Modelos de Optimizacin de Redes 20 Docente Ing. J. Paredes C.

    UNIVERSIDAD SAN PEDRO Ingeniera Industrial

    Investigacin Operativa II

    Paso general k: Definir el rengln k y la columna k como rengln pivote y columna pivote.

    Aplicar la operacin triple a cada elemento dij en Dk-1 para toda i y j. Si se satisface la condicin

    dik + dkj < dij (i k, j k e i j)

    Hacer los siguientes cambios

    a) Crear Dk reemplazando dij en Dk-1 por dik + dkj b) Crear Sk reemplazando sij en Sk-1 por k. Igualar k = k + 1 y repetir el paso k.

    Figura No 18: Implementacin de la operacin triple en forma matricial

    Se puede explicar el paso k del algoritmo representando a Dk-1 como se ve en la figura No . Aqu, el rengln k y la

    columna k definen el rengln y la columna pivote actual. El rengln i representa cualesquiera de los renglones 1, 2, , y k 1, y el rengln p representa cualesquiera de los renglones k+1, k+2, , y n. De igual modo, la columna j representa cualquiera de las columnas 1, 2,, y k-1, y la columna q representa cualquiera de las columnas k+1, k+2, y n. Con la operacin triple, si la suma de los elementos del rengln pivote y la columna pivote (representado por cuadrados) es menor que el elemento de interseccin asociado (representado por un crculo), entonces es ptimo reemplazar la distancia de interseccin por la suma de las distancias pivote.

    Despus de n pasos se puede determinar la ruta ms corta entre los nodos i y j con las matrices Dn y Sn con las

    siguientes reglas:

    1. En Dn, dij representa la distancia ms corta entre los nodos i y j. 2. En Sn, se determina el nodo intermedio k = sij que forme la ruta i k j. Si Sik = k y skj = j, detenerse;

    todos los nodos intermedios de la ruta se han determinado. En caso contrario, repetir el procedimiento entre

    los nodos i y k y entre los nodos k y j.

    Otra forma de aplicar este algoritmo

    Al valor de los arcos lo denominaremos Cij, que indicar el valor del arco que va del nodo i al nodo j. Si no existe el

    arco que va de la i a j: Cij = Se forma una matriz, C, cuyos elementos son los Cij y otra matriz D, cuyos elementos son los nodos del grafo y que

    est construida como sigue: Si se tienen n nodos, la dimensin de la matriz D ser de: nxn. Para inicializar la matriz cada fila se rellena con el

    identificador del nodo correspondiente.

    Si la red tiene los nodos 1, 2, 3, 4 y 5:

  • Modelos de Optimizacin de Redes 21 Docente Ing. J. Paredes C.

    UNIVERSIDAD SAN PEDRO Ingeniera Industrial

    Investigacin Operativa II

    En estas condiciones la matriz C proporcionara las distancias y la matriz D los caminos.

    El algoritmo sigue los siguientes pasos: Paso 1: Se forman las matrices C y D.

    Paso 2: Se selecciona la fila 1 y la columna 1 de la matriz C. Para todo i, j 1 Cij = min [ ( )]

    Si (Ci1 + C1j) < Cij entonces dij = d1j Paso 3: Se reitera el paso 2 seleccionando la fila k y la columna k.

    Paso 4: Se termina el algoritmo cuando k coincide con el nmero de nodos del grafo.

    Los elementos de la matriz C son las distancias entre los nodos. Con los elementos de la matriz D se obtiene el camino existente entre el nodo i y el nodo j de la siguiente forma:

    En el elemento dij de la matriz D el nodo 1 es el predecesor del nodo j. Si 1 = i ya se ha obtenido el camino; si no, miramos el elemento di1 que ser el predecesor de 1.

    Terminaremos cuando de encuentre en la matriz el nodo i.

    Problema Desarrollado N

    o 5:

    Para la red en la figura, encuentre las rutas ms cortas entre cada dos nodos. Las distancias se dan en los arcos. El

    arco (3,5) es direccional, de manera que no est permitido ningn trfico del nodo 5 al nodo 3. Todos los dems arcos permiten el trfico en ambas direcciones.

    Figura No 20: Red del problema

    desarrollado No 5

  • Modelos de Optimizacin de Redes 22 Docente Ing. J. Paredes C.

    UNIVERSIDAD SAN PEDRO Ingeniera Industrial

    Investigacin Operativa II

    Las matrices D0 y S0 son la representacin inicial de la red. D0 es simtrica, excepto que d53 = porque no se permite trafico del nodo 5 al nodo 3.

    Iteracin 1: Se iguala k = 1. El rengln y la columna pivotes se ven en la matriz D0 con sombra ligera: son el primer rengln y la primera columna: Las celdas ms oscuras, d23 y d32 son las nicas que pueden mejorar con la operacin

    triple. As, D1 y S1 se obtienen partiendo de D0 y S0 como sigue:

    1. Sustituir d23 con d21 + d13 = 3+ 10 = 13, e igualar s23 = 1

    2. Sustituir d32 con d31 + d12 = 10 + 3 = 13, e igualar s32 = 1 Estos cambios se muestran en negritas, en las matrices D1 y S1

  • Modelos de Optimizacin de Redes 23 Docente Ing. J. Paredes C.

    UNIVERSIDAD SAN PEDRO Ingeniera Industrial

    Investigacin Operativa II

    Iteracin 2: Se iguala k = 2, como indican el rengln y la columna con sombra ligera en D1. Se aplica la operacin triple a las celdas ms oscuras de D1 y S1. Los cambios que resultan se indican con negritas en D2 y en S2.

  • Modelos de Optimizacin de Redes 24 Docente Ing. J. Paredes C.

    UNIVERSIDAD SAN PEDRO Ingeniera Industrial

    Investigacin Operativa II

    Iteracin 3: Se iguala k = 3, como indican el rengln y la columna sombreadas en D2. Las nuevas matrices son D3 y S3.

  • Modelos de Optimizacin de Redes 25 Docente Ing. J. Paredes C.

    UNIVERSIDAD SAN PEDRO Ingeniera Industrial

    Investigacin Operativa II

    Iteracin 4: Se iguala k = 4 como se indica con el rengln y la columna con sombra ligera en D3. Las nuevas matrices son D4 y S4.

  • Modelos de Optimizacin de Redes 26 Docente Ing. J. Paredes C.

    UNIVERSIDAD SAN PEDRO Ingeniera Industrial

    Investigacin Operativa II

    Iteracin 5: Se iguala k = 5, como se ve en el rengln y la columna sombreada de D4. No hay ms mejoras posibles en esta iteracin. Por consiguiente, D5 y S5 son iguales que D4 y S4.

  • Modelos de Optimizacin de Redes 27 Docente Ing. J. Paredes C.

    UNIVERSIDAD SAN PEDRO Ingeniera Industrial

    Investigacin Operativa II

    Las matrices finales D5 y S5 contienen toda la informacin necesaria para determinar la ruta ms corta entre dos

    nodos cualesquiera de la red. Por ejemplo para determinar la ruta ms corta del nodo 1 al nodo 5, primero se ve la

    distancia asociada d15 = 12. Para determinar la ruta asociada, recurdese que un segmento (i, j) representa un enlace

    directo slo si sij = j. En caso contrario, i y j estn enlazados mediante al menos un nodo intermedio. Como s15 = 4, la ruta inicial es 1 4 5. Ahora bien, como s14 = 2 4, el segmento (1,4) no es un enlace directo y 1 4 se debe reemplazar por 1 2 4, y la ruta 1 4 5 se transforma ahora en 1 2 4 5. A continuacin, como s12 = 2, s24 = 4 y s45 = 5, la ruta 1 2 4 5 no necesita ms disecciones y el proceso termina.

    Solucin con DS POM

    Ejecute DS POM

    Seleccione la opcin Networks

    Seleccione la opcin New

  • Modelos de Optimizacin de Redes 28 Docente Ing. J. Paredes C.

    UNIVERSIDAD SAN PEDRO Ingeniera Industrial

    Investigacin Operativa II

    Seleccione la opcin Shortest Route

    Digite el ttulo y seleccione el nmero de arcos, para este caso hay 11 (tenga en cuenta que el arco sin flechas quiere

    decir que es de doble sentido, excepto el que va de 3 a 5, es de 1 solo sentido)

    Haga clic en OK, se presentara el siguiente cuadro donde debe digitar el inicio y fin del arco, as como su distancia respectiva.

    A continuacin haga clic en Solve

  • Modelos de Optimizacin de Redes 29 Docente Ing. J. Paredes C.

    UNIVERSIDAD SAN PEDRO Ingeniera Industrial

    Investigacin Operativa II

    Este cuadro es igual que el cuadro de distancias calculado anteriormente

    Ejemplo Desarrollado No 6:

    Ejercicios propuestos

    Problema Propuesto No

    1: Aplique el algoritmo de Floyd a la red de la figura No 20. Los arcos (7,6) y (6,4) son unidireccionales y todas las distancias son en Km. Determine la ruta ms corta entre los siguientes pares de nodos:

    a) Del nodo 1 al nodo 7. b) Del nodo 7 al nodo 1. c) Del nodo 6 al nodo 7.

    Problema Propuesto No 2: Aplique el algoritmo de Floyd, para encontrar la distancia ms corta del origen al

    destino de la siguiente red.

    Problema Propuesto No 3: Desarrolle la siguiente red, aplicando el algoritmo de Floyd

    2 4

    3

    2

    6 5

    1 2

    2 2

    2

    2 2

    2

    2

    Figura No 21: Red del problema

    propuesto No 1

    Figura No 22: Red del problema

    propuesto No 2

    Figura No 23: Red del problema

    propuesto No 3

  • Modelos de Optimizacin de Redes 30 Docente Ing. J. Paredes C.

    UNIVERSIDAD SAN PEDRO Ingeniera Industrial

    Investigacin Operativa II

    Problema Propuesto No 4. Una empresa qumica fabrica 5 compuestos diferentes. Debido a economas de escala,

    cada compuesto es producido una sola vez al da. Los costes que se generan no solo dependen de las materias primas usadas para generar cada compuesto, sino que tambin de la secuencia elegida para generarlos.

    Debido a que cada compuesto deja algunas impurezas que afectan a la calidad de los siguientes productos a generar,

    y que esta prdida de calidad tiene algunos costes asociados, se desea encontrar el plan diario de produccin de los

    compuestos con un coste mnimo.

    Los costes en euros se indican en la siguiente matriz C, el valor cij es el coste cuando se pasa de producir el compuesto i a producir el compuesto j:

    Problema Propuesto No 5. Mediante el algoritmo de Floyd, encuentre el camino mnimo del nodo H al resto de

    nodos.

    ALGORITMO DE BELLMAN-FORD El algoritmo de Bellman-Ford (algoritmo de Bell-End-Ford), genera el camino ms corto en un Grafo dirigido

    ponderado (en el que el peso de alguna de las aristas puede ser negativo). El algoritmo de Dijkstra resuelve este mismo problema en un tiempo menor, pero requiere que los pesos de las aristas no sean negativos. Por lo que el

    Algoritmo Bellman-Ford normalmente se utiliza cuando hay aristas con peso negativo. Este algoritmo fue

    desarrollado por Richard Bellman, Samuel End y Lester Ford.

    Segn Robert Sedgewick, Los pesos negativos no son simplemente una curiosidad matemtica; [] surgen de una forma natural en la reduccin a problemas de caminos ms cortos, y son un ejemplo de una reduccin del problema del camino hamiltoniano que es NP-completo hasta el problema de caminos ms cortos con pesos generales. Si un

    grafo contiene un ciclo de coste total negativo entonces este grafo no tiene solucin. El algoritmo es capaz de

    detectar este caso. Si el grafo contiene un ciclo de coste negativo, el algoritmo lo detectara, pero no encontrar el camino ms corto que

    no repite ningn vrtice. La complejidad de este problema es al menos la del problema del camino ms largo de

    complejidad NP-Completo.

  • Modelos de Optimizacin de Redes 31 Docente Ing. J. Paredes C.

    UNIVERSIDAD SAN PEDRO Ingeniera Industrial

    Investigacin Operativa II

    Algoritmo

    El Algoritmo de Bellman-Ford es, en su estructura bsica, muy parecido al algoritmo de Dijkstra, pero en vez de seleccionar vorazmente el nodo de peso mnimo aun sin procesar para relajarlo, simplemente relaja todas las aristas,

    y lo hace |V|-1 veces, siendo |V| el numero de vrtices en el grafo. Las repeticiones permiten a las distancias

    mnimas recorrer el rbol, ya que en la ausencia de ciclos negativos, el camino ms corto solo visita cada vrtice una

    vez. A diferencia de la solucin voraz, la cual depende de la suposicin de que los pesos sean positivos, esta solucin se aproxima ms al caso general.

    Existen dos versiones:

    Versin no optimizada para grafos con ciclos negativos, cuyo coste de tiempo es O(VE)

    Versin optimizada para grafos con aristas de peso negativo, pero en el grafo no existen ciclos de coste negativo, cuyo coste de tiempo, es tambin O(VE).

    Aplicaciones de encaminamiento

    Una variante distribuida del Algoritmo del Bellman-Ford se usa en protocolos de encaminamiento basados en vector

    de distancias, por ejemplo el Protocolo de encaminamiento de informacin (RIP). El algoritmo es distribuido porque

    envuelve una serie de nodos (routers) dentro de un Sistema autnomo(AS), un conjunto de redes y dispositivos router IP administrados tpicamente por un Proveedor de Servicio de Internet (ISP). Se compone de los siguientes

    pasos:

    1. Cada nodo calcula la distancia entre l mismo y todos los dems dentro de un AS y almacena esta informacin en una tabla.

    2. Cada nodo enva su tabla a todos los nodos vecinos. 3. Cuando un nodo recibe las tablas de distancias de sus vecinos, ste calcula la ruta ms corta a los dems

    nodos y actualiza su tabla para reflejar los cambios.

    Las desventajas principales del algoritmo de Bellman-Ford en este ajuste son:

    No escala bien

    Los cambios en la topologa de red no se reflejan rpidamente ya que las actualizaciones se distribuyen nodo por nodo.

    Contando hasta el infinito(si un fallo de enlace o nodo hace que un nodo sea inalcanzable desde un conjunto de otros nodos, stos pueden estar siempre aumentando gradualmente sus clculos de distancia a

    l, y mientras tanto puede haber bucles de enrutamiento)

    Mejoras

    En 1970 Yen describi una mejora del algoritmo Bellman-Ford para un grafo sin ciclos con peso negativo. Esta

    mejora primero asigna un orden arbitrario lineal a todos los vrtices y luego divide el conjunto de todas las aristas en uno o dos subconjuntos. El primer subconjunto, Ef, contiene todas las aristas (vi,vj) tales que i < j; mientras que el

    segundo, Eb, contiene aristas (vi,vj) tales que i > j. Cada vrtice se visita en orden v1,v2,,vn, relajando cada arista saliente de ese vrtice en Ef. Cada vrtice es, despus, visitado en orden v|v|,v|v|,,v1, relajando cada arista saliente de ese vrtice en Eb. La mejora de Yen reduce a la mitad, de manera efectiva, el nmero de pases requeridos para la solucin del camino ms corto desde una nica fuente.

    Problema Desarrollado No 6: Algoritmo de Bellman Ford

    En este artculo se mostrar un ejemplo del Algoritmo de Bellman-Ford. Para ello se mostrar la siguiente tabla y a

    partir de esta se explicar el procedimiento para hallar el camino mnimo de todos los vrtices a un nico vrtice

    destino.

    Figura No 24: Grafo inicial

  • Modelos de Optimizacin de Redes 32 Docente Ing. J. Paredes C.

    UNIVERSIDAD SAN PEDRO Ingeniera Industrial

    Investigacin Operativa II

    Grafo inicial y Tabla de relaciones En este ejemplo partimos de este grafo, cuyas relaciones estn expuestas a su derecha:

    o

    Figura No 25: Grafo inicial y tabla de relaciones

    Figura No 25: Camino mnimo final de todos los nodos al primero

    Tabla de resolucin final En esta tabla se muestran las soluciones parciales que se han ido obteniendo a travs de la realizacin del algoritmo.

  • Modelos de Optimizacin de Redes 33 Docente Ing. J. Paredes C.

    UNIVERSIDAD SAN PEDRO Ingeniera Industrial

    Investigacin Operativa II

    Explicacin del algoritmo

    En la tabla anterior donde queda desarrollado el algoritmo paso por paso, podemos apreciar que la resolucin del algoritmo viene dada por aplicar las frmulas que vienen escritas en el paso n, a cada paso. El objetivo del algoritmo

    es encontrar el camino mnimo desde todos los nodos al vrtice 1. En las frmulas donde viene D, es la distancia

    mnima desde el nodo que aparece en el subndice al vrtice destino, en este caso, el vrtice 1.

    En el paso 0, inicializamos todas las distancias mnimas a . En el paso 1, actualizamos el paso anterior, aplicando las frmulas. En este caso ponemos la distancia de

    los nodos que tienen accesos directos al vrtice 1 y se la sumamos a la distancia mnima acumulada que

    hay hasta el vrtice oportuno. Aqu esta distancia acumulada sera 0 para 1, debido a que sera la distancia a l mismo, e infinito para el resto porque no han sido analizados todava.

    En el paso 2, al saber ya una distancia mnima acumulada desde los nodos 2 y 3 hasta 1, podemos actualizar las distancias mnimas de los nodos 4 y 5.

    En los pasos sucesivos, se van actualizando las distancias mnimas acumuladas (D) de los distintos vrtices hasta 1, y se van utilizando en los pasos siguientes para optimizar el camino mnimo. El final del algoritmo

    se da cuando no hay ningn cambio de un paso a otro, es decir, cuando ya no se puede encontrar un camino ms corto.

    ALGORITMO DE JOHNSON El algoritmo de Johnson es una forma de encontrar el camino ms corto entre todos los pares de vrtices de un grafo dirigido disperso. Permite que las aristas tengan pesos negativos, si bien no permite ciclos de peso negativo.

    Funciona utilizando el algoritmo de Bellman-Ford para hacer una transformacin en el grafo inicial que elimina

    todas las aristas de peso negativo, permitiendo por tanto usar el algoritmo de Dijkstra en el grafo transformado. Su nombre viene de Donald B. Johnson, quien fuera el primero en publicar la tcnica en 1977.

    Descripcin del algoritmo

    El algoritmo de Johnson consiste en los siguientes pasos: 1. Primero se aade un nuevo nodo q al grafo, conectado a cada uno de los nodos del grafo por una arista de

    peso cero.

    2. En segundo lugar, se utiliza el algoritmo de Bellman-Ford, empezando por el nuevo vrtice q, para determinara para cada vrtice v el peso mnimo h(v) del camino de q a v. Si en este paso se detecta un ciclo negativo, el algoritmo concluye.

    3. Seguidamente, a las aristas del grafo original se les cambia el peso usando los valores calculados por el algoritmo de Bellman-Ford: una arista de u a v con tamao w(u,v), da el nuevo tamao w(u,v) + h(u) h(v)

    4. Por ltimo, para cada nodo s se usa el algoritmo de Dijkstra para determinar el camino ms corto entre s y los otros nodos, usando el grafo con pesos modificados.

    En el grafo con pesos modificados, todos los caminos entre un par de nodos s y t tienen la misma cantidad h(s) h(t) aadida a cada uno de ellos, as que un camino que sea el ms corto en el grafo original tambin es el camino ms

    corto en el grafo modificado y viceversa. Sin embargo, debido al modo en el que los valores h(v) son computados, todos los pesos modificados de las aristas son no negativos, asegurando entonces la optimalidad de los caminos

    encontrados por el algoritmo de Dijkstra. Las distancias en el grafo original pueden ser calculadas a partir de las

    distancias calculadas por el algoritmo de Dijkstra en el grafo modificado invirtiendo la transformacin realizada en

    el grafo.

    Ejemplo

    Las etapas del algoritmo de Johnson estn descritas en la siguiente ilustracin:

    En la imagen de la izquierda tiene dos aristas negativas y no contiene ciclos negativos. En la segunda imagen se muestra el nuevo vrtice q con peso 0 hacia todos los nodos. En la tercera imagen, se muestra el rbol de caminos

    mnimos calculado con el algoritmo de Bellman-Ford con q como vrtice inicial, y los valores h(v) calculados para

  • Modelos de Optimizacin de Redes 34 Docente Ing. J. Paredes C.

    UNIVERSIDAD SAN PEDRO Ingeniera Industrial

    Investigacin Operativa II

    cada otro nodo como la longitud del camino ms corto entre q y ese nodo. A modo de ilustracin, en dicha imagen

    solo aparecen los caminos que se tomaran para determinar cada valor h(v). Ntese que todos estos valores h(v) no son positivos, porque q tiene una arista de unin con cada nodo de peso 0, y por tanto el camino ms corto no puede

    ser mayor que ese valor. En la parte derecha se muestra el grafo modificado, hecho reemplazando el peso de cada

    arista w(u,v) por w(u,v) + h(u) h(v). En este grafo modificado, todos los pesos de las aristas son positivos y el camino ms corto entre dos nodos cualesquiera usa la misma secuencia de aristas que en el camino ms corto entre los mismos dos nodos en el grafo original. El algoritmo concluye aplicando el algoritmo de Dijkstra para cada uno

    de los cuatro nodos originales en el grafo modificado (cuarta imagen).

    Implementacin La estructura de datos para almacenar el grafo consiste en una representacin de cada vrtice como una lista de las

    aristas que parten del mismo. Estas aristas constan de un origen, un destino y un peso. El conjunto de vrtices se

    representa como un array de vrtices y un ndice que nos indica el ltimo vrtice empleado del array.

    La implementacin del algoritmo devuelve una matriz de elementos precedentes y otra de distancias, mediante la primera se puede seguir el camino de menor coste desde un nodo dado a cualquier otro nodo del grafo, y si

    paralelamente vamos sumando las distancias de la otra matriz, obtenemos los costes totales de dichos caminos

    mnimos.

    Pseudocdigo

    Algoritmo de bsqueda A

    RBOL DE EXPANSIN En el campo matemtico de la teora de grafos, un rbol de expansin T de un grafo conexo, no dirigido G es un rbol compuesto por todos los vrtices y algunas (quiz todas) de las aristas de G. Informalmente, un rbol de

    expansin de G es una seleccin de aristas de G que forman un rbol que cubre todos los vrtices. Esto es, cada

    vrtice est en el rbol, pero no hay ciclos.

    Por otro lado, todos los puentes de G deben estar contenidos en T. Un rbol de expansin de un grafo conexo G puede ser tambin definido como el mayor conjunto de aristas de G

    que no contiene ciclos, o como el mnimo conjunto de aristas que conecta todos los vrtices.

    En ciertos campos de la teora de grafos es til encontrar el mnimo rbol de expansin de un grafo ponderado.

    Tambin se han abordado otros problemas de optimizacin relacionados con los rboles de expansin, como el mximo rbol de expansin, el mximo rbol que cubre al menos k vrtices, el mnimo rbol de expansin con k

    aristas por vrtice como mximo (rbol de expansin de mnimo grado, MDST por sus siglas en ingls), el rbol de

    expansin con el mximo nmero de hojas (estrechamente relacionado con el problema del menos conjunto

    dominante y conexo), el rbol de expansin con el menor nmero de hojas (relacionado con el problema del camino hamiltoniano), el rbol de expansin de mnimo dimetro o el rbol de expansin de la mnima dilacin.

    rboles de Expansin Mnimales Ciclos fundamentales y cortes fundamentales

    Si se aade una sola arista a un rbol de expansin, se crea un ciclo: los ciclos de ese tipo se denominan ciclos

    fundamentales. Hay un ciclo fundamental distinto para cada arista; es decir, hay una correspondencia biyectiva (uno

    a uno) entre ciclos fundamentales y aristas ausentes del rbol de expansin. Para un grafo conexo con V vrtices, cualquier rbol de expansin tiene V-1 aristas, y as, un grafo con E aristas tiene E-V+1 ciclos fundamentales. En

    cualquier rbol de expansin dado, esos ciclos forman una base del espacio de ciclos.

    De manera dual a la nocin de ciclo fundamental, existe el concepto de corte fundamental. Al eliminar una arista del

    rbol de expansin, los vrtices se dividen en dos conjuntos disjuntos (desconectados). El corte fundamental se

  • Modelos de Optimizacin de Redes 35 Docente Ing. J. Paredes C.

    UNIVERSIDAD SAN PEDRO Ingeniera Industrial

    Investigacin Operativa II

    define como el conjunto de aristas que deben ser eliminados de un grafo G para llegar a la misma divisin. Por

    tanto, hay exactamente V-1 cortes fundamentales en un grafo, uno por cada arista del rbol de expansin. La dualidad entre cortes y ciclos fundamentales se manifiesta al observar que las aristas de un ciclo que no pertenece

    al rbol de expansin slo pueden aparecer en los cortes de otras aristas del ciclo, y viceversa: las aristas en un corte

    slo pueden aparecer en aquellos ciclos no contenidos en la arista correspondiente al corte. Este problema tiene algunas similitudes con el problema de la ruta ms corta. De manera general, en ambos casos se

    considera una red no dirigida y conexa, en la que los datos dados incluyen medidas para cada ligadura (distancia,

    costo, tiempo, etc.). Involucran tambin el hecho de seleccionar un conjunto de ligaduras que tiene la longitud total

    ms corta entre todas las ligaduras que cumplen determinada propiedad. En el problema de la ruta ms corta, la ligadura seleccionada debe generar una trayectoria entre el origen y el destino, mientras que para el rbol de

    expansin mnima se requiere que las ligaduras seleccionadas generen una trayectoria entre cada par de nodos, de tal

    manera que la suma de todas las trayectorias sea mnima. Una red con n nodos solo requiere n 1 ligaduras para generar una trayectoria entre cada par de nodos. Por lo tanto, el problema es encontrar el rbol de expansin total mnima de sus ligaduras.

    El problema del rbol de mnima expansin se resuelve normalmente con el inicio en cualquier nodo. El primer paso

    consiste en seleccionar la rama ms corta posible a otro nodo desde el inicio, sin preocuparse del efecto que esta eleccin pueda tener en las decisiones posteriores. El segundo paso consiste en identificar el nodo no conectado ms

    cercano a cualquiera de los dos que se acaban de conectar y despus agregar la ligadura correspondiente a la red.

    Este proceso se repite, segn el resumen que se da a continuacin, hasta que se hayan conectado todos los nodos.

    Algoritmo para el problema del rbol de expansin mnima. Paso 1: Se selecciona, de manera arbitraria, cualquier nodo y se conecta al nodo ms cercano distinto de ste.

    Paso 2: Se identifica el nodo no conectado ms cercano a un nodo conectado, y se unen estos nodos dos nodos. Este paso se repite hasta que se hayan conectado todos los nodos. Los empates para el nodo no conectado ms cercano, se

    rompen arbitrariamente y el algoritmo an tiende a una solucin ptima. Sin embargo, los empates indican la

    posibilidad de soluciones ptimas mltiples: Todas esas soluciones, si existen, se pueden encontrar si se buscan las

    dems formas de romper los empates hasta el final.

    Es un problema clsico de optimizacin combinatoria, formulado en 1926 por Boruvka quien lo plante para

    resolver el problema de hallar la forma ms econmica de distribuir energa elctrica en el sur de Moravia. La

    formulacin de este problema ha sido til para la realizacin de muchas investigaciones en varios campos como el transporte, electrnica, telecomunicaciones e investigacin de operaciones.

    El modelo contempla un conjunto de arcos que conectan todos los nodos de la red sin crear un solo ciclo o vuelta. El

    problema consiste en determinar el rbol que minimiza la distancia de conexin total; se resuelve por el Algoritmo

    de Etiquetado. En cuanto a la introduccin de datos y el proceso de solucin es similar a los modelos anteriores de este mdulo.

    El algoritmo de rbol de expansin mnima enlaza los nodos de una red, en forma directa o indirecta, con la mnima

    longitud de las ramas enlazantes. Una aplicacin caracterstica es en la construccin de carreteras pavimentadas que unen varias poblaciones. El camino entre dos poblaciones puede pasar por uno o ms poblaciones adicionales. El

    diseo ms econmico del sistema de caminos indica que se minimice la distancia total de caminos pavimentados,

    resultado que se obtiene implementando el algoritmo de rbol de expansin mnima.

  • Modelos de Optimizacin de Redes 36 Docente Ing. J. Paredes C.

    UNIVERSIDAD SAN PEDRO Ingeniera Industrial

    Investigacin Operativa II

    Figura No 27: rbol de expansin mnima

    Un ejemplo de rbol expandido mnimo. Cada punto representa un vrtice, el cual puede ser un rbol por s mismo.

    Se usa el Algoritmo para buscar las distancias ms cortas (rbol expandido) que conectan todos los puntos o

    vrtices.

    Este problema surge cuando todos los nodos de una red se deben conectar entre ellos, sin formar un ciclo. Se dice

    que un ciclo se presenta cuando el nodo de inicio de una ruta es el nodo final.

    El rbol de expansin mnima es apropiado para problemas en los cuales el flujo a lo largo de los arcos se considera

    instantneo.

    ALGORITMO DE KRUSKAL El algoritmo de Kruskal es un algoritmo de la teora de grafos para encontrar un rbol recubridor mnimo en un grafo conexo y ponderado. Es decir, busca un subconjunto de aristas que, formando un rbol, incluyen todos los

    vrtices y donde el valor total de todas las aristas del rbol es el mnimo. Si el grafo no es conexo, entonces busca un

    bosque expandido mnimo (un rbol expandido mnimo para cada componente conexa). El algoritmo de Kruskal es

    un ejemplo de algoritmo voraz. Funciona de la siguiente manera:

    se crea un bosque B (un conjunto de rboles), donde cada vrtice del grafo es un rbol separado

    se crea un conjunto C que contenga a todas las aristas del grafo

    mientras C es novaco o eliminar una arista de peso mnimo de C o si esa arista conecta dos rboles diferentes se aade al bosque, combinando los dos rboles en un

    solo rbol

    o en caso contrario, se desecha la arista Al acabar el algoritmo, el bosque tiene una sola componente, la cual forma un rbol de expansin mnimo del grafo.

    Este algoritmo fue publicado por primera vez en Proceedings of the American Mathematical Society, pp. 4850 en 1956, y fue escrito por Joseph Kruskal.

    Como el algoritmo de Prim, el algoritmo ideado por J.B. Kruskal en el ao 1956 (On the shortest spanning subtree of a graph and the traveling salesman problema) se basa en la propiedad de los arboles de expansin minimales: partiendo del rbol vaco, se selecciona a cada paso la arista de menor etiqueta que no provoque ciclo sin requerir

    ninguna otra condicin sobre sus extremos.

    1. Comenzar en forma arbitraria en cualquier nodo y conectarlo con el ms prximo (menos distante o

    costoso).

    2. Identificar el nodo no conectado que est ms cerca o menos costoso de alguno de los nodos conectados. Deshacer los empates de forma arbitraria. Agregar este nodo al conjunto de nodos conectado.

    3. Repartir este caso hasta que se hayan conectado todos los nodos.

    Problema Desarrollado No 8: EL TRANSITO DE LA CIUDAD DE LIMA

  • Modelos de Optimizacin de Redes 37 Docente Ing. J. Paredes C.

    UNIVERSIDAD SAN PEDRO Ingeniera Industrial

    Investigacin Operativa II

    La ciudad de Lima est planificando el desarrollo de una nueva lnea en sistemas de trnsito.

    El sistema debe unir 8 zonas residenciales y centros comerciales. El Direccin metropolitana de transito necesita seleccionar un conjunto de lneas que conecten todos los centros a un

    mnimo costo.

    La red seleccionada debe permitir:

    - Factibilidad de las lneas que deban ser construidas. - Mnimo costo posible por lnea.

    RED QUE REPRESENTA EL ARBOL EXPANDIDO.

    Solucin - Analoga con un problema de redes

    El algoritmo que resuelve este problema es el algoritmo de Kruskal. Algoritmo:

    Empezar seleccionando, desde un arco inicial, el arco de menor longitud.

    En cada iteracin, agregue el siguiente arco de menor longitud del conjunto de arcos disponibles, tomando la

    precaucin de no formar ningn ciclo El algoritmo finaliza cuando todos los nodos estn conectados.

    Partimos del nodo 1 y marcamos la arista que une el nodo 1 y el 2, por ser la arista de menor valor (28) no marcada.

    Figura No 28: Red del problema

    desarrollado No 7

    Figura No 29: Primera Iteracin

  • Modelos de Optimizacin de Redes 38 Docente Ing. J. Paredes C.

    UNIVERSIDAD SAN PEDRO Ingeniera Industrial

    Investigacin Operativa II

    Marcamos la arista que une el nodo el nodo 2 con el 4, por ser la arista de menor valor (32), no marcada que no

    forma ciclos.

    Figura No 30: Primera Iteracin

    Figura No 31: Segunda Iteracin

    Figura No 32: Segunda Iteracin

  • Modelos de Optimizacin de Redes 39 Docente Ing. J. Paredes C.

    UNIVERSIDAD SAN PEDRO Ingeniera Industrial

    Investigacin Operativa II

    Marcamos la arista que une el nodo 4 y el nodo 3, por ser la arista menor (30) que no forma ciclos con los ya marcados anteriormente.

    Marcamos la arista que une el nodo 2 y el nodo 5, por ser la arista menor (35) que no forma ciclos con los ya marcados anteriormente.

    Figura No 33: Tercera Iteracin

    Figura No 34: Cuarta Iteracin

    Figura No 35: Cuarta Iteracin

  • Modelos de Optimizacin de Redes 40 Docente Ing. J. Paredes C.

    UNIVERSIDAD SAN PEDRO Ingeniera Industrial

    Investigacin Operativa II

    Marcamos la arista que une el nodo 2 y el nodo 7, por ser la arista menor (37) que no forma ciclos con los ya marcados anteriormente.

    Figura No 36: Cuarta Iteracin

    Figura No 37: Quinta Iteracin

    Figura No 38: Quinta Iteracin

  • Modelos de Optimizacin de Redes 41 Docente Ing. J. Paredes C.

    UNIVERSIDAD SAN PEDRO Ingeniera Industrial

    Investigacin Operativa II

    Marcamos la arista que une el nodo 6 y el nodo 7, por ser la arista menor (36) que no forma ciclos con los ya

    marcados anteriormente.

    Marcamos la arista que une el nodo 5 y el nodo 8, por ser la arista menor (38) que no forma ciclos con los ya

    marcados anteriormente.

    Figura No 39: Quinta Iteracin

    Figura No 40: Sexta Iteracin

    Figura No 41: Stima Iteracin

  • Modelos de Optimizacin de Redes 42 Docente Ing. J. Paredes C.

    UNIVERSIDAD SAN PEDRO Ingeniera Industrial

    Investigacin Operativa II

    FIN. Tenemos marcados n1 aristas, siendo n el nmero de nodos.

    RESPUESTA

    RUTA COSTO

    1 - 2 28

    2 - 4 32

    4 - 3 30

    2 - 7 37

    7 - 6 36

    2 - 5 35

    5 - 8 38

    236

    Solucin con DS POM del rbol de Expansin Mnima

    Figura No 42: Stima Iteracin

    Figura No 43: rbol de expansin mnima

  • Modelos de Optimizacin de Redes 43 Docente Ing. J. Paredes C.

    UNIVERSIDAD SAN PEDRO Ingeniera Industrial

    Investigacin Operativa II

    Seleccione la opcin Minimum Spanning Tree

    Ingrese el nmero de arcos y digite el nombre

    Figura No 44: Ventana en forma de matrix para el ingreso de datos

    En la ventana anterior debe digitar el inicio, fin y distancia del arco. A continuacin de clic en Solve

    Figura No 44: Ventana para

    ingresar y seleccionar del DS

    POM

  • Modelos de Optimizacin de Redes 44 Docente Ing. J. Paredes C.

    UNIVERSIDAD SAN PEDRO Ingeniera Industrial

    Investigacin Operativa II

    Figura No 45: Ventana de resultados

    Ejemplo Desarrollado No 9: La figura siguiente muestra todas las posibilidades de construir una red elctrica

    entre siete municipios (nodos) de un distrito a partir de una subestacin colocada en el nodo 1. Loa valores

    asociados con los arcos son los costos en millones de dlares para unir cada par de municipios, determinar cmo debe tenderse la red entre los municipios, de tal manera que todos queden conectados a un costo mnimo.

    Figura No 46: Red que representa la solucin

    optima

  • Modelos de Optimizacin de Redes 45 Docente Ing. J. Paredes C.

    UNIVERSIDAD SAN PEDRO Ingeniera Industrial

    Investigacin Operativa II

    La tabla de la pgina siguiente muestra que el rbol de expansin de mnimo costo total para la red elctrica entre

    los siete municipios (nodos) del distrito de la figura anterior es de 44 millones de dlares, representado por los

    siguientes circuitos: 1 2 4 3

    5 6 7

    Figura No 47: Posibilidades de construir una red elctrica entre siete municipios

    Aplicacin del algoritmo del rbol de expansin mnima para el ejemplo.

    Nodos

    conectados i

    Nodo k de menor costo

    que puede ser

    conectado a un nodo i

    Costo

    Cik

    Costo acumulado Tk Costo menor

    acumulado Tk

    1 1 2 6 6 6 1 2 2 4 6 6+6 12 1 2 4 4 3 4 12+4 16 1 2 4 3 4 5 9 16+9 25 1 2 4 3

    5

    5 6 4 25+4 29

    1 2 4 3

    5 6

    6 7 15 29+15 44

    Figura No 48: Diseo para construir una red elctrica entre siete municipios

  • Modelos de Optimizacin de Redes 46 Docente Ing. J. Paredes C.

    UNIVERSIDAD SAN PEDRO Ingeniera Industrial

    Investigacin Operativa II

    Ejemplo Desarrollado No

    8: Algoritmo de Kruskal

    Este es el grafo original. Los nmeros de las aristas indican su peso.

    Ninguna de las aristas est resaltada.

    AD y CE son las aristas ms cortas, con peso 5, y AD se ha elegido

    arbitrariamente, por tanto se resalta.

    Sin embargo, ahora es CE la arista ms pequea que no forma ciclos, con

    peso 5, por lo que se resalta como segunda arista.

    La siguiente arista, DF con peso 6, ha sido resaltada utilizando el

    mismo mtodo.

  • Modelos de Optimizacin de Redes 47 Docente Ing. J. Paredes C.

    UNIVERSIDAD SAN PEDRO Ingeniera Industrial

    Investigacin Operativa II

    Las siguientes aristas ms pequeas son AB y BE, ambas con peso 7. AB

    se elige arbitrariamente, y se resalta. La arista BD se resalta en rojo,

    porque formara un ciclo ABD si se hubiera elegido.