Sesión 8. Redes Clase

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

Transcript of Sesión 8. Redes Clase

1

SEPI - UPIICSA – IPN Investigación de operaciones Maestría en administración

Sesión 8

Introducción a Redes

En general las redes pueden ser muy complejas por la cantidad excesiva de nodos, por tales

razones en teoría de redes los algoritmos pueden ser exactos (por ejemplo, el simplex) los cuales

se caracterizan por dar soluciones óptimas; heurísticos por ejemplo, búsqueda tabú, redes

neuronales, glotones, etc. mismos que se caracterizan por dar soluciones aproximadas a las

óptimas. En ocasiones se combinan los heurísticos con los exactos, utilizando primeramente un

heurístico, para encontrar rápidamente una solución aproximada y posteriormente la exacta.

Cuando se trata de encontrar el camino más corto entre un origen y un destino, la técnica,

algoritmo o el modelo más común es el de la ruta más corta; aunque existen otros modelos de

redes que dependiendo de la complejidad de cómputo pueden ser usados, como es el caso de los

algoritmos heurísticos, por ejemplo la búsqueda Tabú. Uno de los problemas principales de las

redes se refiere a la minimización de las trayectorias.

En general las redes pueden trabajarse como problemas lineales o lineales enteros, al

utilizar un principio básico en teoría de redes:

“Siempre debe cumplirse el equilibrio en los nodos, flujo entrante debe ser igual al flujo

saliente”.

Por lo tanto, el capítulo inicia con un resumen de la terminología general de una red,

siguiendo con la solución de los problemas de redes más comunes por medio de la programación

lineal. Posteriormente se revisan los algoritmos clásicos de los modelos de redes y se revisan

algunas aplicaciones.

8.1 CONCEPTOS BÁSICOS DE REDES

A continuación se mencionan algunos conceptos básicos de redes y notación.

1. Red: Una red consiste en un conjunto de puntos y un conjunto de líneas que unen ciertos pares

de puntos. Los puntos se llaman nodos o vértices y las líneas se llaman arcos,

ligaduras, aristas o ramas.

2. Arcos: Los arcos se etiquetan para dar nombres a los nodos en sus puntos terminales, por

ejemplo, AB es el arco entre los nodos A y B.

En un problema de programación lineal, las técnicas de flujo de redes están orientadas a

optimizar situaciones vinculadas a las redes de transporte, rutas de navegación de los cruceros,

rutas entre ciudades, y todas aquellas situaciones que puedan representarse mediante una red

donde los nodos denotan las estaciones o las ciudades, los arcos los caminos, y el flujo lo

Elaboró Dr. Eduardo Gutiérrez González

2

representan vehículos de transporte que pasan por la red; con el objetivo de encontrar la ruta más

corta entre un par de nodos que permita fluir productos para su comercialización o distribución.

3. Arcos dirigidos: Se dice que un arco es dirigido cuando el arco tiene flujo en una dirección, la

dirección se indica agregando una cabeza de flecha al final de la línea 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 después el nodo a donde va, esto es, un arco dirigido del nodo

A al nodo B debe etiquetarse como AB y no como BA, otra manera es A B.

4. Ligadura: Se llama ligadura cuando el flujo a través de un arco ocurre en cualquier dirección,

se supone que ese flujo será en una dirección, en la seleccionada, y no se tendrá flujos

simultáneos en direcciones opuestas.

5. Trayectoria: Una trayectoria entre dos nodos es una sucesión de arcos distintos que unen el

nodo inicial con el nodo final.

6. Ciclo: Un ciclo es una trayectoria que comienza y termina en el mismo nodo.

7. Árbol de Expansión: es una red conexa para los n nodos, que contiene ciclos no dirigidos.

Todo árbol de expansión tiene justo 1n arcos, ya que éste es el número mínimo de

arcos necesarios para tener una red conexa y el máximo número posible para que no

haya ciclos no dirigidos.

EJEMPLOS DE REDES 8.1

Transporte

Los 7 puentes de Königsberg (Euler 1736)

Internet.

Etc.

Nota: un principio fundamental en una red es que todo lo que entra a un nodo

debe ser igual a lo que sale.

8.2 SOLUCIÓN DE OPTIMIZACIÓN DE REDES POR PROGRAMACIÓN LINEAL

Los modelos más comunes de optimización de redes son:

Redes de transito urbano.

Transporte y transbordo.

Redes de la ruta más corta.

Redes de flujo máximo.

Árbol de expansión mínima.

Investigación de Operaciones para Administración . Sesión 8

3

8.2.1 TRANSPORTE Y TRANSBORDO

El modelo de transbordo se puede considerar como un ampliación del modelo de transporte, en

donde los artículos que se deben transportar de una fuente a un destino puede ser que tengan que

pasar o almacenarse primeramente en otro centro, de tal forma que se requiere de un transbordo

para llegar al centro de destino. La solución de este tipo de problema se realiza con el principio

de equilibrio de la red para los nodos de transbordo: Todo lo que entra en un nodo debe salir.

Por otro lado, los nodos de las fuentes son nodos emisores y los nodos de la demandas son

