Previous Up Next

Capítulo 5  Grafos y redes

5.1  Ruta más corta y Flujo en redes

Indicadores de logro:

5.1.1  Teoría

Definiciones de grafos



Definición 1   Un grafo es una pareja de vértices y arcos (V,A). Usualmente V={1,2,3,...,n} y cada arco es un conjunto con dos vertices, A={{i1,i2},{i3,i4},...,{in−1,in}} (Tengase en cuenta {a,b}={b,a}).



Figure 5.1: Ejemplo de grafo V={1,2,3,4}, A={{1,4}, {1,2}, {2,4}, {3,4}}





Definición 2   Una cadena es una sucesión de arcos de la forma {e1,e2},{e2,e3},{e3,e4},...,{ep−1,ep}


En la figura 5.1 {{1,4},{4,3},{3,2}} (Línea punteada).

Definición 3   Un ciclo es una cadena que inicia y termina en el mismo nodo.


Definición 4   Un grafo G es conexo si hay una cadena entre cualquier par de vértices.



Figure 5.2: Ejemplo de grafo conexo





Definición 5   Un grafo G'=(V',A') es subgrafo de G=(V,A), (denotado G'⊂ G) cuando V'⊂ V y A'⊂ A



Figure 5.3: Ejemplo de subgrafo





Definición 6   Un subgrafo G' de un grafo G es árbol si G' es conexo y no tiene ciclos.


Ver figura 5.2.

Definición 7   Un árbol G' de un grafo G es árbol de expansión si llega a todos los vértices de G.


Ver figura 5.2.

Definición 8   El orden del grafo G=(V,A) es |V|


Teorema 1   Un grafo G es conexo si y solo si contiene un árbol de expansión.


Definición 9   En un grafo dirigido G =(V,A) el conjunto de arcos cumple AV× V. Si (i,j)∈ A decimos que el arco comienzo en i termina en j.



Figure 5.4: Ejemplo de grafo dirigido





Definición 10   Para definir grafo decorado requerimos un conjunto de etiquetas E. Se trata de una tripla G=(V,A,f) donde V y A tienen el significado usual (ya sea no dirigido o dirigido) y f es función f:A—→ E



Figure 5.5: Ejemplo de grafo no dirigido decorado



Las definiciones de cadena, ciclo, conexidad y árbol se extiende a grafos dirigidos, pero sin tener en cuenta la dirección de cada arco (i.e mirando el grafo como si fuera no dirigido).

Definición 11   En un grafo dirigido una trayectoria es una sucesión de arcos de la forma: {(i1,i2),(i2,i3),(i3,i4)...(in−1,in)}


Definición 12   En un grafo dirigido un circuito es una trayectoria que comienza y termina en el mismo nodo.



Figure 5.6: Ejemplo de un circuito



Árbol de expansión

Es posible econtrar un árbol de expansión en un grafo conexo con un algoritmo en el cual empleamos:



Figure 5.7: Ejemplo de grafo conexo en el que se puede hallar un árbol de expansión



Ruta más corta: Algoritmo de Dijkstra

Permite encontrar la distancia más corta entre un nodo y los demás nodos del arco. Por ejemplo para encontrar distancia más corta del nodo 1 a los demás nodos de Por ejemplo la distancia mas corta al nodo 7 es 11 y su trayectoria es 1-3-2-6-7.

Ruta más corta: Algoritmo de Floyd

El algoritmo de Floyd permite determinar las distnacias mínimas entre cualquier par de nodos de un grafo. La ídea central es que para ir de i a k resulta mejor pasar primero por j si dij+djkdik, y en ese caso se remplaza la trayectoria i—→ k por i—→ j—→ k.



Figure 5.8: Posibilidades para ir de i a k



Flujo en redes



Definición 13   Una red es un grafo con etiquetas en los arcos que representan costos y con flujos xij asociadas a cada arco (i,j).


El problema de la ruta más corta entre un nodo fuente s y uno destino t en un grafo dirigido con costos G=(V,A,C) con V = {1,2,3,......n} y A = {(i1,i2),(i2,i3),(i3,i4)⋯ (ik,ik+1)} y CijC costo del arco (i,j), puede plantearse como red con flujos xij (del nodo i al j) en los que cada xij≥0 puede ser 0 o 1. En la red se buscaría minimizar el costo total de los flujos por cada arco, añadiendo sólo un flujo de entrada unitario en el nodo s y un flujo unitario de salida en el nodo t.

Al plantearlo como problema de programación lineal, tenemos como función objetivo: min Σ(i,j)∈ A xij*Cij con restricciones de la forma:

Flujo que sale del nodo i = flujo que entra al nodo i

