• No se han encontrado resultados

COMILLAS – Teoria y optimizacion en redes

N/A
N/A
Protected

Academic year: 2020

Share "COMILLAS – Teoria y optimizacion en redes"

Copied!
14
0
0

Texto completo

(1)

Teoría de redes y

optimización en redes

Pedro Sánchez Martín

TEORIA DE REDES Y OPTIMIZACIÓN EN REDES. 2

Contenidos

• Definiciones básicas

• Árbol generador mínimo de expansión

• Camino mínimo

– Algoritmo Dijkstra

– Algoritmo Bellman-Ford

• Flujo máximo

(2)

TEORIA DE REDES Y OPTIMIZACIÓN EN REDES. 3

Universidad Pontificia Comillas de Madrid

Definiciones básicas (I)

Red Nodo

s Vértices Nudos

Grafo Arcos Aristas Rama

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

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

1

2

3

4

Camino que une un nodo con él mismo Circuito

Cadena que une un nodo con él mismo Ciclo

Secuencia de arcos dirigidos que unen dos nodos Camino

Secuencia de arcos no dirigidos que unen dos nodos Cadena

Conjunto de nodos unidos por arcos dirigidos Red dirigida

Par orientado de vértices Arco dirigido

Definiciones básicas (II)

1

3

2

5

4

Circuito (5, 3) (3, 4) (4, 5)

(1, 2) (2, 5) (5, 3) (3, 1) Ciclo

(1, 2) (2, 5) (5, 3) (3, 4) Camino dirigido (camino)

(1, 2) (2, 5) (5, 4) Camino NO dirigido (cadena)

Nodos conexos: dos nodos son conexos si la red contiene al menos una cadena entre ellos Red conexa: red donde cada pareja de nodos es conexa

Árbol: red conexa sin ciclos

Árbol generador: red conexa sin ciclos que tiene exactamente n-1 arcos para recorrer todos los n nodos Capacidad de un arco: máximo flujo por un arco

(3)

TEORIA DE REDES Y OPTIMIZACIÓN EN REDES. 5

Universidad Pontificia Comillas de Madrid

Definiciones básicas (III)

Matriz de incidencia: filas nodos, columnas aristas,

elementos

Grafo dirigido: -1 nodo inicial, +1 nodo final. Dos elementos por columna. Matriz unimodular.

Matriz de adyacencia: filas nodos, columnas nodos,

elementos

Matriz simétrica.

1 si el nodo pertenece a la arista 0 otro caso

ij

i j

b = ⎨⎧

1 si existe un arco (arista) del nodo al 0 otro caso

ij

i j a = ⎨⎧

Matrices

TEORIA DE REDES Y OPTIMIZACIÓN EN REDES. 6

Definiciones básicas (IV)

1 0 0 1 0

1 1 0 0 1

0 1 1 0 0

0 0 1 1 1

B

⎛ ⎞

⎜ ⎟

⎜ ⎟

=

⎜ ⎟

⎜ ⎟

⎝ ⎠

0 1 0 1

1 0 1 1

0 1 0 1

1 1 1 0

A

⎛ ⎞

⎜ ⎟

⎜ ⎟

=

⎜ ⎟

⎜ ⎟

⎝ ⎠

1

2

3

4

Matriz de incidencia

(4)

TEORIA DE REDES Y OPTIMIZACIÓN EN REDES. 7

Universidad Pontificia Comillas de Madrid

Definiciones básicas (IV)

1

2

3

4

Matriz de incidencia

Matriz de adyacencia

1 0 0 1 0

1 1 0 0 1

0 1 1 0 0

0 0 1 1 1

B

⎛ ⎞

⎜ ⎟

=

⎜ − ⎟

⎝ ⎠

0 1 0 0

0 0 1 0

0 0 0 1

1 1 0 0

A

⎛ ⎞

⎜ ⎟

⎜ ⎟

=

⎜ ⎟

⎜ ⎟

⎝ ⎠

Árbol generador mínimo

Aplicaciones:

Redes de telecomunicación, de distribución o de transporte

Hipótesis:

Red conexa no dirigida

Distancia no negativa en cada arco

Objetivo:

(5)

TEORIA DE REDES Y OPTIMIZACIÓN EN REDES. 9

Universidad Pontificia Comillas de Madrid

Árbol generador mínimo (Algoritmo de Prim)

Notación

: número de nodos del grafo G ( =card (V)) : árbol construido

: conjunto de nodos conectados hasta la iteración