nodos receptores o sumidero

EJEMPLO 8.2

Una compañía tiene un solo campo petrolero desde donde envía todo el petróleo, a través de un

oleoducto, a uno de dos centros de embarque, en donde se almacena en buques tanques para su

envío a refinerías de los estados.

La oferta diaria en el campo es de 2,000 barriles. Deben considerarse los costos del

oleoducto, los costos de embarque y las cantidades de petróleo que pueden enviarse a través de

los oleoductos. Los costos del oleoducto y las capacidades diarias de éste se muestran en la tabla

siguiente.

Instalación de

envío

Costo por barril Capacidad del oleoducto

(en barriles)

B1 $0.20 1000

B2 $0.15 500

En la tabla siguiente se presentan los costos de embarque de cada estación de embarque a cada

refinería y las demandas diarias de las refinerías.

Refinería Núm.

De ubicación

Costo de transporte por barril del

Centro 1 Centro 2

Demanda

diaria

R1 $0.10 $0.15 600

R2 $0.20 $0.25 800

Se desea minimizar los costos de transportación, para mandar el petróleo del campo petrolero a

las refinerías R1 y R2, pasando por las instalaciones de envío B1 y B2.

8.2.2 RUTA MÁS CORTA

Los problemas de redes para determinar la ruta más corta entre un nodo y otro se pueden plantear

como problemas lineales, en donde las variables de decisión son binarias, puesto que de un nodo

a otro solo debe existir una posibilidad, se recorre el arco o no se recorre.

EJEMPLO 8.4

La compañía de muebles “El mueble moderno” quiere transportar comedores de su planta en

Naucalpan, Estado de México a una distribuidora que se encuentra en Tlalpan, en el sur de la

ciudad de México, en el menor tiempo posible. Las rutas que enlazan estas dos instalaciones

forman la red que se muestra a continuación.

Elaboró Dr. Eduardo Gutiérrez González

4

En donde las distancias son los tiempos de viaje del camión dados en minutos. Formule el

problema como un problema lineal y resuélvalo.

Solución

Sean las variables binarias ijx que representan si existe traslado de la ciudad i a la j,

!EJEMPLO 8.1;

!FUNCIÓN OBJETIVO;

MIN=10*X12+12*X13+20*X25+22*X24+15*X35+12*X34+10*X46+10*X56;

!RESTRICCIONES EN LOS NODOS;

X13+X12=1;

X35+X34=X13;

X25+X24=X12;

X25+X35=X56;

X34+X24=X46;

X56+X46=1;

@BIN(X12);@BIN(X13);@BIN(X25);@BIN(X24);@BIN(X35);

@BIN(X34);@BIN(X46);@BIN(X56);

Global optimal solution found at step: 1

Objective value: 34.00000

Branch count: 0

Variable Value Reduced Cost

X12 0.0000000 10.00000

X13 1.000000 12.00000

X25 0.0000000 20.00000

X24 0.0000000 22.00000

X35 0.0000000 15.00000

X34 1.000000 12.00000

X46 1.000000 10.00000

X56 0.0000000 10.00000

La ruta más corta: ir de la ciudad 1 a la 3, luego a la 4 y finalmente a la 6.

Con un tiempo mínimo de 34 minutos.

EJERCICIO 1

9.3.1 Usted debe hacer un viaje en auto a otra ciudad que nunca ha visitado. Estudia un plano

para determinar la ruta más corta a su destino. Según la ruta que elija, hay otras cinco ciudades

(llamadas A, B, C, D, E) por las que puede pasar en el camino. El plano muestra las millas de

cada carretera que es una conexión directa entre dos ciudades sin que otra intervenga. Estas cifras

12

10

15

12

20

22

10

10 1

3

2

5

4

6

Investigación de Operaciones para Administración . Sesión 8

5

se resumen en la siguiente tabla, donde un guión indica que no hay conexión directa sin pasar por

otras ciudades.

Millas entre ciudades adyacentes

Pueblo A B C D E Destino (T)

Origen O) 40 60 50 - - -

A 10 - 70 - -

B 20 55 40 -

C - 50 -

D 10 60

E 80

a) Formule este problema como uno de la ruta más corta trazando una red donde los nodos son

ciudades, los arcos, carreteras, y los números la distancia en millas.

b) Use el algoritmo de ruta más corta para resolver este problema.

c) Formule y resuelve un modelo en hoja de cálculo.

d) Si cada número en la tabla representa su costo (en dólares) de manejar de una ciudad a la

siguiente, ¿obtiene la ruta de costo mínimo con la respuesta del inciso b o c?

e) Si cada número en la tabla representa su tiempo (en minutos) para manejar de una ciudad a la

siguiente, ¿obtiene la ruta de tiempo mínimo con la respuesta del inciso b o c?

EJERCICIO 2

9.3.2 En un pequeño aeropuerto que está creciendo, la compañía aérea local piensa comprar un

tractor nuevo para mover el tren de carros que llevan y traen el equipaje de los aviones. Dentro de

tres años se instalará un nuevo sistema mecanizado de transporte de equipaje, por lo que después

