Sei sulla pagina 1di 36

EL PROBLEMA DEL ARBOL DE EXPANSIN MNIMA

EL PROBLEMA DE LA RUTA MS CORTA


EL PROBLEMA DE FLUJO MXIMO
EL PROBLEMA DE FLUJO A COSTO MNIMO

Investigacin de Operaciones
II
Ing. Csar Canelo Sotelo

EL PROBLEMA DEL RBOL DE EXPANSIN MNIMA

Este problema trata de encontrar un rbol que


conecte o comunique a todos los nodos de una
red, con una longitud total mnima de conexin.
El problema de rbol de Expansin Mnima
consiste en determinar el conjunto de aristas de
una red que conecta todos los nodos, tal que se
minimiza la suma de la longitud de las aristas.
Es evidente que este conjunto de aristas no
debe contener ciclos.
Este problema tambin se conoce como el
Problema de rbol Mnimo de Mximo
Alcance.

EL PROBLEMA DEL RBOL DE EXPANSIN MNIMA

DEFINICIN
Para una red con n nodos, un rbol
de expansin es un conjunto de n-1
aristas que conectan los nodos de la
red y no contiene ciclos.
Un rbol de expansin de longitud
mnima en una red es un rbol de
Expansin Mnima.

EL PROBLEMA DEL RBOL DE EXPANSIN


MNIMA
12
1
2
4

(1,2)-(2,3)-(3,1) es un ciclo.
(1,3)-(1,2) es un rbol de expansin.
(1,2)-(2,3) es un rbol de expansin.
(1,3)-(3,2) es el rbol de expansin mnima.

ALGORITMO PRIM
Inicialmente consideramos al conjunto de nodos de la
red como nodos no conectados o aislados y lo
denotamos: U = {1, 2, 3, , n}, y denotamos por S el
rbol que es el conjunto de nodos conectados, que
inicialmente es vaco.
Comenzamos eligiendo arbitrariamente cualquier nodo
de U, por ejemplo el nodo 2 y lo incluimos dentro de S
excluyndolo de U, es decir S={2} y U={1, 3, , n}.
Identificamos el nodo no conectado ms prximo al
rbol S, y lo incluimos en S.
Se repite el procedimiento, determinando el nodo no
conectado ms prximo a cualquiera de los nodos
conectados, es decir el nodo de U ms prximo a
cualquiera de los nodos del rbol S, hasta incorporar a S
todos los nodos de la red.

EJEMPLO

El campus de una universidad tiene 5


microcomputadoras.
La
distancia
entre cada par de computadoras (en
100 mts) se indica en la figura. Las
computadoras
deben
estar
interconectadas mediante un cable
subterrneo.
Determine cmo deben conectarse las
computadoras para que la longitud
total de cable requerido sea mnimo.

2
2

Conjunto
de nodos
conectad
os

Longit
ud de
la
arista

Par de
nodos
conecta
dos

Inicial
1
2
3
4

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

-2
1
2
4

-52
21
53
54

2
6

Iteraci
n

=9
4
Las aristas (1, 2), (2, 5), (5, 3) y (5, 4)
forman el rbol de expansin mnima

EL PROBLEMA DE LA RUTA MS CORTA


Este problema trata de encontrar la ruta ms corta
(trayectoria de longitud mnima) de un nodo origen
a cualquier otro nodo de la red.
Sea el grafo G=(X, A), en el cual cada arco tiene
una etiqueta no negativa, y donde un nodo se
especifica como origen. El problema es determinar
el costo del camino ms corto desde el origen a
todos los dems nodos de X, donde la longitud de
un camino es la suma de los costos de los arcos del
camino.
El costo de un camino puede indicar un costo,
tiempo, distancia o algn recurso que tiene un
valor.

EL PROBLEMA DE LA RUTA MS CORTA


Si Cij >= 0 es el costo unitario del
arco Aij que va del nodo i al nodo j,
entonces, Cij no satisface la
propiedad geomtrica:
La distancia ms corta y por
ende ms econmica entre dos
puntos, es la que emplea la recta
que une a esos dos puntos.

EL PROBLEMA DE LA RUTA MS CORTA


En la siguiente figura se tiene que no se cumple necesariamente
la siguiente desigualdad:
Cij + Cjk >= Cik
(1)

