Está en la página 1de 33

ICS 1102 (3)

Optimizacin
Departamento de Ingeniera Industrial y de Sistemas
Pontificia Universidad Catlica de Chile

Clase 27 - Flujo en Redes

Prof. Claudio Seebach - 2do Semestre 2006


Modelos de Redes
Modelos de Programacin Lineal que poseen
una estructura muy especial

Se puede usar esta estructura para reducir


considerablemente la complejidad
computacional

Primera aplicacin de PL que se difunde tanto


en la logstica industrial

Abarca un gran nmero de aplicaciones


diversas

Prof. Claudio Seebach ICS 1102 Optimizacin / Clase 27


Notacin y Terminologa
La terminologa de redes no est (y jams lo
estar) estandarizada, pudiendo describirlas
de muchas maneras

Prof. Claudio Seebach ICS 1102 Optimizacin / Clase 27


Redes Dirigidas y No-dirigidas

Redes se usan para transportar commodities


Bienes fsicos (productos, liquidos)
Comunicaciones
Electricidad
El campo de la Optimizacin de Redes se
ocupa de estos problemas

Prof. Claudio Seebach ICS 1102 Optimizacin / Clase 27


Aplicaciones de Optimizacin en Redes

Prof. Claudio Seebach ICS 1102 Optimizacin / Clase 27


Ejemplo de trminos

Prof. Claudio Seebach ICS 1102 Optimizacin / Clase 27


Ms definiciones

Prof. Claudio Seebach ICS 1102 Optimizacin / Clase 27


Problemas clsicos de Flujo en Redes
Problema de flujo de mnimo costo
Minimum cost flow problem

Problema de mximo flujo


Maximum flow problem

Problema de la ruta ms corta


Shortest path problem

Prof. Claudio Seebach ICS 1102 Optimizacin / Clase 27


Problema de Flujo en Redes a Mnimo Costo
Definicin del problema
Formulacin matemtica
Solucin al Problema: usamos SIMPLEX?
Formulacin dual del modelo
SIMPLEX de redes
Ejemplo
Integralidad?

Prof. Claudio Seebach ICS 1102 Optimizacin / Clase 27


Definicin del Problema
Dada una red con topologa conocida
Cada nodo de la red se define como productor o atractor
(o neutro) de viajes de tal modo que el sistema est
balanceado (oferta total=demanda total).
Se conoce el costo por unidad de flujo que pase por cada
arco de la red
Se conoce la capacidad mxima de cada arco de la red, as
como el flujo mnimo que debe atravesarlo
Encontrar la asignacin de flujos que emanan desde los
productores hasta los atractores de modo de, satisfaciendo
las restricciones de capacidad y flujo mnimo por arco,
minimizar el costo total.

Prof. Claudio Seebach ICS 1102 Optimizacin / Clase 27


Ejemplo Asignacin a
costo mnimo?
10 12
{3,0,6} 7 { 5 ,2 ,
8}
2 {4 {3,0,6}

{4,
,0 , { 5 ,1 ,
} 8}
2 ,8 8 10

0 ,6
7} 5}

}
,1 ,

