You are on page 1of 27

Mtodo Out Of Kilter

(OOK)
ALCANTAR HERNANDEZ JOAN JAVIER
HERNANDEZ PEA ARI JAIR
MARTINEZ MONTIEL GABRIEL EDUARDO
GARCIA SANTILLAN ANA IRIS

Creacin y Definicin

El algoritmo fue creado por Dr. Fulkerson An out-ofKilter method for Minimal Cost Flow problems.

El Algoritmo opera definiendo las condiciones las


cuales se deben de satisfacer para obtener una
circulacin ptima en una red. Debiendo satisfacer un
flujo que satisfaga las capacidades de restriccin de
los arcos y el estado de conservacin de flujo de los
nodos. Cuando una circulacin optima es determinada,
todos los arco es estn in-kilter. En algn punto de
operacin del algoritmo, si no existe circulacin,
algunos arcos estarn Out-of-kilter --De aqu el
nombre del algoritmo.

El algoritmo seleccionara arbitrariamente


un arco Out-of-kilter y tratara de rehacer el
flujo para brindar ese arco dentro de Kilter
sin comprometer otros arcos a un estado
out-of-Kilter. Si un arco out-of-Kilter pudiera
traer a un estado in-Kilter, el algoritmo
selecciona otro arco out-of-Kilter y repite el
proceso. Ya que existe un nmero finito de
arcos, la repeticin de este proceso
eventualmente producir una ptima
solucin. Si un arco no pudiera ser
transformado a in-Kilter, el problema no se
puede resolver.

El estado estacionario
de flujos en redes
puede representar
sistemas fsicos y no
fsicos. El complejo de
autopistas que se
muestra en la figura
1, enlazan a Nueva
York, Chicago, St. Lois,
Denver, Los ngeles,
Houston, Seattle y
Washington, D.C., en
una red. Los vehculos
en movimiento sobre
esa red pueden ser
considerados flujo de
unidades
homogneas.

Por otra parte, esta red podra


describir un sistema de
distribucin de petrleo. Los
flujos en redes tambin pueden
representar las comunicaciones
entre personas en una
organizacin, inventario y
produccin procesos de
suavizado con el tiempo y
personal ok asignacin a puestos
de trabajo.

Los elementos comunes en estas


situaciones, son una coleccin de puntos
llamados nodos y una coleccin de arcos
que conectas a estos nodos. Los nodos se
denotan con letras en minscula, por
ejemplo en nodo i, y los arcos se
identifican nombrndolos por los nodos con
los que conecta, arco (i, j). Algunas
unidades homogneas (vehculos, petrleo)
pueden fluir sobre los arcos, y se denota a
esto xij a la cantidad de unidades que fluye
en el arco (i, j) del nodo i al nodo j. Si x ij < 0
entonces las unidades fluirn de j a i.

En la mayora de los problemas de redes, los arcos tienen un


costo y una capacidad de caractersticas. Generalmente, el costo
incurre en mover una unidad del nodo i al nodo j, y a este costo
de movimiento de unidad se le denota como c ij. Esto puede ser
dlares por unidad bombeada de petrleo en una red de
distribucin de petrleo. Frecuentemente se encuentra que los
flujos se encuentran limitados por un lmite superior o capacidad
de los arcos. Por ejemplo, solo un numero limite de vehculos se
puede mover a travs del Tnel Lincoln, y un numero limite de
barriles por da se pueden mover a travs de la tubera de
Houston hacia St. Louis. Se denota la mxima capacidad del arco
con uij. Puede haber tambin un requerimiento mnimo de flujo
para un arco y se denota por lij (L cursiva minscula).impuestas
esta condicin nos permite construir una red con flujos
controlados que describan un problema en particular, esto quizs
describa un nivel de demanda mnimo de flujo sobre un arco.

Para resumir. Una red est caracterizada


por nodos, i; arcos entre nodos (i, j); flujo
cruzando los arcos, xij; unidad de costo de
flujo a travs de los arcos, cij; lmite superior
de los arcos, uij; y un limite inferior de los
arcos, lij (L cursiva minscula).

En un problema sin costo, se permite cij=0,


en problemas sin lmite inferior pero con
flujo unidireccional se permite lij (L cursiva
minscula)=0. Si no existen lmites
superiores se permite uij=+ (infinito).

Un problema general en redes es encontrar


el costo mnimo de circulacin en una red
con arcos con capacidad. Que es de lo que
se encarga el algoritmo OOK. El problema
requiere que encontremos el flujo xij, que
minimiza el costo total

Que al mismo tiempo satisfaga las


condiciones o restricciones

Y que lo muestre un una circulacin, que


vaya dentro de un nodo y salga del nodo.
Se representa por

En resumen

Cuando existen distintas formas de resolver


un problema, y quizs pueda ser
conceptualizado o visto como un problema
de programacin lineal, el algoritmo OOK es
en ambos casos el mas general de los
algoritmos especializados y fcilmente el
ms eficiente que un algoritmo estndar de
programacin lineal podra ser.

EJEMPLO
Problema base de circulacin de flujo de costo
mnimo para desarrollar el algoritmo Out Of
Kilter (OOK).

Xij= flujo que va desde el nodo i al j.


Cij= costo asociado al transportar de i a j.
lij= el mnimo valor para el flujo que va desde i
a j.
uij= el mximo valor para el flujo que va desde
i a j.

El problema asociado es:

Sujeto a:
Restriccin de conservacin de flujo para cada
nodo adems de los limites l y u que acotan los
valores de cada flujo, as como tambin la no
negatividad de las variables.