Cik
Cij

Cjk

j
En una red se puede cumplir cualquiera de las siguientes relaciones:
Cik >= Cij + Cjk

o bien

Cik <= Cij + Cjk

(2)
Si se cumpliera siempre la desigualdad (1), entonces los problemas de
redes ya tendran soluciones, pero ese no es el caso en la redes de
optimizacin.

ALGORITMO DE DIJKSTRA
Es un algoritmo vido que opera a partir de un conjunto S
de nodos, cuya distancia ms corta desde el origen ya es
conocida.
En principio, S contiene slo el nodo origen.
En cada iteracin, se agrega algn nodo restante de X a
S, cuya distancia desde el origen es la ms corta posible.
Suponiendo que todos los arcos tienen costo no negativo,
siempre es posible encontrar un camino ms corto entre
el origen y el nodo de X que pasa solo a travs de los
nodos de S.
En cada iteracin, se utiliza un arreglo D[ ] para registrar
la longitud del camino ms corto a cada nodo.
Una vez que S incluya a todos los nodos, D[ ] contendr la
distancia ms corta del origen a cada nodo.

PROBLEMA
En la siguiente red, encontrar los caminos ms cortos desde el
nodo 1 a todos
Los dems nodos de la red.
1
10

100

30

50

60

10

20

1
10

100
30

2
50

10
20

60

Iteraci
n

j
D[2] D[3]
D[4]
D[5]

Inicial
1
2
3
4

{1}
{1, 2}
{1, 2,
4}
{1,2,4,3
}
{1,2,4,3
,5}
10

2
Caminos ms cortos
desde el nodo 1 a cada
uno de los dems nodos
de la red.

-10
100
2
-100
4
-90
3
-1 60
5
-30--

20

30

60

30

50

--

--

--

--

--

10

EL PROBLEMA DE REEMPLAZO
Este problema consiste en determinar una poltica ptima de
reemplazo de una maquina o equipo para un perodo de tiempo.
El perodo de tiempo se puede dividir en unidades de tiempo, y
para cada unidad de tiempo se debe determinar si la mquina es
reemplazada por otra nueva o se contina con la misma mquina.
Con todas las alternativas de reemplazo que hay entre las
unidades de tiempo contenidas dentro del perodo de reemplazo,
se puede modelar una red, en donde los nodos indican el inicio o
fin de una unidad de tiempo, y los arcos indican el transcurrir de
una unidad de tiempo.
En cada arco (i, j) se determina el costo que significa comprar
una mquina a inicio de la unidad de tiempo i y operarlo hasta el
fin de la unidad de tiempo i (equivalente al inicio de la unidad de
tiempo j).
El problema se reduce a un problema de la ruta ms corta, pues
se trata de hallar la ruta de costo mnimo entre el inicio y el fin del
perodo de reemplazo. Se aplica el algoritmo de Dijkstra.

EL PROBLEMA DE REEMPLAZO
C0,n

C2,

C0,2

C0,
1

C1,n-1

C1,2

. .
.

n1

C0,n1

C1,n

Cn1,n

PROBLEMA

Se compra una mquina en el ao 1 y


se planea una poltica de reemplazo
para los prximos 5 aos. Sea C ij (i<j) el
costo total (adquisicin, operacin,
mantenimiento y valor residual).
C12 = 50 C1,3 = 80 C2,3 = 20
C2,4 = 35 C3,4 = 37 C3,5 = 40
C4,5 = 23 C4,6 = 33 C5,6 = 18
La mquina no puede ser usada por
ms de dos aos. Determine la poltica
ptima de reemplazo.

CADENAS MLTIPLES ECONMICAS EN UNA RED

Este problema trata de determinar la


ruta ms econmica entre cualquier
par de nodos de una red.
El conjunto de todas estas rutas, se
llaman Cadenas Mltiples
Econmicas.
Este problema puede resolverse con
el algoritmo de Dijkstra, tomando por
turno cada vrtice como vrtice
origen. Una forma ms directa de
solucin es el algoritmo de Floyd.

