Sei sulla pagina 1di 30

ASIGNACION DE VIAJES A REDES DE TRANSPORTE PRIVADO CONGESTIONADAS: ALGORITMOS

Mtodos de Solucin del Problema de Equilibrio de Usuarios en una Red de Transporte 1) Mtodos heursticos (Captulo 5.1 de Sheffi. )

Iteraciones Todo o Nada PromedioTodo o Nada ltimas iteraciones Asignacin Incremental por par O-D

2) Mtodos que usan el Enfoque de la Programacin Matemtica. a) Algoritmo de Frank-Wolfe: Adaptacin del Mtodo del Gradiente Mtodo iterativo de dos fases para encontrar una solucin al Problema de Optimizacin Equivalente (P.O.E.):
FASE I : Determinacin de una direccin de descenso de

la F.O.
FASE II: Clculo del avance en la direccin determinada

en la fase 1 para minimizar el valor de la F. O.


3

Algoritmo de Frank-Wolfe (Continuacin):


FASE I: Se resuelve una aproximacin lineal del problema

original (P.O.E.), en un punto inicial dado, (sujeto a las mismas restricciones: solucin factible). La solucin a esta aproximacin, combinada con la solucin anterior define la direccin de bsqueda.
FASE II: Se minimiza el valor de la F. O. dentro del tramo

unidimensional factible definido por la direccin de bsqueda. Determina cunto moverse en la direccin de bsqueda de modo de minimizar la funcin objetivo original. 4

Algoritmo de F-W (Representacin Grfica): Z(x) F.O. Z(x) convexa


definido por restricciones lineales; convexo

Z(Xk) Solucin inicial Factible Xk

Algoritmo de F-W (Aproximacin Lineal):

z(x)
Z(Xk) Solucin inicial Factible Xk

Plano tangente (ZL(x)) a la F.O. en Xk ; ZL(x) Z(x) x

Algoritmo de F-W. FASE I : Direccin de Descenso


Aprox. Lineal a la F.O.: zL(x-xK) PROBLEMA LINEAL

zL(xk)

zL(yk)

xk

(yk - xk) Direccin

yk Sol. Auxiliar
7

Algoritmo de F-W. FASE II : Min. Unidimensional


Nueva Solucin: X(K+1) = xk+(yk - xk)

z (yk - xk) z(yk)

zL(xk) = Z(xk)

z(xk +(yk - xk))

xk+(yk - xk)
Solucin inicial Factible Xk

yk Sol. Auxiliar
8

Algoritmo de F-W. FASE II : Min. Unidimensional

z(x)
z(xk) z(xk +(yk - xk))

Solucin inicial Factible Xk

xk+(yk - xk)

yk Sol. Auxiliar
9

Algoritmo de F-W.: Final Iteracin k


z(x)

Z(Xk+1) Nueva Solucin Factible Xk+1

10

Descripcin Analtica del Algoritmo de Frank-Wolfe


Problema de Optimizacin Equivalente Transformada de Beckmann Z(X)

Min :

fa Z = ca ( x)dx a 0

s.a :

pPw

fa = ap hp , a A pP hp 0, p P = Tw , w W

Conjunto de restricciones lineales AX = b

11

Descripcin Analtica del Algoritmo de Frank-Wolfe


Formulacin compacta del P.O.E.:

Min : Z ( x ) s.a. : A x = b;

x0

Z(X): Transformada de Bechmann Funcin no lineal en x, continua, diferenciable y convexa

A: matriz de (m n) parmetros (ap) x: vector de (n 1) variables (flujos en arcos, a A) b: vector de (m 1) elementos (datos de viajes O-D)
x x x

12

Fase 1: Fase de aproximacin lineal (bsqueda de direccin)


Dada una solucin factible xk, sea yk la solucin al siguiente problema de programacin lineal:

Min : s.a. :

ZL ( yk ) A y k = b;
k