Aplicacin:

Es decir lo que
entra a un nodo
debe salir

Siguiendo con las restricciones:

Rango de variables para cada arco y costos de cada arco:

Rango de
valores
posibles para
cada arco
2X120
2X131
6X230
5X340
3X410

Costos de
cada arco

C12=2
C13=5
C23=-3
C34=-1
C41=0

Red que representa el problema:


(0, 2,
2)

(0, 3,
0)

(0, 5,
-1)

(1, 2,
5)

(0, 6,
-3)

Algoritmo Out Of Kilter:

Este mtodo trabaja con el problema de programacin lineal primal y dual.


Se comienza con un flujo conservativo para el problema primal y con
solucin factible para el problema dual.
Se calculo estado Kilter de cada arco.
Se la red tiene algn arco en estado Out-of-Kilter se pasa a la etapa primal
del algoritmo si ya no se puede obtener ninguna mejora en la etapa
primal, se pasa a la etapa dual del problema.
En la etapa dual se construye una nueva solucin para el problema, y una
vez realizado esto se vuelve a la etapa primal, hasta que no quedan arcos
en estado Out-Of-Kilter.

Para el problema de circulacin de flujo de costo mnimo, se tiene el siguiente


problema dual:

Donde:
vij= restricciones de lmite inferior de Xij
hij= restricciones de limite superios de Xij
Sujeto a:

Donde Wij corresponde a la restriccin de conservacin de


flujo de cada nodo y que al ser una restriccin de igualdad el
W queda irrestricto.

Criterio de Optimalidad:

Cualquier caso que cumpla con alguna de estas condiciones ser


denominado un arco In Kilter.
Con cualquier otro caso tendremos un arco Out of Kilter.
Con los datos anteriores se genera una tabla como la siguiente.

Solucin Inicial para poder determinar el estado de Kilter para cada arco.
Sea:
Xij=0; un flujo conservativo para el problema primal
Wi=0; un solucin factible para el problema dual

Calcular costo reducido de cada arco a partir de esta frmula:

Arco

Costo reducido

Relacin arco con


cota

In Kilter/Out Of
Kilter

12
13
23
34
41

-2
-5
3
1
0

X12=l12
X13<l13
X23=l23
X34=l34
X41=l41

In Kilter
Out Of Kilter
Out Of Kilter
Out Of Kilter
In Kilter

Fase Primal:

Se define el # Kilter como el valor que se necesita aumentar o disminuir el


flujo de arco Xij de tal forma que dicha arco quede en estado In Kilter.

En la fase primal se construye la red residual de la red en la que se


determina la cantidad mxima en que puede variar el flujo en cada arco, sin
empeorar el # Kilter de cada uno y manteniendo las restricciones de
conservacin de flujo.
Esto se puede realizar buscando circuitos dentro de la red residual que
contenga el arco In Kilter que se desea modificar.

Si calculamos el valor del flujo para dejar un arco en estado In Kilter,


obtenemos la siguiente tabla:
Variacin necesaria de # Kilter para cada caso.

Red Residual
Siguiendo la tabla anterior obtenemos:

Despus se toma un arco que se encuentre en estado Out of

Kilter, como por ejemplo el arco 1,3

Despus se busca un circuito que contenga dicho arco en este caso, el


circuito est formado por los arcos 13, 34, y 41.

Por ltimo el mximo flujo que podremos enviar ser el correspondiente


al menor valor dentro del circuito, que en este caso es 1.

Actualizando datos:

Con los nuevos datos obtenidos es necesario volver a hacer otra red
residual

Como podemos ver no se encuentra un circuito que contenga


algn arco que contenga alguno de ellos en estado Out Of
Kilter, es por ello que se debe de pasar a la fase Dual.

En esta fase es necesario cambiar el valor que doble W i de tal forma que
ningn nmero Kilter es aumentado y adems se espera que nuevos arcos
pasen a formar parte de la red residual que permita encontrar circuitos
nuevos.
Dado un arco (p, q) en estado Out of Kilter sea x el conjunto de nodos a
los que se puede llegar desde q por algn camino en la red residual sea X
barra el conjunto de nuevos excluidos de x.

Criterio para mximo valor de Teta

La forma de actualizar los datos

Calcular teta
Primero debemos determinar los conjuntos x y x barra usando arco (2, 3)
tenemos que desde el nodo 3 podemos visitar al nodo 4 desde el nodo 4
podemos visitar el nuevo 1 por lo que x estar compuesto por los nodos 1
3 4 esto ltimo nos lleva a que x barra slo tendr al nodo 2 as sabemos
ahora que en conjunto s1 est formado por el arco {(1, 2)} y el conjunto
s2 por el arco {(2,3)} de esta forma teta 1 vale 2 teta2 vale 3y por
consiguiente teta vale 2 los nuevos valores de W a los siguientes

Actualizacin de los datos


Actualizando todos los datos podemos ver que los costes
reducidos han cambiado con estos nuevos valores se puede
construir una nueva red residual.

Al calcular la nueva red residual


podemos ver que apareci un nuevo
arco con respecto al anterior y esta
vez si es posible encontrar un circuito
que contenga al arc (2, 3) el valor
del flujo esta vez es 2.

Ultima Iteracin
Siguiendo con el algoritmo podemos
llegar a la siguiente y ultima
iteracin. Donde luego de pasar por
una ltima tapa donde se llega a que
todos los arcos estn en un estado in
Kilter por lo tanto la solucin eso
optima.

You might also like