Вы находитесь на странице: 1из 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

Asignacin a
costo mnimo?

Ejemplo

}
,6
,1
{4
,9 }

{5

,1 2 }

7}

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

,8 }

{ 5 ,0

,1 ,

10
,
0
,

{ 2 ,2

14 4

{5,1,7}

,2

{8,0,6}

8 10

5}

{6

{7

{7,3,8}

{ 3 ,0 ,8 }

7}

8}

,2 ,

,1 ,

{ 5 ,1 ,

0 ,6

{3

,6

{4

8}

,0

,0 ,

8}

{4,

{3

7}
,1 ,

{4

{3,0,6}

0 ,6

8 1

{5

{ 5 ,2 ,

{3,0,6}

{4,

,
{6

}
2 ,8

12

10

9 9

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
restricciones lineales

Funcin objetivo: sumatoria de tantos


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
variables en las restricciones son :
+1 (flujos entrando al nodo) o
1 (flujosProf.
saliendo
del nodo)
Claudio Seebach

Cada variable aparece solamente dos veces:


+1 (en la restriccin del nodo cola del arco)
1 (en la restriccin del nodo raz del arco)
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 nonegativos, 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
Actualizar el rbol T, los flujos en los arcos y el
elimina 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 =

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

3 2

C32=4
C23=1

=2

C 12

4 1
C

14 =

Prof. Claudio Seebach

C3

1
=
4

C35=4

C24=2

C4

2
=
3

C45=2

5 7

ICS 1102 Optimizacin / Clase 27

2
C

14 =

Las variables bsicas son:


{x14 , x23 , x35 , x45 }

C32=4

14 =

C4

0
C3

=4 1

3 2

C23=1

C 12

5 7

C45=2

=2

=1

34

1 2

4 1

=2

43

Sol bsica factible:

0
C

3 2

=3 2

3
C35=4

No, a lo ms 4 xij tomarn


valores positivos

C24=2

C24=2

Es bsica?

C 12

0
C23=1

=2

4 1

Costo total: 33

C32=4

C35=4

1 2

Paso 1, Identificar
Solucin factible

4
4

C45=2

5 7

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
4 = -2, 5 = -4
r23 = 1 - 2 + 3 = 0 r45 = 2 - 4 + 5 = 0 , 1 = 0

Prof. Claudio Seebach

3 = 0, 2 = 1

ICS 1102 Optimizacin / Clase 27

Ejemplo
Esto permite identificar los costos reducidos de
las variables no bsicas:
r12 = 2 - 1 + 2 = 3
r32 = 4 - 3 + 2 = 5
r43 = 2 - 4 + 3 = 4

r24 = 2 - 2 + 4 = -1
r34 = 1 - 3 + 4 = -1

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
0

4 1

x23 : 1- 0

x45 : 4+ 0

x35 : 3- 0 = 1,
x23 sale de la base

14 =

C4

0
C3

1
=
4

2
=
3

3-

C35=4

C24=2

x24 :

=2

12

4+

C45=2

5 7

1 2
0

4 1

Las variables bsicas son:


{x14, x24 , x35 , x45 }

C23=1

14 =

C 12

C24=2

Costo total: 32

=2

3 2
C

0
C

=1

43

=2

43

C35=4

Nueva sol bsica factible:

C32=4

C45=2

5 7

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
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

4 = -3, 2 = -1
5 = -5, 3 = -1

x34 entra a la base

C35=4

C35=4

C24=2

C24=2

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


1 2
C32=4 0
3 2
C23=1
0
2
=
En este caso:
C 12
=2
3
C4
0
1
4

x34 :
0
1

2-
0
x45 : 5+ 0
=1
4
3
C
C
4
14 =
x35 : 2- 0 = 2,
3
5 7
x35 sale de la base 0 4
5+ C45=2
Nueva sol bsica factible:
1 2
C32=4 0
3 2
C23=1
0
2
=
12
C
Costo total: 30
=2
3
C4
1
4 1 0
2
0
0
=1
Las variables bsicas son:
4
3
C
4 C14
=3
{x14 , x24 , x45 , x34 }
5 7
0 4
C45=2
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

1 2
=2

4 1
4

3 2

C23=1

14 =

C32=4

Sol ptima,
pero no nica

C 12

C24=2

Si x23 entra a la base


y sale x24 de la base
Se obtiene esta sol
bsica de costo 30

r23 = 1 - 2 + 3 = 0
r35 = 4 - 3 + 5 =1

3
C

=1

43

=2

43

C35=4

r12 = 2 - 1 + 2 = 1
r32 = 4 - 3 + 2 = 5
r43 = 2 - 4 + 3 = 3

4 = -3, 2 = -1
5 = -5, 3 = -2

4
7

C45=2

5 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

Вам также может понравиться