,6
,
{6

,1

}
{5 {4

{4
,1 ,

{4,
8} }
8 1 , 10

0 ,6
{7,3,8} , 0
3 3 {6

}
{5,1,7}

{3
,0
,6 {8,0,6} 6 5
}
{3
,2 ,9 }
,2 , {7 {5
7} ,1 ,
7}
14 4 { 3 ,0 ,8 }

{ 2 ,2
7

,8 }
{ 5 ,0 {4,0,6}
,1 2 } 5 9 9
{3,0,8}

A cada arco (i,j) se ha asignado una terna: {costo, flujo mn, capacidad}
Supondremos en esta clase que flujo min (i,j) = 0 y capacidad = inf
Prof. Claudio Seebach ICS 1102 Optimizacin / Clase 27
Formulacin Matemtica del Problema

Parmetros:

Red G(N,A) en que N es el conjunto de nodos (n=|N|) y A el de


arcos (m=|A|).

bi: Flujo neto generado (si positivo) o atrado (si negativo) en


nodo i (flujo que saldr menos flujo que entrar)
cij: Costo de transportar una unidad de flujo por el arco (i,j)

Variables:

xij: Unidades de flujo enviadas a travs del arco (i,j)

Prof. Claudio Seebach ICS 1102 Optimizacin / Clase 27


Formulacin Matemtica del Problema

El modelo debe estar balanceado, esto es:

Prof. Claudio Seebach ICS 1102 Optimizacin / Clase 27


Algunas caractersticas interesantes
Funcin objetivo y Funcin objetivo: sumatoria de tantos
restricciones lineales trminos como arcos en la red

Las restricciones garantizan conservacin


de flujos en la red: el flujo que entra en un
nodo, menos el flujo que sale, es igual al
flujo atrado o generado por el nodo

Una restriccin
por cada nodo
de la red.

Todos los parmetros asociados a las Cada variable aparece solamente dos veces:
variables en las restricciones son :
+1 (en la restriccin del nodo cola del arco)
+1 (flujos entrando al nodo) o
1 (en la restriccin del nodo raz del arco)
1 (flujosProf.
saliendo del nodo)
Claudio Seebach ICS 1102 Optimizacin / Clase 27
Solucin al Problema: usamos SIMPLEX ?
El problema es lineal en funcin objetivo y restricciones
y sus variables son continuas. As, se puede usar
herramientas de programacin lineal: SIMPLEX.
El mtodo SIMPLEX opera sobre problemas cuyas
variables estn restringidas a tomar valores no-
negativos, como es el caso de este problema.
SIMPLEX opera sobre una matriz de restricciones de
rango mximo.
Esto no ocurre aqu, pues una de las restricciones de
conservacin puede expresarse como combinacin lineal
de las dems.
Eliminamos una de ellas, cualquiera. Este nuevo
problema se puede resolver directamente va SIMPLEX

Prof. Claudio Seebach ICS 1102 Optimizacin / Clase 27


Solucin al Problema: usamos SIMPLEX ?
Problema: La Aplicacin del SIMPLEX
tradicional puede ser impracticable:
La sola formulacin del problema de flujo en redes como
un LP representa una dificultad, dado el tamao de las
redes
Las restricciones del LP en este caso representan una
matriz muy grande, que el SIMPLEX debe manipular para
encontrar la solucin ptima. (eficiencia computacional?)
El SIMPLEX tradicional no aprovecha la estructura de redes
del problema planteado.

Prof. Claudio Seebach ICS 1102 Optimizacin / Clase 27


Solucin al Problema: usamos SIMPLEX ?
Es posible construir una versin SIMPLEX de
redes:
En cada iteracin, el SIMPLEX se mueve de una solucin
factible a otra.
En un problema de flujo en redes cada solucin factible
representa un rbol de envergadura mxima
La idea del SIMPLEX de redes es moverse de una rbol de
envergadura mxima a otro, hasta encontrar el ptimo
(solucin ptima del problema de LP) sin tener que
calcular el tableau completo en cada iteracin.

Prof. Claudio Seebach ICS 1102 Optimizacin / Clase 27


Formulacin dual del modelo
El modelo dual del problema de flujo en redes es:

es el vector de variables duales asociado a


restricciones de continuidad
Notar que si existe solucin ptima (i) a este
problema, sta no ser nica. Basta observar que si se
agrega una constante cualquiera a todo el vector , la
solucin sigue siendo factible y su valor en la funcin
objetivo no cambia. Esto es consecuencia de que la
matriz de restricciones del problema primal no era de
rango mximo.
As, para resolver este problema es necesario dar un
valor arbitrario a un i.
Prof. Claudio Seebach ICS 1102 Optimizacin / Clase 27
Formulacin dual del modelo
Toda solucin factible al problema primal tiene
un vector dual () asociado. Si la solucin
primal no es la ptima, entonces el vector no
ser factible.
Por otro lado si ese vector es factible,
entonces la solucin primal y el vector sern
ptimos para sus respectivos problemas.
En el ptimo, el valor de ambas funciones
objetivo coincide.

Prof. Claudio Seebach ICS 1102 Optimizacin / Clase 27


SIMPLEX de redes (sin restr. de capacidad)
El SIMPLEX de Redes es una adaptacin del
SIMPLEX tradicional, que trata de aprovechar
la estructura de red del problema
El SIMPLEX tradicional construye sus
soluciones factibles utilizando lgebra de
matrices. El SIMPLEX de Redes construye
rboles de envergadura mxima sobre la red,
hasta encontrar la solucin ptima.
En cada iteracin el SIMPLEX de Redes
construye un rbol de envergadura mxima
cuya solucin factible asociada (flujos)
reduce el valor de la funcin objetivo- hasta
que eventualmente se encuentra el rbol
ptimo.

Prof. Claudio Seebach ICS 1102 Optimizacin / Clase 27


La Estructura Conceptual del SIMPLEX de Redes

PASO 1 (INICIALIZACION)
Determinar un rbol inicial factible T (variables bsicas)
Determinar los flujos {xij} y los potenciales (variables
duales) i asociados al rbol T inicial y factible

PASO 2 (ITERACIN)
crea un Mientras existan arcos (no en T) que no cumplan la
ciclo en condicin de optimalidad:
el rbol
Seleccionar un arco (no en T) que no cumpla la
condicin de optimalidad (var entrante).
Agregar ese arco a T
Seleccionar un arco saliente de T y sacarlo
elimina el Actualizar el rbol T, los flujos en los arcos y el
ciclo potencial de los nodos.
SIMPLEX de Redes (sin restriccin de capacidad)
Preguntas pendientes:
Cmo encontrar un rbol inicial factible T, los flujos en
arcos asociados a esa solucin factible y los potenciales de
los nodos.
Cmo elegir el arco entrante al rbol T
Cmo elegir el arco saliente del rbol T
Distintas versiones del algoritmo surgen de las distintas
maneras en que se pueden resolver estas interrogantes

Prof. Claudio Seebach ICS 1102 Optimizacin / Clase 27


Cmo determinar qu variable entra y sale de la base (rbol T)?
Costo reducido en problemas de flujo en redes (sin capacidad)

{ i
vector columna de A =
j
costo del arco vector de costos
duales,
Los costos reducidos de las vars bsicas son cero. Esto permite
identificar el vector de costos duales o potenciales i. Luego, es
posible determinar los costos reducidos de las vars no bsicas.

Notar que si todos los rij son no negativos, se satisfacen las


condiciones duales y la solucin es ptima.
Ejemplo
(n=5, m=9)

1 2 C32=4 3 2
C23=1
=2
C 12 = 2
3
4 1 C4

C24=2
= 1

C35=4
4
C C3
14 =
3

0 4 5 7
C45=2

Prof. Claudio Seebach ICS 1102 Optimizacin / Clase 27


1 2 0
Paso 1, Identificar C32=4 3 2
C23=1
Solucin factible =2 1
C 12 =2
4 1 2 2 0 C 43

C24=2
Es bsica? =1 0

C35=4
34
2 C
14 =
C
3
No, a lo ms 4 xij tomarn 4
0 5 7
valores positivos 4 C45=2

1 2 0
C32=4 3 2
Sol bsica factible: C23=1
=2 1
C 12 =3 2
4 1 0 0 0 C4
Costo total: 33 C24=2
3
=4 1 0

C35=4
4 C
14 =
C3
Las variables bsicas son: 3

{x14 , x23 , x35 , x45 } 0 4 5 7


C45=2
4
Ejemplo
Es ptima la solucin?
Es necesario revisar los costos reducidos de las variables no bsicas:
r12 = c12 - 1 + 2 = 2 - 1 + 2 r24 = c24 - 2 + 4= 2 - 2 + 4
r32 = c32 - 3 + 2 = 4 - 3 + 2 r34 = c34 - 3 + 4 = 1 - 3 + 4
r43 = c43 - 4 + 3 = 2 - 4 + 3

El vector se puede identificar a travs de los costos reducidos de las


variables bsicas, que deben ser cero. Adicionalmente como una de las
restricciones del problema es redundante, uno de los valores duales
toma un valor arbitrario.
r14 = 2 - 1 + 4 = 0 r35 = 4 - 3 + 5 = 0
r23 = 1 - 2 + 3 = 0 r45 = 2 - 4 + 5 = 0 , 1 = 0 }4 = -2, 5 = -4
3 = 0, 2 = 1

Prof. Claudio Seebach ICS 1102 Optimizacin / Clase 27


Ejemplo
Esto permite identificar los costos reducidos de
las variables no bsicas:
r12 = 2 - 1 + 2 = 3 r24 = 2 - 2 + 4 = -1
r32 = 4 - 3 + 2 = 5 r34 = 1 - 3 + 4 = -1
r43 = 2 - 4 + 3 = 4
Estamos interesados en encontrar variables no
bsicas con costo reducido negativo.
En este caso, x24 y x34 resultan atractivos de
incorporar a la base. Tpicamente se incorpora
el de costo reducido mayor (en valor
absoluto), en este caso cualquiera. Escogemos
x24.

Prof. Claudio Seebach ICS 1102 Optimizacin / Clase 27


Cunto es lo ms que puede subir x24? Digamos que toma el valor

En SIMPLEX cuando se agrega una variable a la base, las variables


que permanecen fuera de la base no modifican su valor.

As, se genera un ciclo de variables bsicas para absorber el cambio


en la variable entrante (siempre habr slo uno).

La variable que sale es aqulla que primero alcanza uno de sus lmites
al subir x24. 0
1 2 C32=4 3 2
En este caso: 1- C23=1
=2
C 12 2
x24 : 0 0
=
3
4 1 0 C4

x23 : 1- 0 3-
C24=2
= 1 0

C35=4
4

x45 : 4+ 0 4 C
14 =
C3
3

x35 : 3- 0 = 1, 0 4 5 7
4+ C45=2
x23 sale de la base
1 2 C32=4 0 3 2
Nueva sol bsica factible: 0 C23=1
=2
C 12 =2
Costo total: 32 4 1 0 1 0
C 43

C24=2
=1 0

C35=4
43
4 C C
Las variables bsicas son: 14 =
3
{x14, x24 , x35 , x45 } 0 4 5 7
C45=2
5
Es ptima la solucin?

r14 = 3 - 1 + 4 = 0 r35 = 4 - 3 + 5 = 0
r24 = 2 - 2 + 4 = 0 r45 = 2 - 4 + 5 = 0, 1 = 0 } 4 = -3, 2 = -1
5 = -5, 3 = -1

r12 = 2 - 1 + 2 = 1
r32 = 4 - 3 + 2 = 4
r43 = 2 - 4 + 3 = 4
r23 = 1 - 2 + 3 = 1
r34 = 1 - 3 + 4 = -1 } x34 entra a la base
Cunto es lo ms que puede subir x34? Digamos que toma el valor
1 2 C32=4 0 3 2
2
0 C23=1
=
En este caso: C 12 =2
x34 : 0 4 1 0 1 C4
3