ALGORITMO DE FLOYD
Se trabajar sobre un grafo G=(X,A) en el cual cada
arco (ij) tiene un costo no negativo C ij. El problema
es encontrar el camino mas corto entre i y j para cada
par de vrtices (i,j).
Por conveniencia, se supone que los nodos en X
estn numerados 1, 2, , n. El algoritmo de Floyd
usa una matriz A de nxn en la que se calculan las
longitudes de los caminos ms cortos.
Inicialmente se hace A0[i,j]=C[i,j] para toda ij. Si no
existe un arco que vaya de i a j, se supone que C[i,j]=
. Cada elemento de la diagonal se hace igual a cero.
Despus se hacen n iteraciones en la matriz A, en
cada iteracin A se transforma.

ALGORITMO DE FLOYD
Al final de la k-sima iteracion, A[i,j] tendr
por valor la longitud ms pequea de
cualquier camino que vaya desde el nodo i
hasta el nodo j y que no pase por un nodo
con un nmero mayor que k. Esto es, i y j,
los vrtices extremos del camino, pueden ser
cualquier vrtice, pero todo vrtice
intermedio debe ser menor o igual que k.
En la k-sima iteracin, se aplica la sgte.
frmula para calcular A:
Ak-1[i,j]
Ak[i,j] = min
Ak-1[i,k]+ Ak-1[k,j]

PROBLEMA
Para el grafo dirigido de la figura, determine los caminos ms corto
entre todos los pares de nodos.

8
1

2
3
5

EL PROBLEMA DE FLUJO MXIMO


Mucha situaciones se modelan mediante
una red en la que se podran considerar que
los arcos tienen una capacidad que limita la
cantidad de un producto que se podra
enviar a travs del arco. En estas
situaciones, a menudo se desea transportar
la cantidad mxima de flujo desde un punto
de partida (conocido como fuente) hacia un
punto terminal (llamado destino).
Esta clase de problemas se llaman
problemas de flujo mximo.

EL PROBLEMA DE FLUJO MXIMO


El flujo que pasa a travs de una red debe
satisfacer las siguientes restricciones:
a) El flujo entra a la red nicamente por el
nodo
fuente.
Matemticamente
se
representa por:
Xij - Xjk = - v
, si j = s
Donde v >= 0 es el flujo total que entra
a la red y s es el nodo fuente. Por
convencin, el flujo que sale de un nodo
es negativo (eflujo) y el flujo que entra a
un nodo es positivo (influjo).

EL PROBLEMA DE FLUJO MXIMO


b) Hay conservacin de flujo en un nodo
intermedio, es decir el total del flujo que entra en
cierto nodo es igual al total del flujo que sale del
mismo. Matemticamente se tiene:
Xij - Xjk = 0 , para toda j s t.
c) El flujo sale de la red nicamente por el nodo
destino. Matemticamente se escribe como:
Xij - Xjk = v ,
si j = t.
d)
El flujo en un arco debe conformar lo
requerimientos mnimos y las capacidades
mximas del arco, es decir:
0 <= lij <= xij <= uij

para toda Aij.

EL PROBLEMA DE FLUJO MXIMO


Modelo de programacin lineal:
Xij = cantidad de flujo que pasa del nodo i al nodo
j.

Max v = Xsj
s. a. :
Xij - Xjk

0 <= lij <=

- v , si j = s
0 , si j s t
v , si j = t

xij <= uij

TEOREMA DE MINIMO CORTE-MXIMO FLUJO

En una red de transporte dada, el


valor mximo de un flujo es igual a la
capacidad mnima de un corte, esto
es:
Max (xn) = Min C W (Y)
Esto quiere decir, que si se logra
encontrar un flujo igual a la
capacidad de un corte, se estar
seguro de que dicho flujo es mximo.
El corte mnimo puede no ser nico.

TEOREMA DE MNIMO CORTE-MXIMO FLUJO


1
3

1
s

1
2

2
2

Y = 1, 2, t
Min C W (Y) = 1 + 2 = 3
max = 3

ALGORITMO DE FORD Y FULKERSON


Es un algoritmo iterativo, consiste en el
aumento paulatino del flujo (X o) hasta que
ste llegue a ser mximo.
La bsqueda del flujo mximo se realiza en
dos fases:
1ra Fase: Etiquetado
Se identifica un camino de Xs a Xt, y se
coloca una etiqueta a cada nodo del camino.
2da Fase: Asignacin de flujo
Se asigna flujo al camino etiquetado.