no se necesitará el tractor. No obstante, tendrá una carga de trabajo pesada y los costos de

operación y mantenimiento aumentarán rápidamente con el tiempo y podrían resultar costeable

reemplazarlo en uno o dos años. La siguiente tabla proporciona los costos descontados netos

totales asociados con la compra del tractor (precio de compra menos valor de venta del tractor en

uso más costos de operación y mantenimiento) al final del año i y si se reemplaza al final del año

j (en donde el momento presente es el año 0).

i\ j 1 2 3

0 $8,000 $18,000 $31,000

1 $10,000 $21,000

2 $12,000

El problema es determinar en qué momento (si existe) debe reemplazarse el tractor para

minimizar el costo total durante los tres años.

a) Formule el problema como uno de la ruta más corta y trace su diagrama de red.

b) Resuelva el modelo.

EJERCICIO 3

9.3.5 Un vuelo de Speedy Airlines está a punto de despegar a Seattle sin escalas a Londres.

Existe cierta flexibilidad para elegir la ruta precisa, según las condiciones del clima. La siguiente

red describe las rutas posibles consideradas, donde SE y LN son Seattle y Londres,

respectivamente, y los otros nodos representan varios lugares intermedios. El viento a lo largo de

cada arco afecta mucho el tiempo de vuelo (y por ende el consumo de combustible). Con base en

el informe meteorológico actual, junto los arcos se muestran los tiempos de vuelo (en horas).

Elaboró Dr. Eduardo Gutiérrez González

6

Debido al alto costo de combustible, la administración ha establecido la política de elegir la ruta

que minimiza el tiempo total de vuelo.

a) ¿Qué papel tienen las “distancias” en este problema?

El tiempo depende de la distancia y del viento.

EJERCICIO 4 9.3.6 La compañía Quick ha averiguado que un competidor planea lanzar un nuevo tipo de

producto con ventas potenciales muy grandes. Quick ha trabajado en un producto similar

programado para salir dentro de 20 meses. Sin embargo, la investigación está casi terminada y

ahora la administración quiere lanzar el producto más rápidamente para hacer frente a la

competencia.

Se deben lograr cuatro etapas independientes que incluyen lo que falta de la investigación

que por el momento se lleva a cabo a paso normal. No obstante, cada etapa se puede realizar en

un nivel de prioridad o de quiebre para acelerar la terminación y estos son los únicos niveles

considerados en las últimas tres etapas. Los tiempos requeridos para cada nivel se muestran en la

siguiente tabla. (Los tiempos entre paréntesis en el nivel normal se han eliminado por ser muy

largos.)

Se dispone de $30 millones para las cuatro etapas. El costo (en millones de dólares) para

cada nivel es:

La administración desea determinar el nivel al que debe realizar cada una de las cuatro

etapas para minimizar el tiempo total hasta la comercialización del producto sujeto a las

restricciones de presupuesto.

Investigación de Operaciones para Administración . Sesión 8

7

a) Formule éste como un problema de la ruta más corta. La gráfica es:

8.2.3 FLUJO MÁXIMO

Los problemas de redes para determinar el flujo máximo que se resuelven por programación

lineal, tienen la característica de Maximizar el flujo a través de la red de distribución de la fuente

a su destino, por ejemplo:

La red de distribución de flujo de transporte.

La red de distribución de una compañía a sus clientes.

La red de suministros de los proveedores a sus fábricas.

La red de flujo de gas por un sistema de tuberías.

La red de flujo de agua.

EJEMPLO 8.7

Suponga que la compañía nacional de Substancias populares (CONASUPO) tiene un programa

anual de costalera. Ésta se compra de dos fábricas, una en Mérida (nodo 2) con capacidad de

producción máxima de 10 millones de costales al año y otra en Saltillo (nodo 3) con capacidad de

producción máxima de 7 millones de costales al año. Los excedentes en la fábrica de Mérida

pueden transferirse a la planta de Saltillo.

La disponibilidad de transporte entre las dos fábricas permite un máximo de 8 millones de

costales por año. Hay tres centros almacenadores: en la ciudad de México (nodo 5), Guadalajara

(nodo 4) y Oaxaca (nodo 6). La tabla siguiente proporciona la capacidad máxima anual de

transporte de las fábricas a los centros almacenadores.

A: Ciudad

De: ciudad México Guadalajara Oaxaca

Saltillo 4 8

Mérida 3 2 3

Los excedentes de Guadalajara (nodo 4) y Oaxaca (nodo 6) pueden transferirse a la ciudad

de México (nodo 5), la capacidad máxima anual es de 3 y 4 millones de costales,

respectivamente.

Una vez en los centros almacenadores, los costales se entregan a los ejidatarios de la región.

La capacidad máxima anual de entrega es de 4 millones en la región almacenadora de

Guadalajara, 7 millones en la región del Distrito Federal y 5 millones en la región de Oaxaca.

Elaboró Dr. Eduardo Gutiérrez González

8

La pregunta es ¿Cuál es el flujo máximo anual de costales nuevos que pueden circular en

este sistema?, utilice un modelo de PL. El problema se representa gráficamente en la red

siguiente.

