Sei sulla pagina 1di 20

Ing.

civil- métodos numéricos IC-343

ASIGNACIÓN DE VIAJES A REDES DE


TRANSPORTE PRIVADO
CONGESTIONADAS: ALGORITMOS

1
Ing. civil- métodos numéricos IC-343

Métodos de Solución del Problema de Equilibrio de Usuarios en


una Red de Transporte
1) Métodos heurísticos (Capítulo 5.1 de Sheffi.)

 Iteración Todo o Nada.


 Promedio “Todo o Nada” últimas iteraciones.
 Asignación Incremental por par O –D.

2) Métodos que usan en el Enfoque de la Programación Matemática.

a) Algoritmo de Frank -Wolfe:

Adaptación del Método del Gradiente

Método iterativo de dos fases para encontrar una solución al

Problema de Optimización Equivalente (P.O.E.) :

FASE I: Determinación de una dirección de descenso de la F.O.


FASE II: Cálculo del avance en la dirección determinada en la fase 1 para minimizar el
valor de la F. O.

FASE I: Se resuelve una aproximación lineal del problema original (P.O.E.), en un punto inicial
dado, (sujeto a las mismas restricciones: solución factible). La solución a esta aproximación,
combinada con la solución anterior define la dirección de búsqueda.

FASE II: Se minimiza el valor de la F. O. dentro del tramo unidimensional factible definido por la
dirección de búsqueda. Determina cuánto moverse en la dirección de búsqueda de modo de
minimizar la función objetivo original.

2
Ing. civil- métodos numéricos IC-343

3
Ing. civil- métodos numéricos IC-343

4
Ing. civil- métodos numéricos IC-343

5
Ing. civil- métodos numéricos IC-343

Descripción Analítica del Algoritmo de Frank-Wolfe


Problema de Optimización Equivalente

Transformada de Beckman Z(X)

Conjunto de restricciones lineales AX = b

Formulación compacta del P.O.E.:

Z(X): Transformada de Bechman


Función no lineal en x, continua, diferenciable y convexa.

A: matriz de (m x n) parámetros (δ ap)


x: vector de ( n x1) variables (flujos en arcos, a ∈ A)
b: vector de ( m x1) elementos (datos de viajes O-D)

Fase 1: Fase de aproximación lineal (búsqueda de dirección)


Dada una solución factible 𝑥 𝑘 , sea 𝑦 𝑘 la solución al siguiente problema de

programación lineal :

6
Ing. civil- métodos numéricos IC-343

ZL(y) corresponde a una aproximación lineal de Z en xk (Plano tangente a Z(x) en xk).

La nueva solución yk será factible para el problema original (P.O.E.) y recibe el nombre

de Solución Auxiliar .
ZL(y) es una función lineal en la variable ( yk).
Notar que: xk, Z( xk) y ∇Z( xk) son constantes .

Por lo tanto:

Minimizar ZL(y) es equivalente a minimizar : z x   y


k k t

Así, la solución auxiliar puede obtener resolviéndose:

Pero recordemos que:

Por lo tanto: z x   c ,, c ,, c 


k t
1 a n
T

 
z x k  Y K   ca xak yak
t
 
aA

7
Ing. civil- métodos numéricos IC-343

Pero el costo total sobre una red puede expresarse en términos de flujos en arcos ,

y ak  f ak , o rutas, y ak  h pk :

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

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

El valor de la valor F.O.se minimizase para cada par si O-D, (w∈W) se asignan todos
𝐾
los viajes Tw a la ruta de menor costo a pw* : 𝑌𝑃∗ =𝑇

Por lo tanto, la Fase 1 (búsqueda de dirección) se resuelve calculando las


rutas mínimas p*p*en la red, lo que se puede realizar con gran eficiencia

computacional para redes de gran tamaño. .

y kp  h p  Tw , se
k
Una vez obtenida la solución en términos de flujos en rutas:
obtiene los respectivos , flujos en arcos:

Finalmente se determina la dirección óptima de descenso, de máximo cambio local de la

:
función Z, en la iteración k

8
Ing. civil- métodos numéricos IC-343

Fase 2: Minimización Unidimensional


Encontrar una solución 𝒙𝒌+𝟏 que minimice la función Z en la dirección𝒅𝒌 :

Para obtener la nueva solución debemos resolver:

La nueva solución es una solución convexa entre xk y yk ; Por lo tanto será


necesariamente factible:

9
Ing. civil- métodos numéricos IC-343

Convergencia del Algoritmo

a) Cota inferior :

Dado que la F.O. Z(x), es , convexa , debe suceder que:

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

:
De las relaciones anteriores obtenemos que:

Por lo tanto cada ZL(yk) constituye una cota inferior al valor ) mínimo de
la transformada de Beckmann Z(x*). Dicha cota inferiores creciente con
es ky y tiende al valor detiende de Z(*x*). ). Sin embargo dicho

crecimiento no es monótono .

ZL (yk) es el valor de la F.O. correspondiente al problema lineal de la Fase 1 del

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

10
Ing. civil- métodos numéricos IC-343

Por lo tanto, el valor óptimo de la transformada de Beckmann

Queda acotado como sigue :

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 aproximación suficiente a la
solución buscada (asignación de equilibrio).