ZL(y) corresponde a una aproximacin lineal de Z en xk (Plano yk 0 tangente a Z(x) en xk).


k k T

ZL ( y ) = Z ( x ) +Z ( x

) (y

La nueva solucin yk ser factible para el problema original (P.O.E.) y recibe el nombre de Solucin Auxiliar . ZL(y) es una funcin lineal en la variable (yk). Notar que: xk, Z(xk) y Z(xk) son constantes.

13

Fase 1: Fase de aproximacin lineal (continuacin)


Por lo tanto: Minimizar ZL(y) es equivalente a minimizar:

Z ( x

k T

As, la solucin auxiliar se puede obtener resolviendo:

Min : Z ( x ) y
k T

s.a . :
Pero recordemos que:

A y = b;
k

y 0
k

Z ({ f a } ) fa

= ca ( f a ) , a A
14

Fase 1: Fase de aproximacin lineal (continuacin)


Por lo tanto:

Z ( x ) = ( c1 , K , ca , K , cn )
k T

Z ( x ) y = ca ( x ) y
k T k aA k a

k a

Pero el costo total sobre una red puede expresarse en trminos de flujos en arcos, yak = fak, o rutas, yak = hpk:
k k k k ca ( xa ) ya = ca ( f ak ) ya = C p (hp ) y k , p aA aA pP
15

Fase 1: Fase de aproximacin lineal (continuacin)


Consecuentemente, una forma particular del problema lineal es la siguiente:

Min : s.a . :

C
pP

(h ) y
k p

k p

A y k = b; p

yk 0 p

Pero dado que Cp(hpk) es constante para todo pP, el problema anterior es separable por par O-D y puede finalmente expresarse como:
16

Fase 1: Fase de aproximacin lineal (continuacin)

Min : s.a. :

wW pPw k p

k C p (hp ) y k p

A y = b;

y 0
k p

cmo se resuelve este problema?

El valor de la F.O. se minimiza si para cada par O-D, (w W) se *: y k = T asignan todos los viajes Tw a la ruta de menor costo pw p* w Por lo tanto, la Fase 1 (busqueda de direccin) se resuelve calculando las rutas mnimas p* en la red, lo que se puede realizar con gran eficiencia computacional para redes de gran tamao.
17

Fase 1: Fase de aproximacin lineal (final)


Una vez obtenida la solucin en terminos de flujos en rutas: yk = hpk = Tw , se obtiene los respectivos flujos en arcos: p

f ak = ap hpk , a A
pP

Finalmente se determina la direccin ptima de descenso, de mximo cambio local de la funcin Z, en la iteracin k:
k d k = f ak f ak , xa = f ak , k ya = f ak

Solucin factible iteracin k

Solucin auxiliar iteracin k 18

Fase 2: Minimizacin Unidimensional


Encontrar una solucin xk+1 que minimice la funcin Z en la direccin dk : Z(dk) Regin factible

Zm(dk)

xk

xk+1
k k

yk
k

dk k minimiza el valor de Z en la direccin dk en .


19

k +1

= x + ( y x );
k k

0 1

Fase 2: Minimizacin Unidimensional (Continuacin)


Para obtener la nueva solucin debemos resolver:

Min : Z(x ) = Min Z(x + d ) k


k +1 k k k

s.a.:

0 1
k

La nueva solucin es una solucin convexa entre xk y yk ; Por lo tanto ser necesariamente factible:

= 0, x
k

k +1

=x

= 1, x
k

k +1

=y

k
20

Convergencia delAlgoritmo
a) Cota inferior: Dado que la F.O., Z(x), es convexa, debe suceder que:

Z L ( x* ) = Z ( x k ) + Z ( x k ) T ( x * x k ) Z ( x * )
Z(dk) Z(xk) Z(x*)
Z ( xk )T ( x* xk )

Notese que ZL(x*) Z(x*), cuando k

ZL(x*)
xk

Z x* dk
21

Convergencia delAlgoritmo (continuacin)


Dado que yk es un punto extremo del area factible y x* es un punto interior, se cumple que:

Z(xk ) +Z(xk )T ( yk xk ) Z(xk ) +Z(xk )T (x* xk ) Z(x* )


Z(dk) Z(xk) Z(x*) ZL(x*) Notese que: ZL(yk) Z(x*), cuando: k

ZL(yk)

Regin factible xk x*

yk

dk
22

Convergencia delAlgoritmo (continuacin)


De las relaciones anteriores obtenemos que:

ZL ( y ) Z (x )
k *
Por lo tanto cada ZL(yk) constituye una cota inferior al valor mnimo de la transformada de Beckmann Z(x*). Dicha cota inferior es creciente con k y tiende al valor de Z(x*). Sin embargo dicho crecimiento no es monotono. ZL(yk) es el valor de la F.O. correspondiente al problema lineal de la Fase 1 del algoritmo.

23

Convergencia delAlgoritmo (continuacin)


b) Cota superior: Dado que la F.O. , Z(x), es convexa, debe cumplirse que:

Z (x ) Z(x )
k *

Ntese que Z(xk) decrece montonamente con k.

Por lo tanto, el valor ptimo de la transformada de Beckmann queda acotado como sigue:

k{1..n}

Max {Z L ( y )} Z ( x ) Z ( x )
k * k
24

Convergencia delAlgoritmo (continuacin)


Z

Z(xk)
Z(x*)

Porque ZL(yk) no es monotona?

ZL(yk)
k El criterio de parada del algoritmo se pude definir usando como referencia la diferencia entre ambas cotas. Se define un valor, de tal forma que cuando la diferencia de las cotas alcanza dicho valor se supone que se ha alcanzado una aproximacin suficiente a la solucin buscada (asignacin de equilibrio). 25

Descripcin del Algoritmo de Frank-Wolfe:


Paso 1: Inicializacin

i) Hacer : { f a } {0} y calcular los costos correspondientes de flujo libre , ca ( 0) , a A . ii) Dados los costos {ca ( 0)} calcular rutas mnimas sobre la red. iii) Asignar el total de los viajes entre cada par OD, a las { fa0} as rutas mnimas calculadas en (ii). Los flujos obtenidos son un conjunto de flujos iniciales factibles. Use { f a
0

como solucin inicial.


26

Descripcin del Algoritmo de Frank-Wolfe:


Paso 2: Calculo de Solucin Auxiliar

asociados , {c k= 0):

Dado un conjunto de flujos factibles { f } = f


k a

y sus costos obtenidos de la iteracin k (la primera vez

k a

i) Calcular nuevas rutas mnimas sobre la red, usando los costos {c ak } sobre los arcos. vigentes ii) Asignar el total de los viajes entre cada par OD: (Tw ) a las correspondientes rutas mnimas calculadas en (i) y obtener k el correspondiente conjunto de flujos auxiliares f a .

{ }

27

Descripcin del Algoritmo de Frank-Wolfe:


Paso 3: Criterio de Parada

Comprobar si se cumple:

ZL f

( )Z ( f
k

ZL f

( )
k

Z(f
k

Z(f

)
k

(% )

- Si se cumple la condicin, Parar: El conjunto { f a } es la solucin buscada. - Si no se cumple: ir al Paso 4.


28

Descripcin del Algoritmo de Frank-Wolfe:


Paso 4: Minimizacin Unidimensional

Obtener el valor de , resolviendo el siguiente problema:

f k + f k f k Min : Za a a a () a s.a.: 0 1
f k + f k f k a a a

con:

Za =

ca ( x ) dx
29

Descripcin del Algoritmo de Frank-Wolfe:


Paso 5: Actualizacin de Flujos

Recalcular los flujos sobre los arcos y los costos de acuerdo a:

k +1 a

= f +
k a

(f

k a

k a

k +1 a

= ca ( f

k +1 a

)
30

Volver al Paso 2

Potrebbero piacerti anche