En donde las distancias son los flujos máximos de transporte de nodo a nodo.

Solución

Sean las variables enteras ijx que representan el flujo en millones de costales transportados del

nodo i al j,

!FUNCIÓN OBJETIVO;

MAX=X71;

!RESTRICCIONES DE CAPACIDAD;

X13<=7;

X12<=10;

X34<=8;

X35<=4;

X23<=8;

X24<=2;

X25<=3;

X26<=3;

X45<=3;

X47<=4;

X57<=7;

X65<=4;

X67<=5;

!RESTRICCIONES EN LOS NODOS;

X12+X13=X71;

X13+X23=X34+X35;

X12=X23+X24+X25+X26;

X24+X34=X45+X47;

X25+X35+X45+X65=X57;

X26=X65+X67;

X47+X57+X67=X71;

Global optimal solution found at step: 4

Objective value: 14.00000

Variable Value Reduced Cost

X71 14.00000 0.0000000

X13 7.000000 0.0000000

X12 7.000000 0.0000000

X34 6.000000 0.0000000

X35 1.000000 0.0000000

7

10

8

4

3

3

8 2 1

3

2

4

6

7 5

3

4

4

7

5

Investigación de Operaciones para Administración . Sesión 8

9

X32 8.000000 0.0000000

X24 1.000000 0.0000000

X25 3.000000 0.0000000

X26 3.000000 0.0000000

X45 3.000000 0.0000000

X47 4.000000 0.0000000

X57 7.000000 0.0000000

X67 3.000000 0.0000000

El flujo máximo es de 14 millones de costales al año. Se distribuyen:

Del nodo 1 al 2 siete millones y al 3 siete millones.

Del nodo 2 al 4 un millón, al nodo 5 tres millones, al nodo seis 3 millones y 0 al nodo 3.

Del nodo 3 al 2 ocho millones, al nodo 4 seis millones, al nodo 5 un millón

Del nodo 4 al 5 tres millones y al nodo 7 cuatro millones.

Del nodo 5 al nodo 7 siete millones.

Finalmente del nodo 6 al nodo 7 tres millones y nada al nodo 5.

EJERCICIO 5

9.5.3 El diagrama de abajo describe un sistema de acueductos que se origina en tres ríos (R1, R2

y R3) y termina en una ciudad importante (nodo T), donde los otros nodos son puntos de unión

del sistema.

Utilice unidades de miles de acres-pie; las siguientes tablas muestran la cantidad máxima

de agua que puede bombearse, a través de cada acueducto, cada día.

A

De

A

De

A

De

A B C D E F T

R1 75 65 - A 60 45 - D 120

R2 40 50 60 B 70 55 45 E 190

R3 - 80 70 C - 70 90 F 130

La comisión del agua desea determinar el plan que maximice el flujo de agua hacia la ciudad. a) Formule este problema como un problema de flujo máximo; identifique un origen, un destino y

los nodos de trasbordo, y trace la red completa que muestre la capacidad de cada arco.

b) Formule y resuelva el modelo.

EJEMPLO 8.9

R

1

R

2

R

3

A

B

C

D

E

F

T

75

65

40

50

60

80

70

60

55

90

45

70

45

70

120

190

130

Elaboró Dr. Eduardo Gutiérrez González

10

9.5.4 La Texago Company Tiene cuatro campos de petróleo, cuatro refinerías y cuatro centros de

distribución. Una fuerte huelga en la industria del transporte ha reducido mucho la capacidad de

Texago para enviar petróleo de sus campos a las refinerías y para enviar productos derivados del

petróleo de las refinerías a los centros de distribución. Use unidades en miles de barriles de

petróleo crudo (y su equivalente en productos refinados); las tablas siguientes muestran el

número máximo de unidades que puede enviar al día de cada campo a cada refinería y de éstas a

cada centro de distribución.

La administración de la Texago desea determinar un plan de cuántas unidades enviar de cada

campo petrolero a cada refinería y de cada refinería a cada centro de distribución de manera que

se maximice el número total de unidades que llegan a los centros de distribución.

a) Bosqueje un plano que muestre la ubicación de los campos, refinerías y centros de distribución de

Texago.

No es necesario y se necesita un mapa de EUA.

Agregue el flujo del petróleo crudo y de los productos del petróleo a través de la red de

distribución.

b) Dibuje de nuevo la red alineando en una columna los nodos de los campos, en otra los de

refinerías en una tercera los de centros de distribución. Después agregue arcos para mostrar el

flujo posible.

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

Investigación de Operaciones para Administración . Sesión 8

11

Solución.

MAX=Xa1+Xb1+Xc1+Xd1+Xa2+Xb2+Xc2+Xd2+Xa3+Xb3+Xc3+Xd3+Xa4+Xb4+Xc4+Xd4;

Xa1+Xb1+Xc1+Xd1 = X1A+X1B+X1C+X1D;

Xa2+Xb2+Xc2+Xd2 = X2A+X2B+X2C+X2D;

Xa3+Xb3+Xc3+Xd3 = X3A+X3B+X3C+X3D;

Xa4+Xb4+Xc4+Xd4 = X4A+X4B+X4C+X4D;