Descripción del Algoritmo de Frank-Wolfe:

Paso 1: Inicialización

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 mínimas sobre la red.
iii) Asignar el total de los viajes entre cada par O–D, a las, las rutas mínimas
calculadas en (ii).Los flujos así obtenidos son un conjunto de flujos iniciales
factibles.

Paso 2: Calculo de Solución Auxiliar

11
Ing. civil- métodos numéricos IC-343

  f
Dado un conjunto de flujos factibles f a
k k
y sus costos asociados, c  obtenidos
k
a
de la iteración k (la primera vez k  0 )
i) Calcular nuevas rutas mínimas sobre la red, usando los costos vigentes c 
k
a
sobre los arcos.
ii) Asignar el total de los viajes entre cada par entre O–D: (Tw ) a las
correspondientes rutas mínimas calculadas en (i) y nimas obtener el
 
correspondiente conjunto de flujos auxiliares f a .
k

Paso 3: Criterio de Parada

i) Comprobar si se cumple :

Paso 4: Minimización Unidimensional

Obtener el valor de λ, resolviendo el siguiente problema:

Con:

Paso 5: Actualización de Flujos

Re calcular los flujos sobre los arcos y los costos de acuerdo a:

12
Ing. civil- métodos numéricos IC-343

Volver al Paso 2.

Método de Linealización de Frank-Wolfe


Solución inicial

Dirección de
mejora

Convergencia

Obtención
incremento

Actualización de
variables

13
Ing. civil- métodos numéricos IC-343

Ejemplo ilustrativo:

Frank-Wolfe Algoritmo – Introducción


Para ilustrar el algoritmo de Frank-Wolfe, considere el ejemplo de demostración del método
más simple con una nueva función objetivo:

Maximizandof    32 x1  1x14  8x2  1x22

Sujetoa, x1  x 2  1
3x1  x 2  7
Y , x1  0, x 2  0

14
Ing. civil- métodos numéricos IC-343

La región factible se muestra.

Sin estas limitaciones, el máximo de se encuentra fácilmente (mediante el


establecimiento de las derivadas parciales iguales a cero) a ser . Pero
¿cuál es la máxima limitada? Usemos como la solución de prueba inicial para el
algoritmo de Frank-Wolfe.

Frank-Wolfe Algoritmo - Aproximación Objetivo


Solución de prueba inicial:

15
Ing. civil- métodos numéricos IC-343

Empezamos la primera iteración mediante el desarrollo de una "aproximación lineal" para ver
de cerca esta solución de prueba. Esto se realiza mediante la evaluación de las derivadas
parciales en (0, 0):

Por lo que esta aproximación es:

Maximizar sujeto a las restricciones originales obtiene la solución


con . Sin embargo puesto que (2, 1) no está cerca

(0, 0) a la aproximación puede no ser una buena en (2, 1). [Nótese que está muy
por debajo .] En lugar de simplemente aceptar (2, 1) como la solución de prueba
siguiente, vamos a comprobar el segmento de recta entre (0, 0) y (2, 1) y elegir el Con el
más grande .

16
Ing. civil- métodos numéricos IC-343

Frank-Wolfe Algoritmo - solución de cambio

La ecuación para el segmento de línea entre (0, 0) y (2, 1) es

Puesto que , , los valores de la línea están

El punto en este segmento de línea que tiene el mayor se encuentra al


maximizar por encima por el procedimiento de búsqueda unidimensional,
que produce .

Por lo tanto la solución de prueba nueva es .

Frank-Wolfe Algoritmo - iteración siguiente


Segunda solución de prueba:

17
Ing. civil- métodos numéricos IC-343

Comenzamos la segunda iteración mediante la evaluación de las derivadas parciales de


en (2, 1):

por lo que la función objetivo aproximar ..

Maximizar sujeto a las restricciones originales obtiene la solución


con Tenga en cuenta que .]

La línea entre (2, 1) y (0, 7) es

Que se maximiza en .

La solución resultante es nuevo juicio .

18
Ing. civil- métodos numéricos IC-343

Frank-Wolfe Algoritmo - iteración final

Solución de prueba Tercero:

La evaluación de las derivadas parciales


en (1.695, 1.914):

19
Ing. civil- métodos numéricos IC-343

Por lo que la función objetivo es aproximar .

Maximizando , o de manera equivalente (después de dividir


por 4,17) , resultados en cada solución en la línea entre (2, 1) y (0, 7)
siendo óptima para este problema de programación lineal. Independientemente de la solución
que se utiliza como el otro extremo de la línea a partir de (1.695, 1.914), que ya sabemos de la
iteración anterior que se maximiza a lo largo de esta línea (1.695, 1.914).

Dado que la solución de prueba no se movió, esto verifica que la solución óptima para nuestro
problema de programación convexa es:

BIBLIGRAFIA:
 http://ssdi.di.fct.unl.pt/mq/Docs/MaterialApoio/OR%20Tutor/np/fw/page1.html
 http://italica.us.es/Pagina%20personal/Tesis/Pre_te/Planif/Algoritmos_resolucion_Fra
nk-wolfe.htm
 Libro de shefi
 Butlding and solving mathematical programming models in engineering and science.

20

Potrebbero piacerti anche