x12+x14=1
x12−x23=0
x23−x43−x53=−1
x43+x45−x14=0
x53−x45=0


Flujo de costo mínimo

El problema presentado en la sección anterior es un caso particular del problema general de minimizar flujo en una red.

Para plantearlo, cada nodo tiene un bi que es 0, excepto para nodos fuentes (bi>0) y para nodos sumidero (bi<0). Debe cumplirse una condición de equilibrio: Σi=1nbi=0.

De forma que el problema de flujo de costo mínimo es:

min
 
Σ
(
i,j)∈ A xij*Cij
s.a
n
Σ
j=1
xij
n
Σ
k=1
xki = bi
i=1,2,...n


La matriz A asociada tiene varias propiedades:

5.1.2  Lecturas recomendadas

La presentación de grafos se basa especialmente en la guía 1 de [10] y en [9]. La presentación de de flujo en redes se basa especialmente en [4].

5.1.3  Ejercicios

  1. En el capítulo 1 de [10], además de definiciones de grafos se presenta el “Lema de los apretones de manos”. Demuestrelo.

  2. (Adaptado de ejercicio 6.2A.4 de [9]) En la figura 5.9 se ven las distancias, en millas, de las conexiones factibles que unen nueve pozos subterraneos de agua con un punto de entrega. Como la ubicación del pozo 1 es la más cercana al punto de entrega, tiene capacidad de bombeo y de almacenamiento suficiente para bombear la producción de los ocho pozos restantes hasta el punto de entrega. Determine la red mínima de tubería que una las bocas de los pozos con el punto de entrega.



    Figure 5.9: Distancias entre pozos de agua





  3. (Adaptado de ejercicio 6.3A.2 de [9]) La figura 5.10 muestra la red de comunicaciones entre dos estaciones 1 y 7.



    Figure 5.10: Grafo con probabilidad de funcionamiento de enlaces en una red eléctrica



    La probabiliad de que un enlace de la red funcione sin fallar se ve en cada arco. Los mensajes se mandan de la estación 1 a la estación 7, y el objetivo es determinar la ruta que maximice la probabilidad de una buena transmisión. Formule el caso como modelo de ruta más corta y resulevalo.

  4. (Ejemplo 6.3.3 de [9]) Un garrafón de 8 galones se llena con un líquido. Se cuenta con un botellón de 5 y uno de 3 galones, y se quiere dividir los 8 galones de líquido en dos partes iguales, usando los tres garrafones. No se permite usar algún otro medidor. ?'Cuál es la cantidad mínima de vertidos necesarios para lograr este resultado?

  5. (Adaptado de ejercicio 5.5A.5 de [9]) Acerca de la red presentada en la figura 5.11, los distintos nodos representan estaciones de bombeo y recepeción. En la red se ven las distancias entre las estaciones. El costo de transporte por galón, entre dos nodos, es directamente proporcional a la longitud del ducto. Formule el modelo de flujo de costo mínimo correspondiente y determine la solución óptima.



    Figure 5.11: Grafo con distancias entre estaciones de una red



5.2  Flujo maximal en una red

Indicadores de logro:

5.2.1  Teoría

Planteamineto del problema de flujo maximal en una red

Algoritmo de solución

Cortes y teorema de flujo maximal corte mínimo

5.2.2  Lecturas recomendadas

La presentación se basa especialmente en [9] y en [6].

5.2.3  Ejercicios

  1. (Ejercicio 6.4B.5 de [9]) De tres silos se transporta alimento para pollos a cuatro granjas. Algunos de los silos no pueden mandar en forma directa a algunas de las granjas. Las capacidades de las demás rutas se limitan por la cantidad de camiones disponibles y la cantidad de viajes que se hacen diario. La tabla siguiente muestra las cantidades diarias de oferta en los silos, y la demanda en las granjas (en miles de libras). Los elementos de las celdas de la tabla especifican las capacidades diarias de las rutas correspondientes.

          Granja      
        1 2 3 4  
      1 30 5 0 40 20
    Silo 2 0 0 5 90 20
      3 100 40 30 40 200
        200 10 60 20 200

    1. Determine la solución que satisfaga la máxima parte de la demanda.
    2. La solución propuesta ¿satisfacerá toda la demanda en las granjas?


  2. (Adaptado de ejercicio 6.4B.6 de [9]) En el problema anterior suponga que se permite transbordo entre los silos 1 y 2 y los silos 2 y 3. También suponga que se permite transborod entre las granjas 1 y 2, 2 y 3, 3 y 4. La capacidad diaria en las dos direcciones, de las rutas propuestas de transporte es 50 (mil) lb. ¿Qué efecto tiene el trasbordo sobre las demandas no satisfechas en las granjas?

Previous Up Next