: conjunto de nodos todavía no conectados hasta la iteración

n

n

T

k

k

C

k

k

C

Algoritmo

Paso 1: Selección de un vértice inicial cualquiera

Hacer , . Elegir un vértice cualquiera y hacer , . Sea y .

Paso 2: Selección del vértice más cercano a los conectados y que todavía no haya sido conectado, añadir la arista al árbol generador

Seleccionar , un nodo no conectado tal que se une a algún vértice ya conectado (de ) con la arista de menor peso .

Hacer , y

Si , parar. Si no, poner y repetir el paso 2.

0

C = ∅ C0 =V i VC1 ={ }i

{ }

1

C =Vi k = 2 T = ∅

*

1 k jC

1 k

C ek−1

{ }

* 1

k k

C =C j

{ }

*

1

k k

C =C j T =T

{

ek1

}

k = n k = +k 1

TEORIA DE REDES Y OPTIMIZACIÓN EN REDES. 10

Árbol generador mínimo (Ejemplo)

1

2

5

3

4

6

. 1 5 7 9

1 . 6 4 3

5 6 . 5 10

7 4 5 . 8 3

9 3 8 .

10 3 .

∞⎞⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎜ ⎟ ⎜ ⎟⎟ ⎜ ∞ ∞⎟ ⎜∞ ∞ ∞ ⎟ ⎜⎝ ⎠ Paso 1: , .

Sea por ejemplo : , . Sea y

Paso 2:

Paso 3:

0

C = ∅ C0 =V ={1,2, 3, 4, 5, 6}

1

i = C1 ={ }1 C1 ={2, 3, 4, 5, 6} k =2 T = ∅

* 2

j = e1={ }1,2 C2 ={ }1,2 C2 ={3, 4, 5, 6} T ={ }e1 k <6 k =3

* 5

(6)

TEORIA DE REDES Y OPTIMIZACIÓN EN REDES. 11

Universidad Pontificia Comillas de Madrid

Árbol generador mínimo (Ejemplo cont.)

1

2

5

3

4

6

. 1 5 7 9

1 . 6 4 3

5 6 . 5 10

7 4 5 . 8 3

9 3 8 .

10 3 .

∞⎞⎟

⎜ ⎟

⎜ ⎟

⎜ ⎟

⎟⎟

⎜ ∞ ∞⎟

⎜∞ ∞ ∞ ⎟

⎜⎝ ⎠

Paso 4:

Paso 5:

Paso 6:

parar

* 4

j = e3 ={2, 4} C4 ={1,2, 5, 4} C4 ={3, 6} T ={e e e1, ,2 3} k <6 k =5

* 6

j = e4={4, 6} C5 ={1,2, 5, 4, 6} C5 ={ }3 T ={e e e e1, , ,2 3 4} k <6 k=6

* 3

j = e5 ={1, 3} C6 ={1,2, 5, 4, 6, 3} C6 = ∅ T ={e e e e e1, , , ,2 3 4 5} k =6

Camino mínimo

Hipótesis:

• Red conexa dirigida o no dirigida

• Dos nodos especiales:

origen y destino

• Cada arco lleva asociado una distancia:

- No negativa: Algoritmo Djikstra

- Positiva o negativa: Algoritmo Bellman-Ford

Otras posibilidades:

• Restricciones en los caminos

Objetivo:

(7)

TEORIA DE REDES Y OPTIMIZACIÓN EN REDES. 13

Universidad Pontificia Comillas de Madrid

Camino mínimo (Algoritmo Dijkstra)

- Es más eficiente que el algoritmo Bellman-Ford si no hay distancias negativas - Se basa en el principio de Bellman de que el óptimo está formado por subóptimos

Este algoritmo no es válido para arcos de longitud negativa

1

3

5

2

15

4

50

60 10 20

30 100

• Se etiquetan los nodos cuando se determina su camino mínimo al origen • En cada paso se obtiene el camino mínimo al nodo origen de los nodos

no etiquetados

• La evaluación del camino mínimo de los nodos no etiquetados se hace comparando la distancia previa al último nodo etiquetado y la distancia considerando el último nodo etiquetado

• El nodo con camino mínimo de los no etiquetados se etiqueta

TEORIA DE REDES Y OPTIMIZACIÓN EN REDES. 14

Camino mínimo (Algoritmo Dijkstra)

Paso 0: Inicio, se etiquetan los nodos con la longitud del arco que los une con el origen

1 0

u = uj =d1j j=2,...,n P=

{ }

1 T =

{

2,..,n

}