2-

C24=2
x45 : 5+ 0 =1 0

C35=4
4

x35 : 2- 0 = 2, 4 C
14 =
C 3

3
x35 sale de la base 0 4 5 7
5+ C45=2
Nueva sol bsica factible: 1 2 C32=4 0 3 2
2
0 C23=1
=
Costo total: 30 C 12
=2
4 1 0
3
1 2
C4
0
C24=2 0
Las variables bsicas son: =1

C35=4
4
4 C14 C 3

{x14 , x24 , x45 , x34 } =3

0 4 C45=2
5 7
7
Es ptima la solucin?

r14 = 3 - 1 + 4 = 0 r45 = 2 - 4 + 5 = 0
r24 = 2 - 2 + 4 = 0 r34 = 1 - 3 + 4 = 0 , 1 = 0 } 4 = -3, 2 = -1
5 = -5, 3 = -2
r12 = 2 - 1 + 2 = 1
r32 = 4 - 3 + 2 = 5
r43 = 2 - 4 + 3 = 3
r23 = 1 - 2 + 3 = 0
r35 = 4 - 3 + 5 =1 } Sol ptima,
pero no nica

1 2 C32=4 0 3 2
1 C23=1
=2
C 12 =2
Si x23 entra a la base 0 43
4 1 0 3
C
y sale x24 de la base 0
C24=2 0
=1