NOMENCLATURA EMPLEADA
Xij >= 0 Flujo del nodo i al nodo j.
Xji >= 0 Flujo ficticio que va del nodo j al nodo i.
uij >= 0 Capacidad mximo de flujo del arco A ij (u Z).
s: Nodo fuente.
t: Nodo destino.
gij = uij xij Capacidad no saturada del arco Aij,
(gij=0 arco saturado).
[s, ] : Etiqueta del nodo fuente.
[i , j ] : Etiqueta de un nodo vecino del nodo i. i: Nodo
de donde proviene el flujo. j: Cantidad de flujo que an
puede pasar por el arco Aij.
[k, j] : Etiqueta para un nodo j vecino del nodo k, para
el cual es posible un flujo ficticio ( k j). j = min(j ,
Xkj)

PROBLEMA
Una empresa multinacional tiene un programa
anual de distribucin de un determinado
producto. Estos productos se producen en dos
fbricas. La fbrica 1 con una capacidad mxima
de produccin de 10 tons. al ao y la fbrica 2
con capacidad mxima de produccin de 7 tons.
al ao. Los excedentes de la fbrica 2 pueden
transferirse a la fbrica 1, para esto existe una
disponibilidad de transporte de un mximo de 8
tons. al ao. Hay tres distribuidores mayoristas,
la siguiente matriz indica la capacidad mxima
de transporte anual desde las fbricas hacia los
distribuidores mayoristas.

PROBLEMA
3

Distribuidores
Fbricas

Los excedentes de 3 y 5 pueden transferirse a 4.


La capacidad mxima de transporte es de 3 tons. y
4 tons. respectivamente . De los distribuidores
mayoristas se entregan los productos al mercado
consumidor.
Los
requerimientos
de
los
distribuidores son de 4, 7 y 5 toneladas
respectivamente.
Determine el flujo mximo anual que puede
circular por el sistema.

EL PROBLEMA DE FLUJO MXIMO A


COSTO MNIMO
Este problema es una combinacin de
dos problemas: Flujo mximo y costo
mnimo.
Un problema de flujo mximo puede
tener soluciones ptimas alternativas,
cuando se incluye costos en la red, al
menos una solucin tiene el costo
mnimo.

EL PROBLEMA DE FLUJO MXIMO A COSTO MNIMO

El problema de flujo mximo a costo mnimo


puede representarse matemticamente como:
Min Z = CijXij
s.a. :
- v, si j=s
Xij - Xjk =
0, si j s t
v, si j=t
0 <= lij <= Xij < uij
En esta formulacin, las variables de decisin
son Xij y el flujo total v.

ALGORITMO DE BUSACKER Y GOWEN

1) Xij=0 para todos los arcos Aij y v=0.


2) Construir nuevos costos ij en el arco
Aij basado en lo siguiente:
ij= Cij, si Xij=0, cuando no hay flujo
en el arco Aij.
ij=, si Xij=Uij, cuando el arco Aij
est saturado.
ji=-Cij, si Xij>0, arco en reversa para
posible reduccin de flujo.

ALGORITMO DE BUSACKER Y GOWEN


3) Encuntrese la ruta ms econmica del nodo s al
nodo t, basado en los costos ij, utilizando
cualquier algoritmo disponible.
4) Envese la mayor cantidad de flujo por la ruta
ms econmica, es decir una cantidad de flujo
con el cual uno o varios arcos que componen esa
ruta se saturen.
5) Adase al flujo actual en toda la red, el flujo
adicional que se encuentre en el paso anterior. Si
todas las rutas que conducen al destino estn
saturadas, la solucin ptima ha sido
encontrada. De otra manera, regrese al paso 2.

PROB.
En la red de la figura, los nmeros en los arcos representan respectivamente
la capacidad mnima, la capacidad mxima y el costo unitario . Determine el
flujo mximo a costo mnimo.
3
(0,1,2)

(0,1,1)

(0,1,1)

(0,1,2)

(0,2,2)
4

(0,1,1)

(0,2,2)

GRACIAS

Potrebbero piacerti anche