X1A+X2A+X3A+X4A = XAa+XAb+XAc+XAd;

X1B+X2B+X3B+X4B = XBa+XBb+XBc+XBd;

X1C+X2C+X3C+X4C = XCa+XCb+XCc+XCd;

X1D+X2D+X3D+X4D = XDa+XDb+XDc+XDd;

XAa+XBa+XCa+XDa = Xa1+Xa2+Xa3+Xa4;

XAb+XBb+XCb+XDb = Xb1+Xb2+Xb3+Xb4;

XAc+XBc+XCc+XDc = Xc1+Xc2+Xc3+Xc4;

XAd+XBd+XCd+XDd = Xd1+Xd2+Xd3+Xd4;

X1A <= 11;

X2A <= 5;

X3A <= 7;

X4A <= 8;

X1B <= 7;

X2B <= 4;

X3B <= 3;

X4B <= 9;

X1C <= 2;

X2C <= 8;

X3C <= 12;

X4C <= 4;

X1D <= 8;

X2D <= 7;

X3D <= 6;

X4D <= 15;

XAa <= 5;

XBa <= 8;

XCa <= 4;

XDa <= 12;

XAb <= 9;

XBb <= 7;

XCb <= 6;

XDb <= 11;

XAc <= 6;

XBc <= 9;

XCc <= 7;

XDc <= 9;

XAd <= 4;

XBd <= 5;

XCd <= 8;

XDd <= 7;

Objective value: 108.0000

Total solver iterations: 33

Variable Value Reduced Cost

XB1 27.00000 0.000000

XC1 1.000000 0.000000

XA2 16.00000 0.000000

XC2 3.000000 0.000000

XC3 27.00000 0.000000

XA4 10.00000 0.000000

Elaboró Dr. Eduardo Gutiérrez González

12

XD4 24.00000 0.000000

X1A 11.00000 0.000000

X1B 7.000000 0.000000

X1C 2.000000 0.000000

X1D 8.000000 0.000000

X2B 4.000000 0.000000

X2C 8.000000 0.000000

X2D 7.000000 0.000000

X3A 7.000000 0.000000

X3B 3.000000 0.000000

X3C 11.00000 0.000000

X3D 6.000000 0.000000

X4A 6.000000 0.000000

X4B 9.000000 0.000000

X4C 4.000000 0.000000

X4D 15.00000 0.000000

XAA 5.000000 0.000000

XAB 9.000000 0.000000

XAC 6.000000 0.000000

XAD 4.000000 0.000000

XBA 8.000000 0.000000

XBB 1.000000 0.000000

XBC 9.000000 0.000000

XBD 5.000000 0.000000

XCA 4.000000 0.000000

XCB 6.000000 0.000000

XCC 7.000000 0.000000

XCD 8.000000 0.000000

XDA 9.000000 0.000000

XDB 11.00000 0.000000

XDC 9.000000 0.000000

XDD 7.000000 0.000000

El flujo máximo es de 108 barriles.

8.3 ÁRBOL DE EXPANSIÓN MÍNIMA

El problema del árbol de expansión mínima juega un papel importante en los problemas de redes

de flujo. Por ejemplo, para resolver el problema que determine la ruta más corta entre dos nodos

de una red, podemos construir un árbol que tenga una raíz (inicio), otro ejemplo, lo podemos

referir a las redes en las que se requiere que su costo para mandar cierto flujo sea mínimo.

En la presente sección revisaremos los algoritmos más comunes para resolver un problema

de árboles de expansión mínima.

Un árbol lo podemos definir como una red que es conectada y sin circuitos. Por ejemplo,

en la red de la figura 1 se muestra un árbol.

Investigación de Operaciones para Administración . Sesión 8

13

8.3.1 DESCRIPCIÓN DEL PROBLEMA

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

desea construir puentes para comunicarlas. La construcción del puente ji XX , cuesta ijC

pesos. El problema consiste en determinar donde construir los puentes de tal manera que cada par

de islas queden conectadas por medio de éstos y que el costo total de construcción sea el mínimo.

Sea AXG , una gráfica no dirigida, donde el conjunto de vértices X representa al

conjunto de islas y cada elemento ji XX , del conjunto de aristas A representa la posible

construcción de un puente entre las islas iX y jX . Sea c una función que asocia, a cada

elemento de A, el costo de construcción del puente respectivo. Obsérvese que una solución para

este problema es una gráfica parcial AXT , de G.

Esta gráfica parcial deberá cumplir los tres puntos siguientes:

a. T es conexa, puesto que se desea que exista una cadena que una a todo par de vértices.

b. T no deberá tener ciclos puesto que, de ser así, se incurrirá en un costo innecesario.

c. El costo de T deberá ser mínimo.

Con base en lo anterior se definen los siguientes conceptos:

Definición: Un árbol es una gráfica AXT , conexa y acíclica.

La siguiente gráfica es un árbol:

1

2 3

4

5

6

7

8

9

Elaboró Dr. Eduardo Gutiérrez González

14

Definición 1: Sea AXG , una gráfica no dirigida. Un árbol expandido de G es una