C35=4
Se obtiene esta sol 4 C C 43
14 =
3
bsica de costo 30
0 4 5 7
C45=2
7
Integralidad
En muchos problemas de flujo en redes se requiere una
restriccin adicional, que los flujos en los arcos sean
enteros. Por ejemplo, esto ser de suma importancia al
buscar rutas mnimas en la red o en que lo que se
transporta son camionadas de carga.
A pesar de que en la formulacin del problema no lo
hemos escogido, la solucin satisfizo esta propiedad...
Es casualidad?
No. La estructura de los problemas de flujo en redes
tienen esta bondad adicional. Todo poliedro definido por
restricciones lineales en que el lado derecho de las
restricciones son nmeros enteros y en que la matriz de
las restricciones es totalmente unimodular, posee la
propiedad de que sus vrtices estn en puntos enteros
del espacio vectorial.

Prof. Claudio Seebach ICS 1102 Optimizacin / Clase 27


Matrices totalmente unimodulares
Las matrices totalmente unimodulares se
pueden identificar de varias formas. Por
ejemplo si cada columna tiene a lo sumo dos
elementos distintos de cero y son ellos 1 1.
Este es el caso del problema de flujo en redes.

Prof. Claudio Seebach ICS 1102 Optimizacin / Clase 27

También podría gustarte