Está en la página 1de 51

Optimización

1
de Redes
Un grafo, o red, se define mediante dos conjuntos de símbolos: nodos (V) y arcos (A). Los vértices
de una gráfica o red también se llaman nodos.
Un arco consiste en un par ordenado de puntos extremos y representa una posible dirección de
movimiento que podría ocurrir entre puntos extremos (o vértices).
Suponga que los nodos 1, 2, 3 y 4 de la siguiente figura representan ciudades y cada arco
representa una carretera (de un solo sentido) que enlaza dos ciudades.

1
1 4

Para esta red:


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

Una secuencia de arcos tal que cada arco tiene exactamente un vértice en común con el arco
previo se llama cadena. (1,2)-(2,3)-(4,3).
Una trayectoria es una cadena en la que el nodo terminal de cada arco es idéntico al nodo inicial
del arco siguiente. (1,2)-(2,3)-(3,4).
Un ciclo es una trayectoria o cadena que vuelve al punto de partida. (1,2)-(2,3)-(3,4)-(4,1).
Ejercicio:
Identificar del siguiente grafo:
• Nodos
• Arcos
• Trayectorias del nodo 1 al nodo 6
• Dos cadenas del nodo 1 al nodo 3
• Dos ciclos

1 2 3

4 5 6
Tipos de problemas con grafos
• Trayectoria mas corta
• Árbol de expansión mínima
• Problemas del agente viajero
• Problemas de la ruta crítica
• Flujo máximo
• Flujo del costo mínimo
• PERT
Problemas de la trayectoria mas corta
En este tipo de problemas se supone que cada arco de la red tiene una longitud
asociada con él. Suponga que se empieza en un nodo particular (digamos, el nodo 1).
El problema de encontrar la trayectoria mas corta (trayectoria de longitud mínima) del
nodo 1 a cualquier otro nodo en la red se llama problema de la trayectoria mas corta.

Algoritmo de Dijkstra

El método conocido como el algoritmo de Dijkstra, se


puede utilizar para encontrar la trayectoria mas corta
de un nodo a los demás nodos. El siguiente ejemplo
muestra paso a paso como se debe aplicar el método.
Ejemplo:
• Un camión debe viajar de Nueva York a Los Ángeles. Como se ilustra en la siguiente
figura, existen varias rutas. El número asociado con cada arco es el número de
galones de combustible que requiere el camión para atravesar el arco. Utilice el
algoritmo de Dijkstra para encontrar la ruta de Nueva York a Loa Ángeles que
utiliza la cantidad mínima de combustible.
T=400

T=950

T=800
La ruta que utiliza menos combustible es: New York – St. Louis – Phoenix – Los
Ángeles, el consumo de combustible es de 2,450 galones.
Ejercicio 1:
Encuentre la trayectoria mas corta de nodo A al nodo I del siguiente grafo.
Suponga que las cantidades que se encuentran sobre los arcos son los días
que se tarda un tren en llegar de un nodo a otro.

B 3
F
3
5
5
D 5
4
A G I
5
1
4 7
E 2
2
2
C
H
Ejercicio 2:
Encuentre la trayectoria mas corta de nodo 1 al nodo 10 del siguiente grafo.
Suponga que las cantidades que se encuentran sobre los arcos son los
kilómetros que hay entre los arcos.

2 5
7
6
3
10
9
5 5

7 7 2 6
1 3 8 10
3 2
4
8 1 8
6 2
4
3
4
9
Ejercicio 3:
Encuentre la trayectoria mas corta de nodo A al nodo K del siguiente grafo.
Suponga que las cantidades que se encuentran sobre los arcos son los costos
de flete de un nodo a otro.
3
D

4 1 4
1 H
6
3 5
3
B E
1
2 5
5
A I K
4
2 3
2
C 2 F
2

3 5 J

9
G
Arboles de mínima expansión
Un árbol de mínima expansión es un conjunto de «n» nodos conectados por
(n-1) arcos y en donde la unión no forma un ciclo. Por ejemplo:

1 2 1 2 1 2

3 4 3 4 3 4

Los algoritmos mas utilizados para encontrar arboles de mínima expansión


son:

• Algoritmo de Prim
• Algoritmo de Kruskal
Algoritmo de Prim
Este algoritmo es muy utilizado cuando se
desean encontrar arboles de mínima expansión
en problemas de transporte.

Paso 1: Elegir un nodo arbitrariamente.


