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

7} ,1 ,

10
, {6 } 2 ,8

12 2
{3,0,6}
{4 ,0 ,

Asignacin a costo mnimo?


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

{3,0,6}
,1

{4,

{5

8}
8}

{4

{3

,6

,2 ,

14 4
{ 5 ,0 ,1 2 }

7}

{7

,2

,9 }

{5

,1 ,

7}

7
{4,0,6} {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

{3

{5,1,7}

,0

8 1

,1 ,

{4

8 10

0 ,6

,6

}
0 ,6

{7,3,8}

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

{6

}
{ 2 ,2 ,8 }

9 9

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 (flujos saliendo del nodo) Prof. 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 = 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
C 12 =2

C32=4 C23=1
C4 2 = 3

3 2

4 1
C24=2

C3

14 =

C45=2

Prof. Claudio Seebach

ICS 1102 Optimizacin / Clase 27

C35=4

1 = 4

5 7

Paso 1, Identificar Solucin factible 4 1 Es bsica? No, a lo ms 4 xij tomarn valores positivos Sol bsica factible: Costo total: 33 4 1 4 0
C

1 2 2 2
C
14 =

C32=4

0
C23=1
=2

3 2
C
43

C 12

=2

1 0
C
34

2
C24=2

4 4
C32=4

C45=2

1 2
C 12 =2

0
C23=1
2 = 3

1 0
C3 1 = 4

0
C24=2

C4

Las variables bsicas son: {x14 , x23 , x35 , x45 }

14 =

4 4

C45=2

C35=4

C35=4

=1

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

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

C24=2

x45 : 4+ 0 x35 : 3- 0 = 1,

C3

14 =

x23 sale de la base

4+

C45=2

C35=4

x23 : 1- 0

4 1

12

=2

1 = 4

0 0

C4

2 = 3

3-

5 7

Nueva sol bsica factible: Costo total: 32 4 1 4 0


C

1 2
C 12 =2

C32=4

0
C23=1
43

0 0
C
43

3 2
C =2

1
C24=2

Las variables bsicas son: {x14, x24 , x35 , x45 } Es ptima la solucin?

14 =

4 5

C45=2

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

=1

5 7

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
C24=2 C24=2

C35=4

C35=4

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 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 1 2 4 1 4 0
C
14 =

}
3 0

}
0

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

Sol ptima, pero no nica 3 2


C
43

C32=4

Si x23 entra a la base y sale x24 de la base Se obtiene esta sol bsica de costo 30

C 12

=2

C23=1
=2

0
C24=2

43

4 7

C45=2

C35=4

=1

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

También podría gustarte