pred j( ) 1,= j=2,...,n

Paso 1: Designar la etiqueta permanente de la iteración: vértice con menor valor de la etiqueta transitoria

Buscar tal que . Hacer ykT k min

{ }

j j T

u u

= P= ∪P

{ }

k T = −T

{ }

k

Si , parar.T = ∅

Paso 2: Revisar las etiquetas transitorias

calcular , si se modifica poner . Volver al Paso 1.

j T

∀ ∈ uj =min

{

u uj, k +dkj

}

pred j( )=k

: Conjunto de nodos etiquetados : Conjunto de nodos NO etiquetados

(8)

TEORIA DE REDES Y OPTIMIZACIÓN EN REDES. 15

Universidad Pontificia Comillas de Madrid

Camino mínimo (Ejemplo)

1 3 5

2 15 4

50

60 10 20

30 100 Paso 0:

1 0

u = u2 =100 u3 = 30 u4 = ∞ u5 = ∞ P ={ }1 {2, 3, 4, 5}

T = pred j( )=1, j =2, 3, 4,5

Paso 1:

30

k

u

=

k = 3 P ={1, 3} T ={2, 4, 5}≠ ∅ Paso 2:

{ } { }

2 min 2, 3 32 min 100, 30 100

u = u u +d = + ∞ =

{

}

{ }

4 min 4, 3 34 min , 30 10 40

u = u u +d = ∞ + = pred(4)= 3

{ } { }

5 min 5, 3 35 min , 30 60 90

u = u u +d = ∞ + = pred(5)= 3

Paso 1:

40

k

u = k = 4 P ={1, 3, 4}T ={2,5}≠ ∅

Paso 2:

{ } { }

2 min 2, 4 42 min 100, 40 15 55

u = u u +d = + = pred(2)=4

{ } { }

5 min 5, 4 45 min 90, 40 50 90

u = u u +d = + = pred(5)=4

Camino mínimo (Ejemplo cont.)

1 3 5

2 15 4

50 10

30 Paso 1:

Paso 2:

Paso 1:

55

k

u = k =2 P ={1, 3, 4,2} T ={ }5 ≠ ∅

{

}

{ }

5 min 5, 2 25 min 90, 55 90

u = u u +d = + ∞ =

90

k

(9)

TEORIA DE REDES Y OPTIMIZACIÓN EN REDES. 17

Universidad Pontificia Comillas de Madrid

Camino mínimo (Algoritmo de Bellman-Ford)

:longitud del camino mínimo del vértice 1 al vértice usando a lo sumo arcos

Algoritmo:

Paso 1: Iniciar con longitudes de los arcos del nodo 1 a los demás nodos

Poner

Paso 2: Calcular las distancias mínimas usando a lo sumo arcos

Calcular .

Si , parar. Si no, poner y volver al paso 2.

m j

u

j

m

1

1 0

u = u1j =d1j j=2,...,n m=1

1 m+

{

}

{

}

1

min , min

m m m

j j k j k kj

u + u u d

= +

1

m m

j j

u + =uj m= +m 1

• Se utiliza sólo para el caso de arcos con distancia negativa

• No se aplica si existe un circuito con recorrido negativo, es decir, la suma de pesos de los arcos del circuito suma menos de cero

TEORIA DE REDES Y OPTIMIZACIÓN EN REDES. 18

Camino mínimo (Ejemplo de Bellman-Ford)

Paso 1:

pred(j)=1 j=2,3,4.

Paso 2:

Como , pred(4)=3, poner y volver al paso 2.

1 1 0

u = 1

2 5

u = 1 3 2 u = 1

4

u = ∞ m =1

{ }

{

}

{ { }}

2 1 1 1

2 min 2, min 3 32, 4 42 min 5, min 2 , 3 5

u = u u +d u +d = + ∞ ∞ − =

{ }

{

}

{ { }}

2 1 1 1

3 min 3, min 2 23, 4 43 min 2, min 5 3, 6 2

u = u u +d u +d = + ∞ + =

{ }

{

}

{ { }}

2 1 1 1

4 min 4, min 2 24, 3 34 min , min 5 4, 2 1 3

u = u u +d u +d = ∞ + + =

2 1

4 4

uu m =2

1

2

4

3

5 -3

4 6

1 3

(10)

TEORIA DE REDES Y OPTIMIZACIÓN EN REDES. 19

Universidad Pontificia Comillas de Madrid

Camino mínimo (Ejemplo de Bellman-Ford)

3 2

2 2