Paso 2: Seleccionar el nodo mas cercano (o el de
menor costo o distancia) al nodo generado,
cuidando de no hacer un ciclo. Continuar hasta
dejar conectados todos los nodos.
Ejemplo:
4
12 15
1 2 3
7 4
3
9 7
10 5
6
5 9
6 18
7
10
8
11 9

14

10 11 12
9 2
Ejemplo:
4
12 15
1 2 3
7 4
3
9 7
10 5
6
5 9
6 18
7
10
8
11 9

14

10 11 12
9 2
Ejemplo:
4
12 15
1 2 3
7 4
3
9 7
10 5
6
5 9
6 18
7
10
8
11 9

14

10 11 12
9 2
Ejemplo:
4
12 15
1 2 3
7 4
3
9 7
10 5
6
5 9
6 18
7
10
8
11 9

14

10 11 12
9 2
Ejemplo:
4
12 15
1 2 3
7 4
3
9 7
10 5
6
5 9
6 18
7
10
8
11 9

14

10 11 12
9 2
Ejemplo:
4
12 15
1 2 3
7 4
3
9 7
10 5
6
5 9
6 18
7
10
8
11 9

14

10 11 12
9 2
Ejemplo:
4
12 15
1 2 3
7 4
3
9 7
10 5
6
5 9
6 18
7
10
8
11 9

14

10 11 12
9 2
Ejemplo:
4
12 15
1 2 3
7 4
3
9 7
10 5
6
5 9
6 18
7
10
8
11 9

14

10 11 12
9 2
Ejemplo:
4
12 15
1 2 3
7 4
3
9 7
10 5
6
5 9
6 18
7 5 10
8
11 9

14

10 11 12
9 2
Ejemplo:
4
12 15
1 2 3
7 4
3
9 7
10 5
6
5 9
6 18
7 5 10
8
11 9

14

10 11 12
9 2
Ejemplo:
4
12 15
1 2 3
7 4
3
9 7
10 5
6
5 9
6 18
7 5 10
8
11 9

14

10 11 12
9 2
Ejemplo:
4
12 15
1 2 3
7 4
3
9 7
10 5
6
5 9
6 18
7 5 10
8
11 9

14

10 11 12
9 2
Solución: el árbol de mínima expansión para la red es:
4
12
1 2 3
7 4
3
7
10 5
6
5 9
6
7 5
8
9

10 11 12
2

La expansión total de la red es de 70 unidades.


Ejercicio 1:
La presidencia municipal de cierta ciudad cuenta con cinco áreas. El
alcalde quiere construir líneas telefónicas para asegurar que las áreas
se pueden comunicar entre si. Las distancias en metros entre las áreas
se dan en la siguiente figura. ¿Cuál es la longitud mínima de la línea
telefónica requerida? Suponga que entre las subdivisiones 1 y 4 no se
puede construir ninguna línea telefónica.
4
60
105
1
95
80
50 5

70 105
100 75
2
90
3
Ejercicio 2:
La distancia en millas entre las ciudades de Indiana: Gary, Fort Wayne,
Evansville, Terre Haute y South Bend, se muestran en la siguiente tabla.
Es necesario construir un sistema estatal de carreteras que una todas
esas ciudades. Suponga que por cuestiones políticas no es posible
construir una carretera que una a Terre Haute con Gary, y tampoco una
carretera que una a Fort Wayne y Evansville. ¿Cuál es la longitud
mínima de la carretera requerida?

Terre Fort South Gary Evans


Haute Wayne Bend ville
Terre Haute --- 98 240 84 128
Fort Wayne 98 --- 176 153 250
South Bend 240 176 --- 269 123
Gary 84 153 269 --- 204
Evansville 128 250 123 204 ---
Algoritmo de Kruskal
Paso 1: Ordenar los pesos de los arcos en orden
ascendente.
Paso 2: Ir asignando en orden de prioridad sin
formar ciclos.
Problemas de la ruta crítica
Operaciones para encontrar la ruta crítica:

• Calcular el tiempo de inicio mas temprano


(máximo de los tiempos de terminación mas temprano)

• Calcular el tiempo de terminación mas temprano


(tiempo de inicio mas temprano + duración de la actividad)

• Calcular el tiempo de terminación mas tardío


(mínimo de los tiempos de inicio mas tardíos)

• Calcular el tiempo de inicio mas tardío


(tiempos de terminación mas tardío – duración de la actividad)
Ejemplo:
21

16 11
1 2 6
19
14
33
5 6

3 4 5
10 15

5, 6, 10, 11, 14, 15, 16, 19, 21, 33