gráfica parcial AXT , de G que es un árbol. Obsérvese la gráfica.

Nótese que entonces la gráfica T que será solución para el problema de las islas debe ser un

árbol expandido de G. Por otro lado, obsérvese que una gráfica puede tener varios árboles

expandidos. Por esta razón, existen diferentes alternativas de solución para el problema de las

islas; sin embargo se tiene interés en la mejor de todas ellas, es decir, aquella con costo total de

construcción mínimo. Se definirá entonces, el costo de un árbol.

Considérese una función p que asocia una moneda a cada arista de una gráfica. La función

puede representar costos, distancia, tiempo, etc. En el caso del problema de las islas la función p

fue denotada con la letra c y representa el costo de construcción de un puente.

Definición: La solución óptima del problema está dada por el árbol expandido de peso

mínimo asociado a la gráfica G.

8.3.2 CARACTERIZACIÓN DE UN ÁRBOL

En el siguiente teorema se postulan las equivalencias de las definiciones de árbol. De tal forma

que las propiedades expuestas en el teorema para los árboles son fundamentales para caracterizar

las bases del problema de programación lineal que se asocia al problema de árboles de expansión

mínima.

2

1

3

4

4

1

3

GRÁFICA G

ÁRBOL NO EXPANDIDO DE G ÁRBOL EXPANDIDO DE G

1 2

4

1

2

3

4

Investigación de Operaciones para Administración . Sesión 8

15

Teorema 1

Sea AXG , una gráfica con n vértices, supóngase que 2n . Los postulados

siguientes son equivalentes y caracterizan un árbol.

G es conexa y acíclica (sin circuitos).

G es acíclica y tiene 1n aristas ( arcos).

Existen G una trayectoria única entre cada par de nodos (vértices).

G no tiene circuitos, pero exactamente uno se forma al añadir un arco.

G es conectada, pero deja de serlo si algún arco se elimina.

En general, para una red dada G, existen formas algorítmicas para determinar cuando la red

es un árbol, pero en el trabajo de la investigación no tendremos el problema de la comprobación

de que la red es un árbol.

BOSQUES Y ÁRBOLES DE EXPANSIÓN

Un conjunto de arcos AF se dice que forman un bosque en una red G, si cada componente de

la subred compuesta por arcos de F y los nodos incidentes a ella conforman un árbol. En otras

palabras, F es un bosque si y solo si no se incluyen circuitos elementales en F. Por ejemplo, los

arcos más gruesos en la siguiente figura forman un bosque, si incluimos los nodos incidentes se

tiene en cada caso un árbol.

Un árbol de expansión de la red G es un árbol que pasa por cada nodo de G, ver figura

siguiente.

Elaboró Dr. Eduardo Gutiérrez González

16

8.3.3 ALGORITMOS PARA RESOLVER PROBLEMAS DEL ÁRBOL DE EXPANSIÓN MÍNIMA

Primeramente notamos que una característica especial de los problemas de árbol de expansión

mínima consiste en que los arcos no son dirigidos. Es decir, ji, ó ij, se refieren al mismo

arco.

Los tres algoritmos que revisaremos en esta subsección son: Kruskal, Prim y Sollin, los

cuales tienen la característica de ser tipo “Glotón”, en el sentido de que en cada paso aumentan

un arco de costo mínimo como candidato de la lista, siempre y cuando este arco no forme ningún

circuito con los arcos ya seleccionados. Los tres algoritmos mantienen un bosque que contiene

arcos que ya han sido seleccionados y se aumenta uno ó más arcos para aumentar el tamaño del

bosque.

Para el algoritmo de Kruskal, la lista de candidatos es la red completa; para el algoritmo de

Prim, el bosque es un único árbol más un conjunto de nodos aislados y la lista de candidatos

contiene todos los arcos entre el árbol único y los nodos que no están en él. El algoritmo de

Sollin es un hibrido que mantiene varias componentes en el bosque, como el algoritmo de

Kruskal, pero se aumentan varios arcos en cada iteración, seleccionando (como en el algoritmo

Prim) el arco de costo mínimo que conecta cada componente del bosque a los nodos que no están

en esa componente.

La programación matemática tiene otra forma útil de ver el problema de árbol de expansión

mínima; se puede formular un problema de árbol de expansión mínima como un modelo de

programación entera y usar argumentos de programación lineal para establecer otra prueba de la

validación del algoritmo de kruskal.

1. ALGORITMO DE KRUSKAL

El propósito es determinar el árbol de expansión cuyo “costo o peso” es mínimo en una red

conectada G con N nodos y función de costo RAC : conocida.

Descripción

PASO 1: (Inicio) Ordenar el conjunto de arcos en forma no decreciente respecto a la función de

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

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

rjAA y hacer 1: kk e ir al paso 3 y no aumentar k.

PASO 3: (Criterio de terminación) Si 1 nk hacer 1: II y regresar al paso 2. En caso

contrario ANT , es el árbol de expansión mínima.

El tiempo de corrida del algoritmo Kruskal se compone del tiempo para ordenar los arcos y