uu m =3

1 4 1 3

m = − = − =n

4 3

j j

u =uj

Paso 2:

Como , pred(2)=4, poner y volver al paso 2 (aunque ya se sabe que se ha acabado por ser .

Paso 2:

Como , parar.

{

}

{

}

{ { }}

3 2 2 2

2 min 2, min 3 32, 4 42 min 5, min 2 , 3 3 0

u = u u +d u +d = + ∞ − =

{

}

{

}

{ { }}

3 2 2 2

3 min 3, min 2 23, 4 43 min 2, min 5 3, 3 6 2

u = u u +d u +d = + + =

{

}

{

}

{ { }}

3 2 2 2

4 min 4, min 2 24, 3 34 min 3, min 5 4, 2 1 3

u = u u +d u +d = + + =

{ }

{

}

{ { }}

4 3 3 3

2 min 2, min 3 32, 4 42 min 0, min 2 , 3 3 0

u = u u +d u +d = + ∞ − =

{ }

{

}

{ { }}

4 3 3 3

3 min 3, min 2 23, 4 43 min 2, min 0 3, 3 6 2

u = u u +d u +d = + + =

{

}

{

}

{ { }}

4 3 3 3

4 min 4, min 2 24, 3 34 min 3, min 0 4, 2 1 3

u = u u +d u +d = + + =

1

2

4

3

-3

1 2

Problema del flujo máximo

Hipótesis:

Red conexa dirigida sin bucles

Nodos

origen

y

destino

, el resto son de transbordo

Cada arco tiene una capacidad asociada

Objetivo:

Maximizar el flujo total desde el origen al destino

Métodos de resolución:

Programación lineal

(11)

TEORIA DE REDES Y OPTIMIZACIÓN EN REDES. 21

Universidad Pontificia Comillas de Madrid

Conceptos del problema de flujo máximo

Red de transporte:

• Una única fuente

• Un único sumidero

• Cada arco tiene una capacidad asociada

• Cada vértice es alcanzable desde la fuente y el sumidero es alcanzable desde todos los vértices

Flujo compatible:

• Es un vector de dimensión igual al número de arcos con dos propiedades: 1. El flujo no supera la capacidad de ningún arco ( )

2. Verifica ley de conservación de flujo

El flujo que sale de la fuente coincide con el que llega al sumidero. Dicho valor se denomina valor del flujo

s

t

ϕ

( ),

ij cij i j

ϕ ≤ ∀

/( , ) /( , )

, ji ij 0

j j i U j i j U

i s t ϕ ϕ

∈ ∈

∀ ≠

=

TEORIA DE REDES Y OPTIMIZACIÓN EN REDES. 22

Conceptos del problema de flujo máximo

Corte:

• Conjunto de arcos cuya eliminación desconecta la fuente del sumidero

• Da lugar a dos componentes: uno incluye la fuente y el otro el sumidero

1

2

4

3

s

t

(5)

(4)

(5)

(6) (2) (6)

(5) (5)

(7)

Los arcos (1,2), (1,4) y (3,4) forman un corte obteniendo los componentes {s,1,3} y {2,4,t}

Capacidad de corte:

• Suma de las capacidades de los arcos que forman el corte

(12)

TEORIA DE REDES Y OPTIMIZACIÓN EN REDES. 23

Universidad Pontificia Comillas de Madrid

Conceptos del problema de flujo máximo

Corte de mínima capacidad:

• Consiste en encontrar el corte cuya capacidad sea mínima

Dado un flujo compatible , su capacidad es siempre menor que cualquier capacidad de corte. Por ello se puede asegurar que:

“El máximo flujo que se puede enviar de la fuente al sumidero coincide con la mínima capacidad de un corte”

La aplicación de esta afirmación da lugar al Algoritmo de Ford-Fulkerson

o también conocido como del camino de aumento

ϕ

Algoritmo de Ford-Fulkerson

Capacidad residual de un arco:

· Es la diferencia entre la capacidad de un arco y el flujo asignado a éste

Camino de aumento:

· Es un camino de la fuente al sumidero tal que el mínimo de las capacidades residuales de los arcos que lo forman es positivo, denominando a este valor

capacidad residual del camino de aumento

Algoritmo:

Paso 1:Comenzar con un flujo compatible y obtener las capacidades residuales de los arcos

Poner flujo 0 y capacidades residuales . Etiquetar

0 ( , ) ij i j U

ϕ = ∀ ∈ *

( , ) ij ij

c =ci jU ( , )

(13)

TEORIA DE REDES Y OPTIMIZACIÓN EN REDES. 25

Universidad Pontificia Comillas de Madrid

Algoritmo de Ford-Fulkerson (cont.)

Algoritmo (continuación):

Paso 2:Obtener un camino de aumento, incluso redireccionando flujo anteriormente asignado

Sea un nodo ya etiquetado y sea un nodo sin etiquetar tal que existe el arco o el arco . Hacer según el caso:

a) Si y la capacidad residual no es 0 ( ) puede aumentar flujo, calcular el mínimo de la capacidad residual de los arcos anteriores y este arco y etiquetar el nodo, es decir, calcular y etiquetar el nodo con