Ejemplo:
21

16 11
1 2 6
19
14
33
5 6

3 4 5
10 15

5, 6, 10, 11, 14, 15, 16, 19, 21, 33


Ejemplo:
21

16 11
1 2 6
19
14
33
5 6

3 4 5
10 15

5, 6, 10, 11, 14, 15, 16, 19, 21, 33


Ejemplo:
21

16 11
1 2 6
19
14
33
5 6

3 4 5
10 15

5, 6, 10, 11, 14, 15, 16, 19, 21, 33


Ejemplo:
21

16 11
1 2 6
19
14
33
5 6

3 4 5
10 15

5, 6, 10, 11, 14, 15, 16, 19, 21, 33


Ejemplo:
21

16 11
1 2 6
19
14
33
5 6

3 4 5
10 15

5, 6, 10, 11, 14, 15, 16, 19, 21, 33


Ejemplo:

16 11
1 2 6

5 6

3 4 5
15

5, 6, 10, 11, 14, 15, 16, 19, 21, 33

La extensión mínima del árbol es de 53 unidades


Ejercicio:
Aplicando el algoritmo de Kruskal encontrar el
árbol de mínima expansión
1450
1289 1539
1 2 3
750 4
874 750
925
1000 5 765
6
557 650 980
650 755
7
1130 8
1210 9

1430

10
Problemas de la ruta crítica
Operaciones para encontrar la ruta crítica:

• Calcular el tiempo de inicio mas temprano


(máximo de los tiempos de terminación mas temprano)

• Calcular el tiempo de terminación mas temprano


(tiempo de inicio mas temprano + duración de la actividad)

• Calcular el tiempo de terminación mas tardío


(mínimo de los tiempos de inicio mas tardíos)

• Calcular el tiempo de inicio mas tardío


(tiempos de terminación mas tardío – duración de la actividad)
Ejemplo:

Actividad Duración Actividades


precedentes
A 3 ---
B 8 A
C 2 B, G
D 6 A
E 12 D
F 5 E, G
G 12 A
H 4 C, F
Elaborando diagrama de red
B

C
ACTIVIDAD 8

A G 2 H

3 12 4

DURACIÓN D E F

6 12 5
Calculando los tiempos de inicio y terminación
mas tempranos (de izquierda a derecha).
B
3 11
Tiempo de inicio
mas temprano 8 C
15 17

A G 2 H
0 3 3 15 26

3 12 4

D E F

Tiempo de 3 9 9 21 21 26

terminación mas
temprano 6 12 5
Calculando los tiempos de inicio y terminación
mas tardíos (de derecha a izquierda).
B
3 11
16 24 Tiempo de inicio
8 C mas tardío
15 17
24 26

A G 2 H
0 3 3 15 26 30
0 3 9 21 26 30
3 12 4

D E F
3 9 9 21 21 26
Tiempo de
3 9 9 21 21 26
terminación mas
6 12 5
tardío
Encontrando la ruta crítica: cualquier actividad con
un tiempo libre total de cero es una actividad crítica.
B
3 11
16 24
8 C
15 17
24 26

A G 2 H
0 3 3 15 26 30
0 3 9 21 26 30
3 12 4

D E F
3 9 9 21 21 26
3 9 9 21 21 26
6 12 5

Ruta crítica: A - D - E - F - H
Ejercicio 1:
Considere la lista (simplificada) de actividades y predecesores
en relación con la construcción de una casa. Trace una red de
proyecto y determine la trayectoria crítica.

Actividad Descripción Predecesores Duración


A Construir la cimentación --- 5
B Construir paredes y plafones A 8
C Construir el techo B 10
D Hacer la instalación eléctrica B 5
E Colocar ventanas B 4
F Revestir las paredes externas D, E 6
G Pintar la casa C, F 3
Ejercicio 2:
El promotor de un concierto de rock debe llevar a cabo las tareas
mostradas en la siguiente tabla antes de celebrar el concierto (las
duraciones están en días). Trace la red del proyecto y determine la
trayectoria crítica.
Actividad Descripción Predecesor Duración
inmediato
A Encontrar el sitio ___ 4
B Encontrar a los ingenieros A 3
C Contratar el acto de apertura A 10
D Poner anuncios de radio y TV C 3
E Preparar agentes de boletos A 5
F Preparar lo relacionado con la electrónica B 4
G Imprimir anuncios C 7
H Organizar el transporte C,E 1.5
I Ensayos F, D, G 2
J Detalles de último minuto I,H 3

También podría gustarte