el tiempo para detectar ciclos. Para una red arbitrariamente grande, el ordenamiento requiere

nmOnmOmmO logloglog 2 de tiempo, en donde m es cantidad de arcos y n cantidad de

nodos. Finalmente, tenemos que el tiempo para detectar un ciclo depende del método que se use

en este paso.

EJEMPLO 8.6

En la siguiente red encontrar el árbol de expansión mínima, con el algoritmo de Kruskal.

Investigación de Operaciones para Administración . Sesión 8

17

Solución

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

)5,2(

)2,1(

)5,3(

)9,7(

)9,6(

)8,4(

)7,6(

)5,4(

)3,2(

)6,3(

)4,2(

)9,8(

)7,5(

)8,5(

)3,1(

)4,1(

)6,5(

)8,7(

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

j

j

j

j

j

j

j

j

j

j

j

j

j

j

j

j

j

j

Paso 2. Añadimos arcos.

No. Iteración Arco agregado A Valor de k

1 )8,7(1 j 1jA 1

2 )6,5(2 j 21, jjA 2

3 )4,1(3 j 321 ,, jjjA 3

4 )3,1(4 j 4321 ,,, jjjjA 4

5 )8,5(5 j 54321 ,,,, jjjjjA 5

6 )7,5(6 j 54321 ,,,, jjjjjA 5

7 )9,8(7 j 754321 ,,,,, jjjjjjA 6

8 )4,2(8 j 8754321 ,,,,,, jjjjjjjA 7

9 )6,3(9 j 98754321 ,,,,,,, jjjjjjjjA 8

Finalmente el árbol de expansión mínima de la red queda de la siguiente forma:

5 9 13 1 10 11

8 3

6

1 2 5 7 9

8 4

14 15 7 12

2 8 10 5 0 6

11

Elaboró Dr. Eduardo Gutiérrez González

18

De donde, la extensión mínima es 3588655210 .

2. ALGORITMO DE PRIM

Un método alternativo de solución para el problema del árbol de peso mínimo de una red conexa

con n nodos, es el algoritmo de Prim. Este algoritmo consiste en considerar, inicialmente, una

red formada por cualquier nodo de la red original, después se agregará el arco de menor peso

adyacente a él y su otro extremo. Luego, se aumenta el arco más pequeño, que tenga exactamente

un extremo en la red formada, junto con su otro extremo. Se procede de esta manera,

sucesivamente, hasta tener 1n arcos en la red generada.

A diferencia del algoritmo de Kruskal, la red construida en cada iteración es conexa y

además tiene 1n arcos, luego, esta red es un árbol expandido de la red original. Debe notarse

también que el algoritmo termina en 1n iteraciones exactamente; esto constituye otra

diferencia con el algoritmo de Kruskal.

Descripción

PASO 1: (Inicio) sea 0x (arbitrario) elemento de N y 0k . Sea 0xNO y 0A .

PASO 2: (Añadir un arco). Sea kF el conjunto de arcos de A que tienen exactamente un extremo

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

pertenece a kF . Hacer

kkK xNN 1 y kkk jAA 1 .

PASO 3: Hacer 1: kk . Si 1 nk regrese al paso 2. En caso contrario, termine. La red

111 , nnn ANT representa el árbol de expansión mínima de G.

Para analizar el tiempo de ejecución del algoritmo de Prim, consideramos de cada una de

las 1n iteraciones que el algoritmo desarrolla como si aumentara un arco a la vez al árbol, hasta

que se tiene un árbol de expansión con 1n arcos. En cada iteración el algoritmo selecciona el

arco de costo mínimo en el corte SS, . Si podemos revisar la lista completa de arcos para

identificar el arco de costo mínimo, esta operación requiere un tiempo de ejecución de mO , lo

que nos da una cota de tiempo de nmO para el algoritmo. Por lo cual podemos afirmar que el

algoritmo se ejecuta en un tiempo mnO .

5 1

8

3 6

1 2 5 7 9

8 4

2 8 5 0 6

Investigación de Operaciones para Administración . Sesión 8

19

EJEMPLO 8.7

En la red anterior encontrar el árbol de expansión mínima, usando el algoritmo de Prim.

Solución

Paso 1. Elegir un nodo arbitrario. Por ejemplo, el nodo 5

Paso 2. Añadir arcos. Se elige el nodo 5, utilice la notación del método anterior para los arcos

Valor

de k kF kN

1 )5,2(),5,3(),5,4(),7,5(),8,5(),6,5( 6,5

2 )9,6(),7,6(),6,3(),5,2(),5,3(),5,4(),7,5(),8,5( 8,6,5

3 )8,4(),9,8(),8,7(),9,6(),7,6(),6,3(),5,2(),5,3(),5,4(),7,5( 7,8,6,5

4 )9,7(),8,4(),9,8(),9,6(),7,6(),6,3(),5,2(),5,3(),5,4(),7,5( 9,7,8,6,5

5 )5,3(),3,2(),3,1(),9,7(),8,4(),9,6(),7,6(),6,3(),5,2(),5,3(),5,4(),7,5( 3,9,7,8,6,5

5 )4,1(),2,1(),5,3(),3,2(),3,1(),9,7(),8,4(),9,6(),7,6(),5,2(),5,3(),5,4(),7,5( 1,3,9,7,8,6,5

6 )8,4(),4,2(),4,1(),2,1(),5,3(),3,2(),9,7(),8,4(),9,6(),7,6(),5,2(),5,3(),5,4(),7,5( 4,1,3,9,7,8,6,5

7 )8,4(),4,2(),4,1(),2,1(),5,3(),3,2(),9,7(),8,4(),9,6(),7,6(),5,2(),5,3(),5,4(),7,5( 2,4,1,3,9,7,8,6,5

La red queda igual que en la pregunta anterior.

3. ALGORITMO DE SOLLIN

Podemos usar las condiciones de optimalidad para derivar otro algoritmo para el problema de

árbol de expansión mínima. Este algoritmo, lo podemos ver como una versión hibrida de los

algoritmos de Kruskal y Prim. Como en el algoritmo de Kruskal, el algoritmo de Sollin mantiene

una colección de árboles de expansión de los nodos ,,, 321 NNN y aumenta arcos a esa

colección. Sin embargo en cada iteración aumenta arcos de costo mínimo que emanan de esos

árboles, una idea tomada del algoritmo de Prim. Como resultado se obtiene un algoritmo que usa

estructuras de datos sencillas y corre en un tiempo nmO log . El algoritmo de Sollin desarrolla

repetidamente las dos siguientes operaciones básicas.

Vecino más cercano. ),,( kkk jiN . Esta operación toma como inicio un árbol que une a los

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

es decir

kkijji NjNiAjiCCkk

y ,,),(|min .

Para desarrollar esta operación necesitamos revisar todos los arcos en las listas de

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

un punto final que no esté en kN .

Acoplar kk ji , . Esta operación toma como inicio dos nodos ki y kj y si los dos nodos están en

distintos árboles entonces une esos dos árboles en un solo árbol.

Elaboró Dr. Eduardo Gutiérrez González

20

Descripción

PASO 1: Para cada Ni hacer *,TiNi .

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

kk ji , es el árbol de costo mínimo entre todos los que emanan de kN es decir,

kkij NjNiAjijic ,,),(|),(min y vaya al paso 3.

PASO 3: Si los nodos ki y kj están en distintos árboles una kk ji , y actualice

kk jiTT ,: ** y regrese al paso 2.

El algoritmo de Sollin tiene un tiempo de ejecución de nmO log .

EJEMPLO 8.8

En la red anterior encontrar el árbol de expansión mínima, usando el algoritmo de Sollin.

Solución

Iteración 1

Iteración 2

3 6

1 2 5 7 9

8 4

3 6

1 2 5 7 9

8 4

Investigación de Operaciones para Administración . Sesión 8

21

Iteración 3

Finalmente obtenemos la red buscada, con extensión mínima de 35

EJEMPLO 8.9

Suponga que la siguiente red carretera es un mapa y el número en cada arco representa la máxima

elevación encontrada en el trayecto del arco. Un viajero planea manejar del nodo 1 al nodo 12, a

este viajero no le gustan los lugares altos y quisiera encontrar una trayectoria que lo lleve con la

mínima altura. Encontrar la mejor trayectoria para este viajero empleando algún algoritmo de

Sollin del árbol de expansión mínima.

3 6

1 2 5 7 9

8 4

5 1

8 3

6

1 2 5 7 9

8 4

2 8 5 0 6

Elaboró Dr. Eduardo Gutiérrez González

22

Solución Iteración 1

Iteración 2

5

3

1 4

6

8

7 10

11

12 9

2

4 6 6

4 5 2

5 3 1

1 3 7 1

9 7 2 2

5

3

1 4

6

8

7 10

11

12 9

2

5

3

1 4

6

8

7 10

11

12 9

2

Investigación de Operaciones para Administración . Sesión 8

23

Iteración 3.

Iteración 4

La misma observación que en la iteración anterior.

Iteración 5

5

3

1 4

6

8

7 1

0

1

1

1

2

9

2

5

3

1 4

6

8

7 1

0

1

1

1

2

9

2

5

3

1 4

6

8

7 1

0

1

1

1

2

9

2

6

4 5

5 3 1

1 3

1

2

2

Elaboró Dr. Eduardo Gutiérrez González

24

Solución final.

En la siguiente tabla se resumen los tres algoritmos para resolver el problema del árbol de

expansión mínima. Todos ellos son fáciles de implantar y tienen excelentes tiempos de ejecución,

además son muy eficientes en la práctica.

EJERCICIO 6

Encuentre el árbol de expansión mínima en la siguiente red

5

1

8

12 9

2 4 5

1

1

2

3

6

1

2

5

7

9

8

4

5

6 9

20

4

14

15

10

15 20

12

7

5

13

1

5 6

Investigación de Operaciones para Administración . Sesión 8

25

Caso de estudio 9.2

Elaboró Dr. Eduardo Gutiérrez González

26

Investigación de Operaciones para Administración . Sesión 8

27

8.5 PROBLEMA DEL AGENTE VIAJERO