b) Si y se está enviando flujo por ese arco ( ) se puede redireccionar parte de ese flujo (se puede disminuir en ese arco), entonces calcular y etiquetar el nodo con

i Vj V

( , )i j ( , )j i

( , )i jV

c

ij*

>

0

{ }

*

min ,

j i cij

δ = δ

j j→ +(ij)

( , )j iV ϕji >0

{

}

min ,

j i ji

δ = δ ϕ j j→ −( ,i δj)

Repetir hasta que el sumidero esté etiquetado e ir al paso 3 o hasta que no sea posible etiquetar más nodos e ir al paso 4

TEORIA DE REDES Y OPTIMIZACIÓN EN REDES. 26

Algoritmo de Ford-Fulkerson (cont.)

Algoritmo (continuación):

Paso 3:Aumentar el flujo en el camino obtenido y recalcular las capacidades residuales

Recorrer el camino de nodos etiquetados aumentando el flujo en los arcos etiquetados positivamente y disminuyéndolo en los etiquetados negativamente en la cantidad con que se etiquetó el sumidero

(capacidad residual del camino). Recalcular las capacidades residuales (disminuir en los arcos positivos y aumentar en los negativos). Borrar las etiquetas, excepto la de la fuente, y volver al paso 2.

Paso 4: Parar, no es posible aumentar el flujo

El flujo obtenido es máximo y el corte de capacidad mínima viene dado por los nodos etiquetados en una componente y los no etiquetados en otra (es decir, el corte son los arcos que vayan de una componente a otra).

t

(14)

TEORIA DE REDES Y OPTIMIZACIÓN EN REDES. 27

Universidad Pontificia Comillas de Madrid

Flujo compatible con coste mínimo

• En este problema se incorpora un nuevo elemento en la red, el coste . • Se supone asociado a cada arco un coste unitario de envío de flujo

• El problema consiste en enviar una cantidad de flujo conocida, , a través de la red desde la fuente (origen) al sumidero (destino), con coste total mínimo.

ij

d

θ

( , )

/( , )

/( , )

/( , ) /( , ) min

0 ,

0 ( , )

ij ij i j U

ij i s i U

ij i i t U

ji ij

i j i U i i j U

ij ij d

j s t

c i j U

ϕ

ϕ

θ

ϕ

θ

ϕ

ϕ

ϕ

∈ ∈

=

= −

− = ∀ ≠

≤ ≤ ∀ ∈

Referencias

Documento similar

Volviendo a la jurisprudencia del Tribunal de Justicia, conviene recor- dar que, con el tiempo, este órgano se vio en la necesidad de determinar si los actos de los Estados

o esperar la resolución expresa&#34; (artículo 94 de la Ley de procedimiento administrativo). Luego si opta por esperar la resolución expresa, todo queda supeditado a que se

1. LAS GARANTÍAS CONSTITUCIONALES.—2. C) La reforma constitucional de 1994. D) Las tres etapas del amparo argentino. F) Las vías previas al amparo. H) La acción es judicial en

Las características del trabajo con grupos que se debería llevar a cabo en los Servicios Sociales de Atención Primaria (SSAP), en términos de variabilidad o estabilidad

Tras establecer un programa de trabajo (en el que se fijaban pre- visiones para las reuniones que se pretendían celebrar los posteriores 10 de julio —actual papel de los

Parece, por ejemplo, que actualmente el consejero más influyente en la White House Office con Clinton es el republicano David Gergen, Communications Director (encargado de la

En cuarto lugar, se establecen unos medios para la actuación de re- fuerzo de la Cohesión (conducción y coordinación de las políticas eco- nómicas nacionales, políticas y acciones

En el capítulo de desventajas o posibles inconvenientes que ofrece la forma del Organismo autónomo figura la rigidez de su régimen jurídico, absorbentemente de Derecho público por