facultad de ciencias exactas. departamento de matem aticas

95
Facultad de Ciencias Exactas. Departamento de Matematicas. Redes de transporte: Analisis de equilibrio y resoluci onnumerica. Trabajo nal realizado por la Srta. Victoria Mar a Orlando para obtener el t tulo de Licenciada en Ciencias Matematicas. Trabajo realizado bajo la direcci on del Dr. Pablo A. Lotito.

Upload: others

Post on 23-Oct-2021

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Facultad de Ciencias Exactas. Departamento de Matem aticas

Facultad de Ciencias Exactas.

Departamento de Matematicas.

Redes de transporte: Analisis de equilibrio y resolucion numerica.

Trabajo final realizado por la Srta. Victoria Marıa Orlando para obtener eltıtulo de Licenciada en Ciencias Matematicas.

Trabajo realizado bajo la direccion del Dr. Pablo A. Lotito.

Page 2: Facultad de Ciencias Exactas. Departamento de Matem aticas

Indice general

1.. Redes de transporte urbano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.1. Representacion en red . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.2. Equilibrio sobre redes de transporte . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.. Conceptos basicos en problemas de minimizacion . . . . . . . . . . . . . . . . . . . . 112.1. Problemas de optimizacion en una variable . . . . . . . . . . . . . . . . . . . . . 12

2.1.1. Problemas sin restricciones . . . . . . . . . . . . . . . . . . . . . . . . . . 122.1.2. Problemas con restricciones . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.2. Problemas de optimizacion multidimensionales . . . . . . . . . . . . . . . . . . . 152.2.1. Problemas sin restricciones . . . . . . . . . . . . . . . . . . . . . . . . . . 152.2.2. Problemas con restricciones . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.3. Algunos problemas de optimizacion especiales . . . . . . . . . . . . . . . . . . . 18

3.. Formulacion del problema como problema de optimizacion . . . . . . . . . . . . . . . 233.1. Notacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233.2. Formulacion del problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243.3. Condiciones de equivalencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263.4. Condiciones de unicidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

4.. Algoritmos de optimizacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314.1. Minimizacion unidimensional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

4.1.1. Metodos de reduccion de intervalos . . . . . . . . . . . . . . . . . . . . . 314.1.2. Metodos de ajuste de curvas . . . . . . . . . . . . . . . . . . . . . . . . . 33

4.2. Minimizacion multivariada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364.2.1. Algoritmos de minimizacion sin restricciones . . . . . . . . . . . . . . . . 374.2.2. Algoritmos de minimizacion con restricciones . . . . . . . . . . . . . . . . 40

4.3. Metodo de combinaciones convexas . . . . . . . . . . . . . . . . . . . . . . . . . 43

5.. Dualidad Lagrangiana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485.1. Conceptos basicos y teoremas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485.2. Propiedades de la funcion dual . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525.3. Metodo de planos cortantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

5.3.1. Aplicacion a problemas de transporte . . . . . . . . . . . . . . . . . . . . 565.3.2. Ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 605.3.3. Desventajas del modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

6.. Modelos de eleccion discretos. Carga de red estocastica . . . . . . . . . . . . . . . . . 656.1. Carga de red estocastica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 686.2. Modelos de carga de red estocastica . . . . . . . . . . . . . . . . . . . . . . . . . 70

6.2.1. Modelos de carga logit . . . . . . . . . . . . . . . . . . . . . . . . . . . . 706.2.2. Modelos de carga probit . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

Page 3: Facultad de Ciencias Exactas. Departamento de Matem aticas

Indice general 3

7.. Equilibrio del usuario estocastico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 827.1. Minimizacion equivalente SUE . . . . . . . . . . . . . . . . . . . . . . . . . . . . 847.2. Solucion algorıtmica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

Page 4: Facultad de Ciencias Exactas. Departamento de Matem aticas

AGRADECIMIENTOS

A mis padres, Jose y Alejandra, por haberme dado todo y confiar siempre en mi.A mi hermano Ignacio, por haberme acompanado desde el principio. A Pedro, por estar

siempre y por los abrazos de gol.A mis abuelos. Si bien algunos ya no estan, de alguna forma estuvieron.A Agustın, por ser mi gran companero y mi sosten en los momentos mas difıciles.A mis amigas, por su aguante a la distancia.A todos los profesores, quienes han marcado mi paso por la universidad.A la educacion publica, por darme la oportunidad de formarme como persona, como estu-

diante y como docente.

Page 5: Facultad de Ciencias Exactas. Departamento de Matem aticas

INTRODUCCION

En la actualidad resulta de gran interes estudiar problemas de asignacion de trafico, ya queel parque automotor se encuentra en constante crecimiento y se vuelve estrictamente necesariorealizar una adecuada planificacion urbana. Ademas, se trata de un importante punto de partidapara estudios mas especıficos y cada vez mas realistas de la situacion.

La cantidad de viajes que tienen lugar en un momento dado en una calle, una interseccion decalles o una lınea de transporte publico en un area urbana depende de las decisiones individualesde cada usuario de la red. Las personas eligen cuando y como realizar un viaje, que medio detransporte usaran (publico o privado), por que camino circularan y hacia que destino iran. Estasdecisiones las toman, en parte, teniendo en cuenta el nivel de congestion de las calles y los sitiosdonde se encuentran las zonas congestionadas. Al mismo tiempo, la congestion en cierto puntodepende del flujo de transito que hay en la zona. Es por esto que resulta de interes estudiar yanalizar como puede modelarse esta relacion entre la congestion y la decision de los viajantes,para obtener de esta manera el patron de flujo que circula por toda la red de transporte.

Las redes de transporte urbano pueden representarse mediante grafos dirigidos, donde cadaarco representa una calle y los nodos representan sus intersecciones. Una red de calles en un areaurbana no tiene una representacion unica, ya que diferentes grafos podrıan ilustrar la mismasituacion. Cada arco tiene asignada una impedancia 1 que afecta al flujo que lo usa. Si los flujoscon los cuales se trabaja involucran personas, se suele usar el termino nivel de servicio en lugarde impedancia. La impedancia de cada arco puede estar representada por diversos factores,tales como el tiempo de viaje, la seguridad, el costo de viaje, la estabilidad de flujos, etc. Sinembargo, la mayorıa de las veces se utiliza el tiempo de viaje.

El planeamiento urbano puede dividirse en dos etapas. Primero se debe definir matematica-mente el escenario como un conjunto de entradas, las cuales se usaran para predecir el patronde flujo presente en la red. Luego este flujo se utilizara para calcular una serie de medidas quecaracterizan al escenario en cuestion. Las entradas mas comunes a tener en cuenta son:

La infraestructura de transporte y servicios, teniendo en cuenta calles, intersecciones ylıneas de transporte publico.

El sistema de transporte y las polıticas de control.

La demanda de viajes.

Durante la primera etapa del analisis se utilizan estas entradas para calcular el flujo a travesde cada componente de la red. Dicho flujo se mide en terminos del numero de unidades de viaje(vehıculos, pasajeros, peatones) que atraviesan esta componente de la red en una unidad detiempo. En esta parte del trabajo se crea una relacion entre el flujo y la congestion y entrela congestion y las decisiones de viaje. La segunda etapa utiliza el patron de flujo dado paracalcular una serie de medidas de interes, tales como:

Medidas de la calidad de servicio, como el tiempo de viaje y el costo de viaje. Estasmedidas afectan directamente a los usuarios de la red.

1 Se trata de una funcion que depende y afecta al flujo que recorre el arco.

Page 6: Facultad de Ciencias Exactas. Departamento de Matem aticas

Caracterısticas de operacion, como por ejemplo ingresos y ganancias, que le interesanprincipalmente a los operadores del sistema.

Subproductos del flujo, como la polucion o los cambios en el valor de la tierra. Estosafectan al ambiente en el cual opera la red.

Medidas de bienestar, como la accesibilidad y la equidad, que pueden afectar indirecta-mente a varios grupos de poblacion.

La dependencia entre el tiempo de viaje por un arco y el flujo que se mueve por el da lugara la nocion de equilibrio sobre una red de transporte. El objetivo del trabajo es estudiar un tipoespecial de equilibrio, llamado Equilibrio del Usuario (UE) o Equilibrio de Wardrop. El estudiodel equilibrio de Wardrop es muy importante, no solo en materia de la planificacion urbana.Muchos sucesos se encuentran gobernados por este tipo de equilibrio y pueden modelarse enbase a el. Por ejemplo, el equilibrio del usuario puede utilizarse en el diseno y la construccionde salidas y refugios de emergencia, en la planificacion a la hora de ubicar los puntos de cargade vehıculos electricos y en la administracion de peajes, por nombrar solo algunos casos.

Existen muchas suposiciones, modelos y algoritmos que sirven para calcular el patron deflujo sobre una red. La base del trabajo sera suponer que todos los usuarios se ajustan a lascondiciones de UE. A partir de esto, se formularan los problemas matematicos correspondien-tes y se estudiaran diversos algoritmos que pueden aplicarse para resolverlos, comparando sueficiencia.

La primera parte del trabajo esta destinada a presentar la representacion en red y el conceptode Equilibrio de Wardrop, tal como se detalla en [1]. Siguiendo en esta lınea se formularanproblemas de optimizacion estandar, tanto para una como para multiples variables, estudiandola existencia y unicidad de soluciones de cada uno de ellos. Luego se formulara el problema deasignacion de trafico como un problema de minimizacion, y se veran diferentes algoritmos quepueden utilizarse para su resolucion. Dichos algoritmos se aplicaran a diversos ejemplos con elobjetivo de comparar su eficiencia. Mas adelante se desarrollara el estudio de problemas dualesy primales, de acuerdo a lo estudiado en [2] y [3]. Para finalizar se trabajara con situacionesque se ajustan un poco mas a la realidad, las cuales dan lugar al concepto de Equilibrio delUsuario Estocastico, desarrollado en [1] y [4].

Page 7: Facultad de Ciencias Exactas. Departamento de Matem aticas

1. REDES DE TRANSPORTE URBANO

1.1. Representacion en red

Las redes de calles se representaran por medio de grafos. Un grafo es un conjunto de nodosy arcos, los cuales conectan dichos nodos. Se trabajara principalmente con grafos dirigidos (esdecir, cada arco posee una direccion) y conectados (se puede ir desde un nodo a cualquier otrosiguiendo alguna secuencia de arcos). En la Figura 1.1 se muestra un grafo con 5 nodos y 10arcos, los cuales tienen asignada una direcicon de flujo. Por ejemplo, el arco 2 representa elflujo desde el nodo 1 hacia el nodo 3, y el arco 3 representa la situacion inversa (el flujo desdeel nodo 3 hacia el nodo 1).

Una red de calles en un area urbana no tiene una representacion unica, ya que diferentesgrafos podrıan ilustrar la misma situacion. Las calles se representaran por medio de arcos y lasintersecciones de calles por medio de nodos.

Cada arco tiene asignada una funcion que depende y afecta al flujo que se mueve por el(impedancia), la cual puede representar costos, tiempos, resistencia electrica, utilidad, etc.

Dado un nodo de origen r y un nodo de destino s, un camino (o ruta) entre r y s es unasecuencia de arcos que se inicia en el nodo de origen y finaliza en el de destino. Definiremosla impedancia de un camino como la suma de las impedancias de cada arco que constituye elcamino.

Se llamara matriz origen-destino (matriz O-D) a la matriz que contiene el flujo que se quiereasignar a cada par de nodos origen-destino. Por ejemplo, si se denota con M = (mij)i,j a estamatriz, la componente mrs contiene el flujo que se mueve entre el nodo r y el nodo s.

Como se dijo anteriormente, la impedancia de cada arco puede representar diferentes ele-mentos. Sin embargo, la mayorıa de las veces se utiliza el tiempo de viaje. Esto se debe princi-palmente a tres factores:

El tiempo de viaje es uno de los principales influyentes en el nivel de flujo.

Las otras medidas que pueden usarse como impedancia se comportan de manera similaral tiempo de viaje.

El tiempo de viaje es mas facil de medir que cualquiera de las otras componentes.

Fig. 1.1: Red dirigida de 5 nodos y 10 arcos. [1]

Page 8: Facultad de Ciencias Exactas. Departamento de Matem aticas

1. Redes de transporte urbano 8

Fig. 1.2: Funcion de rendimiento de arco para un acercamiento a una interseccion de calles senalizadacon un semaforo. [1]

El nivel de servicio ofrecido por una red de transporte depende del uso de la misma. Ob-viamente, si el flujo por una calle aumenta, el tiempo de viaje tambien sera mayor. Es por estoque en lugar de trabajar con una medida de tiempo de viaje constante, es adecuado pensar enuna funcion de rendimiento asociada con cada arco que relacione el tiempo con el flujo. Enla figura 1.2 se muestra un ejemplo de una funcion de rendimiento que describe la situacionen una interseccion de calles donde hay un semaforo. Esta funcion representa tanto el tiempoempleado en viajar hasta el lugar como el tiempo de retraso en la interseccion.

El tiempo de viaje cuando no hay flujo recorriendo el arco se conoce como tiempo de viajecon flujo libre. En este punto un auto no experimenta ningun retraso, ya que no hay ningunotro vehıculo en el arco que pueda interactuar con el y entorpecer su viaje. La unica fuente deretraso que podrıa experimentar corresponde al tiempo de espera en el caso de que el semaforose encuentre en rojo. A medida que aumenta el flujo, el tiempo de viaje tambien aumenta yaque hay mayor densidad de trafico y ademas se producen mas colas cuando un semaforo estaen rojo (con lo cual tambien aumenta el tiempo de espera en la interseccion). Generalmente setrabaja con funciones de rendimiento que se caracterizan por ser asintoticas. Esto se debe a quelas facilidades de transporte tienen cierta capacidad limitada (puede moverse un flujo maximoa traves de ellas). Es por esto que la funcion de rendimiento no esta definida para altos valoresde flujo, ya que estos no pueden ser observados. Cuando el flujo se aproxima a su capacidadmaxima las colas en las intersecciones empiezan a aumentar, obstruyendo el paso y causando,finalmente, que el trafico se detenga.

1.2. Equilibrio sobre redes de transporte

La dependencia entre el tiempo de viaje por un arco y el flujo que se mueve por el da lugara la nocion de equilibrio sobre una red de transporte.

Supongamos que se tiene un nodo de origen y uno de destino conectados por varios caminos,y que ademas se conoce la cantidad de automovilistas que van desde un nodo hacia el otro. Sequiere determinar la distribucion de este flujo por los diferentes caminos. Si todos los viajantesfueran por un mismo camino (el mas corto en ese momento), esta ruta podrıa empezar acongestionarse y llegar a un punto donde ya no sea la mas corta. De esta manera algunosautomovilistas podrıan optar por tomar otro camino, pero este incluso podrıa no ser el mascorto, y ası sucesivamente. Determinar el flujo que se mueve por cada camino involucra unproblema de equilibrio de demanda/rendimiento. La funcion de rendimiento se define de manera

Page 9: Facultad de Ciencias Exactas. Departamento de Matem aticas

1. Redes de transporte urbano 9

independiente para cada arco, relacionando su tiempo de viaje con el flujo que se mueve porel. La demanda especifica la eleccion de caminos por parte de los viajantes, y no se define demanera separada para cada arco.

Dado un grafo que represente a la red de transporte urbano, las funciones de rendimiento dearco asociadas y una matriz O-D, queremos hallar el flujo y el tiempo de viaje correspondientesa cada arco de la red. Este problema se conoce como asignacion de trafico, ya que se busca lamanera de asignar la matriz O-D a la red. Para resolver un problema de asignacion de traficoprimero debe establecerse la regla con la cual los automovilistas eligen el camino de viaje. Esrazonable asumir, por ejemplo, que cada automovilista tomara aquel camino que minimice sutiempo de viaje. Hay que tener presente que el tiempo de viaje por cada arco cambia con elflujo y que el tiempo de varios caminos puede cambiar si se modifica el tiempo de los arcos(ya que un arco puede estar presente en mas de un camino). Una condicion estable se alcanzacuando ningun automovilista puede mejorar su tiempo de viaje cambiando unilateralmente deruta. Esta condicion caracteriza lo que se conoce como Equilibrio del Usuario (UE) o Equilibriode Wardrop. En otras palabras, se dice que un par de nodos O-D esta en UE si el tiempo deviaje por cualquiera de los caminos usados es igual, y ademas es el menor posible (es decir, eltiempo que llevarıa recorrer los otros caminos no usados es mayor).

Esta no es la unica nocion de equilibrio. En principio se asumieron muchas cosas, comopor ejemplo que los usuarios poseen informacion completa de la red (es decir, saben cual esel tiempo de viaje por cada camino y deciden cual tomar) y que todos se comportan de igualmanera. Estas suposiciones podrıan relajarse, considerando que el tiempo de viaje que losusuarios perciben es diferente al tiempo de viaje actual o medido. El tiempo de viaje percibidopodrıa modelarse como una variable aleatoria distribuida entre los usuarios de la red. De estamanera, podrıa pensarse que se alcanza el equilibrio si ningun automovilista cree que puedemejorar su tiempo de viaje cambiando unilateralmente de ruta. Esta definicion caracteriza elequilibrio del usuario estocastico (SUE). El SUE es una generalizacion de UE: si se asume queel tiempo de viaje percibido es muy preciso, entonces ambos equilibrios coinciden. El equilibriodel usuario estocastico se estudiara en los ultimos capıtulos.

Es importante destacar que estos equilibrios se aplican si la demanda puede considerarseestable durante el perıodo de analisis. Como a lo largo del dıa la demanda de viajes puede variar,lo que suele hacerse es estudiar diversos perıodos por separado: hora pico por la manana, horapico por la tarde, mediodıa, etc. En estos perıodos la demanda se considera estable. Cuantomas largo sea el perıodo de tiempo, menor precision tendra esta suposicion.

Ejemplo de UE

Consideremos una red como la de la Figura 1.3(a), con dos nodos que se encuentran conec-tados por dos arcos (que tambien son caminos). El tiempo de viaje por el arco 1 es t1 y por elarco 2 es t2. Llamamos x1 y x2 al flujo por el arco 1 y 2, respectivamente. El flujo total quese mueve entre el origen y el destino es q, donde q = x1 + x2. Las funciones de rendimientot1(x1) y t2(x2) se muestran en la Figura 1.3(b). Si la tasa de viajes es muy chica, puede versegraficamente que conviene ir por el arco 1, ya que mientras q < q′ el tiempo de viaje por estearco es menor. La cantidad q′ de viajes genera que el tiempo de viaje por el arco 1 (con flujo)sea igual al tiempo de viaje con flujo libre por el arco 2. En este punto, un nuevo automovilistapodrıa elegir cualquiera de los dos arcos. Si toma el arco 1, el siguiente usuario elegira el 2 (yaque tendra un tiempo de viaje menor). Si toma el arco 2, el proximo usuario elegira el 1, porel mismo motivo. En los puntos mayores a q = q′ el equilibrio se mantendra si el tiempo deviaje por ambos caminos es el mismo (ya que ambos tendran flujo). Para resolver la asignacionde trafico en este caso, supongamos que es conocido el tiempo de viaje t = t1 = t2 entre elorigen y el destino. La cantidad de flujo que debe asignarse a cada arco se calculara mediante

Page 10: Facultad de Ciencias Exactas. Departamento de Matem aticas

1. Redes de transporte urbano 10

Fig. 1.3: Equilibrio en una red simple. (a) Red de dos nodos y dos arcos; (b) Funciones de rendimientopara cada arco; (c) Si el flujo es mayor que q′, el tiempo de viaje por ambos arcos es igual. [1]

la inversa de la funcion de demanda: x1 = t−11 (t) y x2 = t−1

2 (t). Graficamente, esto consiste entrazar una recta horizontal en t, como muestra la Figura 1.3(c). Este metodo tambien puedeusarse si q < q′, por lo tanto ahora el problema consiste en hallar t.

El tiempo de viaje en equilibrio se puede determinar creando una nueva curva de rendimientoen funcion del flujo que se mueve entre el origen y el destino. Esta curva puede obtenersesumando de manera horizontal las funciones de rendimiento de arco, como muestra la funciont(q) en la Figura 1.4. Construyendola de esta manera, la funcion de rendimiento O-D aseguraque para cada valor del tiempo de viaje, el flujo total O-D es la suma de los flujos por cadaarco. En resumen, los pasos serıan los siguientes: dado el flujo q, calcular t(q). Una vez que setiene este tiempo, se puede resolver graficamente marcando la recta horizontal correspondientey obteniendo ası el flujo especıfico por cada arco. La desventaja del metodo grafico es que nopuede usarse en redes muy grandes.

Fig. 1.4: La funcion de rendimiento t(q) se usa para hallar el tiempo de viaje O-D, t, y el flujo enequilibrio, x1 y x2. [1]

Page 11: Facultad de Ciencias Exactas. Departamento de Matem aticas

2. CONCEPTOS BASICOS EN PROBLEMAS DE MINIMIZACION

En este capıtulo se vera como puede formularse y resolverse un problema de minimiza-cion, cuales son las condiciones necesarias para que exista una solucion y cuales garantizan suunicidad.

Resolver un problema de optimizacion consiste en encontrar un conjunto de variables x1, x2, ..., xIque minimicen la funcion z(x1, x2, ..., xI), llamada funcion objetivo, bajo ciertas restricciones.A cada una de estas restricciones se la puede expresar como una funcion de las variables yamencionadas, por ejemplo, mediante g(x1, x2, ..., xI). El conjunto de los valores x1, x2, ..., xI quesatisfacen dichas condiciones se denomina region factible. De esta manera, podemos escribir unproblema de minimizacion con J restricciones en su forma estandar como:

mın z(x1, x2, ..., xI)

s.a :

g1(x1, x2, ..., xI) ≥ b1

g2(x1, x2, ..., xI) ≥ b2

...

gJ(x1, x2, ..., xI) ≥ bJ .

(2.1)

Esta notacion podrıa simplificarse usando notacion vectorial. Si x = (x1, x2, ..., xI), entoncesel problema se reduce a:

mın z(x)

s.a :

gj(x) ≥ bj. para j = 1, 2, ..., J.

(2.2)

En la forma estandar, las desigualdades son del tipo “mayor o igual que”. Si se tiene “menoro igual que” puede multiplicarse la restriccion por -1 e invertir el orden de la desigualdad, y sise tiene una igualdad simplemente se expresa como una restriccion de mayor o igual y una demenor o igual.

La solucion x* de este problema es un valor factible de x que minimiza la funcion objetivo,es decir:

z(x*) ≤ z(x).

para cualquier x factible y gj(x*) ≥ bj ∀j ∈ (donde es el conjunto de todas las restricciones(1,2,...J)).

Podrıa no existir ningun valor de x que satisfaga todas las restricciones, en cuyo caso elproblema de optimizacion no tendrıa solucion. Sin embargo, generalmente se asumira que existeun valor de x cumpliendo las condiciones. Ademas, se trabajara con problemas que tienen unnumero finito de mınimos, y que alcanzan dichos mınimos en un valor finito. Para esto, esnecesario basarse en ciertas suposiciones iniciales que se veran en adelante.

Page 12: Facultad de Ciencias Exactas. Departamento de Matem aticas

2. Conceptos basicos en problemas de minimizacion 12

Fig. 2.1: Puntos estacionarios de z(x). [1]

2.1. Problemas de optimizacion en una variable

Supongamos que se tiene un problema de minimizacion en una sola variable. En esta seccionse veran cuales son las condiciones de primer y segundo orden de estos problemas, es decir, lascondiciones de existencia y unicidad de soluciones. Estas condiciones tendran ciertas diferenciassegun se trate de problemas con o sin restricciones.

2.1.1. Problemas sin restricciones

Una condicion necesaria para que una funcion z(x) tenga un mınimo en x = x∗ es que laderivada de z(x) evaluada en x∗ se anule:

dz(x∗)

dx= 0. (2.3)

Esta es una condicion de primer orden para un mınimo: si hay un mınimo en x∗, se debecumplir (2.3). Sin embargo, este hecho no asegura que en x∗ haya efectivamente un mınimo.Como se ve en la Figura 2.1, allı la derivada se anula en cuatro puntos. Dos de ellos sonmınimos locales, uno es un maximo local y otro un punto de inflexion. Aquellos puntos dondedz(x)/dx = 0 se llaman puntos estacionarios de z(x). Para demostrar que un punto estacionarioes efectivamente un mınimo, se debe demostrar que es un mınimo local (y no un maximo ni unpunto de inflexion) y luego que es global.

Una condicion suficiente para que un punto estacionario sea un mınimo local es que la funcionsea estrictamente convexa 1 en un entorno del punto estacionario. Esta condicion significa quecualquier recta que conecte dos puntos cualesquiera de la funcion debe quedar completamentepor encima de la misma. En otras palabras, una funcion es estrictamente convexa si cumple:

z[θx1 + (1− θ)x2] < θz(x1) + (1− θ)z(x2). (2.4)

para dos puntos cualquiera (distintos) x1 y x2 y cualquier valor de θ ∈ (0, 1). Esta situacion seilustra en la Figura 2.2(a).

En el caso de una funcion difrenciable podemos decir que es estrictamente convexa si unaaproximacion lineal de la funcion queda siempre por debajo de ella. Es decir, z(x) es estricta-mente convexa en x1 si:

1 De hecho, para que el mınimo sea unico es suficiente que la funcion sea convexa. La convexidad estricta sepide para que el minimizador (valor que minimiza la funcion) sea unico.

Page 13: Facultad de Ciencias Exactas. Departamento de Matem aticas

2. Conceptos basicos en problemas de minimizacion 13

Fig. 2.2: Convexidad estricta demostrada de dos maneras. [1]

z(x1) +dz(x1)

dx(x2 − x1) < z(x2). (2.5)

para cualquier x2 6= x1. Este caso se muestra en la Figura 2.2(b).Si una funcion es dos veces diferenciable en un entorno del punto estacionario, entonces es

estrictamente convexa si su segunda derivada es positiva en x∗:

d2z(x∗)

dx2> 0. (2.6)

Si una funcion tiene mas de un mınimo local es difıcil demostrar cual de ellos es global, ya queprimero se deberıan hallar todos los mınimos locales y luego comparar los valores de la funcionen cada uno de ellos. Por lo tanto, serıa interesante poder determinar si un mınimo local esunico (y en ese caso, obviamente, serıa tambien mınimo global). Para probar dicha unicidad essuficiente probar que z(x) es convexa en todos los valores de x (o sea, es globalmente convexa).

La condicion de convexidad es la misma que (2.4), solo que reemplazando el signo “ <′′ por“ ≤′′. Las otras caracterizaciones tambien son analogas.

En resumen, es suficiente probar que z(x) es estrictamente convexa en x = x∗ y convexa encualquier otro punto para establecer que x∗ minimiza la funcion (y que no es un maximo ni unpunto de inflexion). Ademas debe verificarse la condicion de primer orden (condicion necesaria):la derivada tiene que anularse en x∗.

2.1.2. Problemas con restricciones

En los problemas de minimizacion con restricciones puede pasar que la derivada de la funcionobjetivo no se anule en el mınimo. Por lo tanto, debemos generalizar la condicion de primerorden para incluir este tipo de casos. En la Figura 2.3 se muestran algunos ejemplos de unafuncion z(x) definida sobre el intervalo a′ ≤ x ≤ a′′. En el primer caso el punto mınimo estadentro de la region y allı sı se anula la derivada. En la segunda figura, el mınimo se alcanza enx∗ = a′ y en la tercera en x∗ = a′′, y en ninguno de los dos casos se anula la derivada.

Page 14: Facultad de Ciencias Exactas. Departamento de Matem aticas

2. Conceptos basicos en problemas de minimizacion 14

Si el mınimo se alcanza en una restriccion del tipo x ≥ (·), entonces z(x) es creciente en x∗,y si se alcanza en una restriccion del tipo x ≤ (·) entonces z(x) sera decreciente en x∗.

Este ejemplo se puede escribir de forma estandar como:

mın z(x)

s.a :(2.7a)

x ≥ a′ (2.7b)

−x ≥ −a′′. (2.7c)

Las restricciones pueden expresarse como gj(x) ≥ bj, tomando g1(x) = x, b1 = a′, g2(x) =−x y b2 = −a′′.

Teniendo el problema en esta forma, la situacion que se analizo antes podrıa resumirseen que, si el mınimo x∗ se alcanza en la frontera de la region factible, entonces dz(x∗)/dx ydgj(x

∗)/dx deben tener el mismo signo. Como estas derivadas son iguales a un escalar, entoncesla condicion anterior podrıa escribirse como:

dz(x∗)

dx= uj

dgj(x∗)

dx∀j. (2.8)

donde uj es un escalar no negativo. Esta variable puede definirse, para cada restriccion, de lasiguiente manera: Si la restriccion j no es de igualdad (gj(x

∗) > bj), entonces uj = 0. En casocontrario, uj ≥ 0. En definitiva, se cumple ∀j ∈ :

[bj − gj(x∗)]uj = 0.

Usando esto, (2.8) se puede reemplazar por:

dz(x∗)

dx=∑j

ujdgj(x

∗)

dx. (2.9)

Las condiciones de primer orden ahora pueden expresarse como:

dz(x∗)

dx=∑j

ujdgj(x

∗)

dx(2.10a)

uj ≥ 0, uj[bj − gj(x∗)] = 0, gj(x∗) ≥ bj para j = 1, 2, ..., J. (2.10b)

Las condiciones de segundo orden son similares a las del caso sin restricciones, pero conun agregado. Al igual que antes, la convexidad estricta en un entorno de x∗ asegura que estepunto es un mınimo local. Sin embargo, la convexidad global de la funcion objetivo no asegurala unicidad. La condicion que debe agregarse es que la region definida por las restricciones,llamada region factible, sea convexa. De esta manera puede asegurarse la unicidad del mınimo.

Resumiendo, las condiciones necesarias para la existencia de un mınimo estan dadas por lasecuaciones (2.10), y las condiciones suficientes abarcan la convexidad estricta en un entornodel punto, la convexidad de la funcion objetivo y la convexidad de la region factible (lo cualgarantiza que no habra otro mınimo local).

Page 15: Facultad de Ciencias Exactas. Departamento de Matem aticas

2. Conceptos basicos en problemas de minimizacion 15

Fig. 2.3: Mınimo con restricciones. (a): Mınimo dentro de la region. (b): Mınimo en la frontera (sobreuna restriccion del tipo x ≥ (·)). (c): Mınimo en la frontera (sobre una restriccion del tipox ≤ (·)). [1]

2.2. Problemas de optimizacion multidimensionales

En los problemas multidimensionales la funcion objetivo esta dada por z(x), donde x =(x1, x2, ..., xI) es un vector de longitud I. Las restricciones son de la forma gj(x) ≥ bj, ∀j ∈ ,donde = (1, 2, ..., J) es el conjunto de ındices de las restricciones y cada bj es un escalar.Al igual que en el caso de una variable, se analizaran por separado los problemas sin y conrestricciones, y sus respectivas condiciones de primer y segundo orden.

2.2.1. Problemas sin restricciones

En este caso, las condiciones de primer orden para que haya un mınimo en x = x* sonsimilares al caso unidimensional, ya que se requiere que el gradiente de z(x) respecto de x seanule en x*. Dicho gradiente esta dado por:

∇xz(x) =

(∂z(x)

∂x1

,∂z(x)

∂x2

, ...,∂z(x)

∂xI

). (2.11)

con lo cual pedir que se anule en x* equivale a pedir que cada componente lo haga, es decir,que

∂z(x*)

∂xi= 0 para i = 1, 2, ..., I. (2.12)

Esta es solo una condicion necesaria para un mınimo, con lo cual solo establece que en x* hayun punto estacionario.

Para probar que un punto estacionario x* es un mınimo local, nuevamente es suficiente de-mostrar que z(x) es estrictamente convexa en un entorno de x*. Las condiciones de convexidadson analogas al caso unidimensional:

z [θx′ + (1− θ)x′′] < θz(x′) + (1− θ)z(x′′). (2.13)

donde x′ y x′′ son dos valores de x diferentes, y θ ∈ (0, 1). Esta condicion esta ilustrada en laFigura 2.4.

Tambien puede usarse la nocion de convexidad estricta que establece que una aproximacionlineal de la funcion debe quedar por debajo de ella, es decir:

z(x′) +∇z(x′) · (x′′ − x′)T < z(x′′). (2.14)

Page 16: Facultad de Ciencias Exactas. Departamento de Matem aticas

2. Conceptos basicos en problemas de minimizacion 16

Fig. 2.4: Convexidad estricta de una funcion en dos dimensiones. [1]

Existe otra forma de probar la convexidad estricta de una funcion, analizando sus deriva-das segundas. Mas especıficamente, dada la funcion z(x) consideramos su Hessiano o matrizHessiana:

∇2z(x) =

∂2z(x)

∂x21

∂2z(x)∂x1∂x2

· · · ∂2z(x)∂x1∂xI

∂2z(x)∂x2∂x1

∂2z(x)

∂x22...

. . ....

∂2z(x)∂xI∂x1

· · · ∂2z(x)

∂x2I

(2.15)

Si el Hessiano es definido positivo, entonces la funcion z(x) es estrictamente convexa. Esdecir, si el Hessiano es definido positivo en x*, entonces este punto es un mınimo local de z(x).Recordemos que una matriz H es definida positiva si el producto h · H · hT es positivo paracualquier vector h 6= ~0. Tambien puede verse que una matriz simetrica (como es el caso delHessiano) es definida positiva si sus autovalores son positivos o si sus menores son positivos.Ademas, si una matriz es diagonal y sus elementos diagonales son positivos, entonces es definidapositiva.

Al igual que en el caso unidimensional, se requiere que la funcion sea convexa en todo puntopara que el mınimo sea unico.

2.2.2. Problemas con restricciones

Como sucede en los problemas de optimizacion en una variable, el mınimo puede alcanzarseen un punto donde el gradiente de la funcion objetivo no se anula. Veamos, primero con unejemplo, como deben modificarse las condiciones de pirmer orden en este caso.

Consideremos un problema bidimensional como el que muestra la Figura 2.5(a) , donde laregion factible esta determinada por seis restricciones y la funcion objetivo z(x) esta ilustradamediante sus curvas de nivel. El problema es:

mın z(x1, x2)

s.a :

gj(x1, x2) ≥ bj; j = 1, 2, ..., 6.

(2.16)

Puede deducirse mirando la figura que el mınimo se alcanza en el punto x* = (x∗1, x∗2)

que corresponde a la interseccion de las restricciones 2 y 3. En este punto estas restriccionessatisfacen la igualdad, es decir, g2(x∗1, x

∗2) = b2 y g3(x∗1, x

∗2) = b3.

Page 17: Facultad de Ciencias Exactas. Departamento de Matem aticas

2. Conceptos basicos en problemas de minimizacion 17

Fig. 2.5: (a): Curvas de nivel de la funcion objetivo y region factible. (b): El gradiente de la funcionobjetivo queda dentro del cono generado por las restricciones de igualdad. [1]

La direccion perpendicular a cada curva del tipo g(x1, x2) = cte en algun punto x′ = (x′1, x′2)

esta dada por el gradiente de la funcion en ese punto:

∇g(x′) =

(∂g(x′)

∂x1

,∂g(x′)

∂x2

).

Para problemas con restricciones las condiciones de primer orden corresponden a que elgradiente de la funcion objetivo en el punto analizado, es decir, ∇z(x*), debe estar entre losgradientes de las restricciones sobre las cuales se encuentra x* (en este caso, entre ∇g2(x*))y ∇g3(x*)). En la Figura 2.5(b) se ve claramente que esto se cumple para el ejemplo. Allıtambien se muestran las direcciones opuestas a cada gradiente. Recordemos que la direcciondel gradiente es la direccion de maximo crecimiento de la funcion (y por lo tanto, la direccionopuesta al gradiente es la de mayor descenso). Teniendo en cuenta esto, analicemos algunassituaciones. Supongamos que −∇z(x*) esta debajo de −∇g3(x*), entonces z(x) podrıa seguirdecreciendo si se mueve hacia la derecha a traves de g3. Algo similar sucede si −∇z(x*) estapor encima de −∇g2(x*), ya que la funcion objetivo podrıa decrecer deslizandose hacia arribapor g2. En definitiva, solo cuando −∇z(x*) esta entre −∇g2(x*) y −∇g3(x*) podemos ase-gurar que la funcion objetivo no puede seguir decreciendo y por lo tanto se encuentra en unmınimo. Esta condicion es una generalizacion del caso de una variable, donde buscabamos quelas derivadas tengan el mismo signo. Podemos pensar que los gradientes de las restriccionesdonde se encuentra el mınimo forman un cono, y que el gradiente de la funcion objetivo debeestar dentro de el.

Esta condicion puede expresarse tambien en terminos de combinaciones lineales (con coefi-cientes no negativos) de los gradientes de las restricciones de igualdad. Basicamente, se debecumplir:

∇z(x*) = u2∇g2(x*) + u3∇g3(x*).

donde u2 y u3 son escalares no negativos asociados con la segunda y la tercera restriccion,respectivamente. Esta condicion se puede escribir en forma expandida como:

∂z(x*)

∂xi= u2

∂g2(x*)

∂xi+ u3

∂g3(x*)

∂xipara i = 1, 2.

Generalicemos esta condicion para problemas del tipo:

mın z(x)

s.a :

gj(x) ≥ bj ∀j ∈ .

Page 18: Facultad de Ciencias Exactas. Departamento de Matem aticas

2. Conceptos basicos en problemas de minimizacion 18

Se define una variable uj para cada restriccion, que sera no negativa si la j-esima restricciones de igualdad en x* y sera uj = 0 en caso contrario.

Ahora podemos escribir las condiciones de primer orden como:

∂z(x*)

∂xi=∑j

uj∂gj(x*)

∂xipara i = 1, 2, ..., I. (2.17)

y

uj ≥ 0, uj[bj − gj(x*)] = 0, gj(x*) ≥ bj ∀j ∈ . (2.18)

Las coniciones (2.17) y (2.18) se conocen como condiciones de Kuhn-Tucker (KT). Lasvariables auxiliares uj se llaman variables duales o multiplicadores de Lagrange. La condicionuj[bj − gj(x*)] = 0, ∀j ∈ se llama condicion de complementariedad inactiva.

En (2.17) se muestra la condicion de que el gradiente de la funcion objetivo, en el mınimo, sedebe poder expresar como combinacion lineal no negativa de los gradientes de las restricciones deigualdad. En (2.18) se establece que los coeficientes de la combinacion lineal son efectivamenteno negativos, y que son cero para las restricciones que no son de igualdad. Por ultimo tambienestablece que, obviamente, la solucion optima debe ser factible.

Hay casos donde las condiciones KT no se satisfacen en el mınimo. Sin embargo, si elconjunto factible es convexo, es seguro que esto no ocurrira. Ademas, esta condicion asegurarala unicidad del mınimo (condicion de segundo orden).

En conclusion, para que x* sea un mınimo global es necesario que el conjunto factible seaconvexo, que z(x) sea convexa para todo x factible y que z(x) sea estrictamente convexa enx*.

2.3. Algunos problemas de optimizacion especiales

Se presentaran a continuacion ciertos problemas de minimizacion con restricciones que secomportan de una manera particular. El objetivo es mostrar diferentes tecnicas para hallar lascondiciones de primer orden que seran necesarias en capıtulos siguientes.

Restricciones de no negatividad

Supongamos que queremos resolver:

mın z(x) (2.19a)

sujeto a:

xi ≥ 0 ∀i = 1, 2, ..., I. (2.19b)

Razonando de igual manera que en los casos con restricciones generales, sabemos que lasolucion puede ocurrir en un valor positivo de x (en cuyo caso, ∇z(x*) = 0) o en la frontera dela region factible, donde algun x∗i = 0 (y el gradiente no se anula necesariamente). Considerandoestas situaciones, las condiciones de primer orden pueden escribirse como:

x∗i∂z(x*)

∂xi= 0 y

∂z(x*)

∂xi≥ 0 para i = 1, 2, ..., I. (2.20)

Obviamente tambien debe satisfacerse la condicion original xi ≥ 0 ∀i = 1, 2, ..., I.

Page 19: Facultad de Ciencias Exactas. Departamento de Matem aticas

2. Conceptos basicos en problemas de minimizacion 19

Restricciones lineales de igualdad

Se trata de problemas del tipo:

mın z(x) (2.21a)

sujeto a:∑i

hijxi = bj ∀j = 1, ..., J. (2.21b)

donde hij es una constante. Las condiciones de KT para este problema son las siguientes:

∂z(x*)

∂xi=∑j

ujhij para i = 1, ..., I. (2.22a)

∑i

hijx∗i = bj para j = 1, ..., J. (2.22b)

En el punto solucion todas las restricciones cumplen la igualdad, las condiciones de com-plementariedad inactiva se satisfacen automaticamente y las variables duales pueden tenercualquier signo (a diferencia del caso donde las restricciones son del tipo “mayor o igual que”y deben ser no negativas).

Para hallar las condiciones de primer orden puede usarse un metodo que involucra a losmultiplicadores de Lagrange. La idea es armar una funcion auxiliar que recibe el nombre deLagrangiano, y utiliza a las variables originales x = (x1, ..., xI) y las variables duales u =(u1, ..., uJ). El Lagrangiano para el problema (2.21) esta dado por:

L(x,u) = z(x) +∑j

uj

(bj −

∑i

hijxi

). (2.23)

La ventaja de esta nueva formulacion es que el punto estacionario del Lagrangiano coincidecon el mınimo del problema con restricciones, y obviamente resulta mas facil calcular los puntosestacionarios del Lagrangiano. Simplemente debemos buscar las raıces de ∇x,uL(x,u). Es decir,se buscan x* y u* tales que:

∇xL(x*,u*) = 0. (2.24a)

y∇uL(x*,u*) = 0. (2.24b)

Puede verse que las condiciones (2.24) son iguales a las condiciones KT (2.22), con losmultiplicadores de Lagrange ocupando el mismo rol que las variables duales.

Para esto, primero analicemos (2.24a). Sea 1 ≤ k ≤ I:

∂L(x,u)

∂xk=

∂xkz(x) +

∂xk

[∑j

(ujbj − uj

∑i

hijxi

)]

=∂

∂xkz(x) +

∂xk

(∑j

ujbj

)︸ ︷︷ ︸

0

− ∂

∂xk

(∑j

uj∑i

hijxi

)

=∂

∂xkz(x)−

∑j

ujhkj.

(2.25)

Page 20: Facultad de Ciencias Exactas. Departamento de Matem aticas

2. Conceptos basicos en problemas de minimizacion 20

Al pedir que ∇xL(x*,u*) = 0 se requiere que

∂L(x*,u*)

∂xi= 0 ∀i.

por lo tanto, segun (2.25), debe ser:

∂z(x*)

∂xi=∑j

u∗jhij para i = 1, ..., I. (2.26)

obteniendo ası la primera condicion KT.Con (2.24b) ocurre algo similar, ya que:

∂L(x,u)

∂uk=

∂ukz(x)︸ ︷︷ ︸0

+∂

∂uk

[∑j

(ujbj − uj

∑i

hijxi

)]

=∂

∂uk

(∑j

ujbj

)− ∂

∂uk

(uj∑i

hijxi

)= bk −

∑i

hikxi.

(2.27)

La condicion ∇uL(x*,u*) = 0 determina que debe ser

∂L(x*,u*)

∂ui= 0.

con lo cual segun (2.27) se obtiene:∑i

hijx∗i = bj para j = 1, ..., J. (2.28)

que es justamente (2.22b)

Restricciones lineales de igualdad y no negatividad

El problema general es de la forma:

mın z(x) (2.29a)

sujeto a:∑i

hijxi = bj; j = 1, ..., J. (2.29b)

xi ≥ 0 i = 1, 2, ..., I. (2.29c)

Para hallar las condiciones de primer orden, primero formulamos el Lagrangiano:

L(x,u) = z(x) +∑j

uj

(bj −

∑j

hijxi

). (2.30)

Luego se debe hallar el punto estacionario del Lagrangiano sujeto a xi ≥ 0; con i = 1, ..., I.Para hallarlo se deben seguir las ecuaciones (2.20), con lo cual las condiciones son las siguientes:

Page 21: Facultad de Ciencias Exactas. Departamento de Matem aticas

2. Conceptos basicos en problemas de minimizacion 21

x∗i∂L(x*,u*)

∂xi= 0 y

∂L(x*,u*)

∂xi≥ 0 ∀i. (2.31a)

∂L(x*,u*)

∂uj= 0 ∀j. (2.31b)

Ademas se siguen requirendo las condiciones de no negatividad.Podemos escribir de manera explıcita las condiciones de primer orden para problemas con

restricciones de igualdad y no negatividad de la siguiente manera:

x∗i

(∂z(x*)

∂xi−∑j

u∗jhij

)= 0 ∀i. (2.32a)

∂z(x*)

∂xi−∑j

u∗jhij ≥ 0 ∀i. (2.32b)

∑i

hijx∗i = bj ∀j. (2.32c)

x∗i ≥ 0 ∀i. (2.32d)

Problemas de optimizacion lineales

Este tipo de problemas se caracteriza porque tanto la funcion objetivo como las restriccionesson funciones lineales de x. De manera general, puede escribirse un problema lineal (LP) como:

mın∑i

cixi (2.33a)

s.a: ∑i

hijxi ≥ bj ∀j. (2.33b)

donde ci y hij son constantes y las sumas se realizan desde i = 1 hasta i = I.Los problemas lineales son muy utilizados debido a que son muy faciles de resolver. Esto se

debe a que las soluciones nunca se encuentran en el interior de la region factible, sino que estanen su frontera. Ademas, si existe una solucion, esta siempre se encontrara en una “esquina”de laregion factible. De esta manera, en lugar de buscar el mınimo en la region completa, simplementese debe analizar el valor de la funcion objetivo en cada una de sus esquinas. Esta propiedadpuede verse ilustrada en la Figura 2.6(a) , donde se muestra la region factible y las curvasde nivel de la funcion objetivo correspondientes a un problema de optimizacion lineal. Pararesolver problemas lineales se utiliza el metodo Simplex, el cual se encarga de recorrer todaslas esquinas de la region factible.

En algunos casos existen muchos mınimos (como se ve en la Figura 2.6(b) ), ya que enlos problemas lineales no se aplica la condicion de convexidad. De todas maneras, alguno deestos mınimos se encuentra en la intersecicon de varias restricciones, con lo cual tambien puedeencontrarse un mınimo recorriendo solo las esquinas de la region factible.

Page 22: Facultad de Ciencias Exactas. Departamento de Matem aticas

2. Conceptos basicos en problemas de minimizacion 22

Fig. 2.6: Problemas lineales en dos variables. (a): Solucion en una esquina de la region factible. (b):Multiples mınimos. [1]

Page 23: Facultad de Ciencias Exactas. Departamento de Matem aticas

3. FORMULACION DEL PROBLEMA COMO PROBLEMA DEOPTIMIZACION

Como se menciono en un principio, el problema de asignacion de trafico consiste en averiguarcomo se distribuye el flujo sobre una red. En este trabajo el estudio se desarrolla suponiendoque cada viajante busca minimizar su tiempo de viaje, y que la distribucion se hace de acuerdoal equilibrio de Wardrop.

En redes pequenas se vio con un ejemplo que el patron de flujo en UE puede determinarsemediante un metodo grafico, pero el problema surge cuando contamos con muchos pares O-Dy una gran cantidad de arcos. En estos casos, veremos que los problemas pueden resolverseutilizando un metodo de minimizacion equivalente. La solucion de este problema es un patronde flujo en UE.

Para que esta nueva formulacion sea util, el problema debe tener una unica solucion (quedebe satisfacer las condiciones de equilibrio) y ademas debe ser relativamente facil de resolver.

En este capıtulo se vera como formular este problema equivalente y se analizaran sus pro-piedades. Mas adelante se presentaran los diferentes metodos de resolucion.

3.1. Notacion

La red se representara mediante un grafo dirigido, y la notacion a utilizar es la siguiente:

N = Conjunto de nodos numerados.

A = Conjunto de arcos numerados. En algunos casos los arcos se nombran por su nodode origen y de destino. Por ejemplo, el arco m→ n suele llamarse arco mn.

R= Conjunto de centroides de origen (es decir, los nodos donde se origna el flujo).

S = Conjunto de centroides de destino (es decir, los nodos hacia donde se dirige el flujo).

Krs= Conjunto de caminos que unen el nodo de origen r con el de destino s (r ∈ R ys ∈ S ).

qrs= Tasa de viajes entre r y s. Por lo tanto, se denota con q a la matriz O-D, y cadaentrada es qrs.

xa= Flujo que recorre el arco a ∈ A .

ta= Tiempo de viaje por el arco a ∈ A . Como el tiempo de viaje depende del flujo, enrealidad ta = ta(xa). Por lo tanto, ta(xa) es la funcion de rendimiento del arco a.

f rsk = Flujo por el camino k que une el nodo r con el nodo s (Puede escribirse simplementefk si se aclara que k ∈ Krs).

crsk = Tiempo por el camino k que une el nodo r con el nodo s (Puede escribirse simple-mente ck si se aclara que k ∈ Krs).

Page 24: Facultad de Ciencias Exactas. Departamento de Matem aticas

3. Formulacion del problema como problema de optimizacion 24

Observacion: R ∩ S 6= ∅, ya que algunos nodos pueden funcionar como origen y comodestino de diferentes viajes.

El tiempo de viaje por un camino es la suma de los tiempos de viaje por los arcos que loforman. Matematicamente, este resultado puede escribirse como:

crsk =∑a∈A

taδrsa,k ∀k ∈ Krs, ∀r ∈ R, ∀s ∈ S . (3.1a)

donde δrsa,k = 1 si el arco a forma parte del camino k que conecta el par O-D r−s 1 y δrsa,k = 0en caso contrario. Usando esta misma notacion se puede expresar el flujo por cierto arco a enfuncion del flujo por camino:

xa =∑r

∑s

∑k

f rsk δrsa,k ∀a ∈ A . (3.1b)

Es decir, el flujo por el arco a es la suma de los flujos que recorren los caminos de loscuales forma parte a. Las ecuaciones (3.1a) y (3.1b) se conocen como relaciones de incidenciaarco-camino.

Las notaciones anteriores pueden expresarse tambien en su forma vectorial de la siguientemanera:

x=(..., xa, ...).

t=(..., ta, ...).

frs=(..., f rsk , ...).

f=(..., frs, ...).

crs=(..., crsk , ...).

c=(..., crs, ...).

∆ = Matriz de incidencia arco-camino, donde sus entradas son δrsa,k. Generalmente estamatriz se escribe como una matriz en bloques relacionados con cada para O-D. Es decir:∆ = (...,∆rs, ...), donde ∆rs es la matriz de incidencia arco-camino para el par O-D r− s.El numero de filas de ∆rs es igual al numero de arcos de la red, y el numero de columnascorresponde a la cantidad de caminos que unen r con s. El elemento en la fila a y columnak de ∆rs es δrsa,k.

Usando esta notacion podemos reescribir las relaciones de incidencia arco-camino:

c = t ·∆ y x = f ·∆T . (3.2)

3.2. Formulacion del problema

El problema de asignacion de equilibrio consiste en hallar el flujo por arco x que satisfaceel criterio de UE, cuando todas las entradas de origen-destino q fueron asignadas a la redde manera apropiada. Este patron de flujo por arco se puede hallar resolviendo el siguienteproblema (conocido como Transformacion de Beckmann’s):

1 Se denotara con r − s al par O-D (r, s).

Page 25: Facultad de Ciencias Exactas. Departamento de Matem aticas

3. Formulacion del problema como problema de optimizacion 25

mın z(x) =∑a

∫ xa

0

ta(ω) dω (3.3a)

s.a: ∑k

f rsk = qrs ∀r, s. (3.3b)

f rsk ≥ 0 ∀k, r, s. (3.3c)

Tambien forman parte del problema las restricciones:

xa =∑r

∑s

∑k

f rsk δrsa,k ∀a. (3.3d)

La ecuacion (3.3b) es una restriccion de conservacion de flujo, y expresa que el flujo que semueve por todos los caminos que conectan cada par O-D debe ser igual a la tasa de viajes entredichos nodos. La restriccion (3.3c) se agrega simplemente para que los flujos sean no negativosy el problema tenga sentido.

A partir de (3.3d) podemos observar que el flujo que se mueve por un arco depende del flujopor caminos (es decir, x=x(f)). De esta manera, se obtiene:

∂xa(f)

∂fmnl

=∂

∂fmnl

∑r

∑s

∑k

f rsk δrsa,k = δmna,l . (3.4)

ya que∂frsk∂fmnl

= 0 si r − s 6= m− n o si k 6= l. La ecuacion (3.4) implica que la derivada del

flujo que se mueve por el arco a respecto del flujo que se mueve por el camino l es igual a 1 siel arco a pertenece al camino l y 0 en otro caso. Esta relacion es importante y se usara cuandoestudiemos las condiciones de primer y segundo orden del problema (3.3)

En este desarrollo se estan asumiendo dos cosas: por un lado, que el tiempo de viaje por unarco depende solo del flujo que se mueve por el. Esto muchas veces no sucede, pero el analisisde estas situaciones no son el objetivo en este trabajo. Por otro lado, tambien se asume que lasfunciones de rendimiento de arco son positivas y crecientes (esto tiene sentido, ya que el tiempode viaje aumenta si aumenta el flujo). Estas suposiciones pueden expresarse como:

∂ta(xa)

∂xb= 0 ∀a 6= b. (3.5a)

∂ta(xa)

∂xa> 0 ∀a. (3.5b)

Veamos, con un ejemplo, que la solucion de la Transformacion de Beckmann’s satisface lascondiciones de UE. Este hecho se probara formalmente en la siguiente seccion.

Ejemplo

Consideremos una red como la de la Figura 3.1(a) , formada por dos caminos (que sontambien arcos) que conectan el par O-D. Las funciones de rendimiento estan dadas por:

t1 = 2 + x1 (3.6a)

t2 = 1 + 2x2. (3.6b)

Entre el origen y el destino se mueven 5 unidades de flujo, es decir:

q = x1 + x2 = 5. (3.6c)

Page 26: Facultad de Ciencias Exactas. Departamento de Matem aticas

3. Formulacion del problema como problema de optimizacion 26

La condicion de equilibrio se puede expresar como:

t1 ≤ t2 si x1 > 0 y t1 ≥ t2 si x2 > 0. (3.6d)

En este ejemplo podrıa verificarse por inspeccion que, en equilibrio, ambos caminos sonutilizados. Por lo tanto, la ultima ecuacion puede escribirse simplemente como

t1 = t2. (3.6e)

De esta manera, el problema se reduce a resolver un sistema de cuatro ecuaciones ([3.6a],[3.6b], [3.6c] y [3.6e]) con cuatro incognitas (x1, x2, t1 y t2). La solucion de este sistema es:

x1 = 3 unidades de flujo

x2 = 2 unidades de flujo

t1 = t2 = 5 unidades de tiempo.

Veamos ahora que si se formula la Transformacion de Beckmann’s y se resuelve dicho pro-blema, la solucion a la que se llega es la misma.

Para este ejemplo, el problema queda formulado de la siguiente manera:

mın z(x) =

∫ x1

0

(2 + ω) dω +

∫ x2

0

(1 + 2ω) dω

sujeto a:x1 + x2 = 5

x1, x2 ≥ 0.

Para resolverlo, una opcion es hacer el reemplazo x2 = 5−x1. Ahora el problema a resolveres:

mın z(x1) =

∫ x1

0

(2 + ω) dω +

∫ 5−x1

0

(1 + 2ω) dω (3.7a)

sujeto a:x1 ≥ 0 y 5− x1 ≥ 0. (3.7b)

Una forma de simplificar la tarea es resolver el problema sin restricciones, y chequear luegoque su solucion las satisfaga. Si se resuelven las integrales se obtiene

z(x1) =3

2x2

1 − 9x1 + 30.

Calculando su derivada e igualandola a cero, encontramos que el mınimo de esta funcion seencuentra en x∗1 = 3. Como este punto cumple las restricciones, obtuvimos entonces la solucionde [3.7]. Debido a la condicion de conservacion de flujo, debe ser x∗2 = 2, con lo cual la soluciondel problema de optimizacion coincide con la solucion de las ecuaciones de equilibrio.

3.3. Condiciones de equivalencia

El objetivo de esta seccion es demostrar de manera formal que el problema (3.3) es equi-valente al problema de asignacion. Para esto, es suficiente probar que la solucion de (3.3)satisface las condiciones de equilibrio. Si probamos que las condiciones de primer orden de laTransformacion de Beckmann’s son iguales a las condiciones de equilibrio, entonces estarıamosdemostrando que las condiciones de equilibrio se satisfacen en cualquier mınimo local. De esta

Page 27: Facultad de Ciencias Exactas. Departamento de Matem aticas

3. Formulacion del problema como problema de optimizacion 27

Fig. 3.1: Ejemplo de equilibrio. [1]

manera, al hallar un mınimo del problema (3.3) se esta encontrando tambien un patron de flujoen equilibrio.

A la hora de encontrar las condiciones de primer orden de la transformacion de Beckmann’sdebemos observar que se trata de un problema con restricciones lineales de igualdad y nonegatividad. Por lo tanto, procediendo como indica la Seccion 2.3, debemos formular primeroel Lagrangiano:

L(f,u) = z[x(f)] +∑rs

urs

(qrs −

∑k

f rsk

). (3.8a)

donde urs denota la variable dual asociada con la restriccion de conservacion de flujo. Lascondiciones de primer orden del problema (3.3) son equivalentes a las condiciones de primerorden del Lagrangiano (3.8a), ya que L(x,u) se debe minimizar con respecto a flujos por caminono negativos,

f rsk ≥ 0 ∀k, r, s. (3.8b)

Siguiendo los razonamientos de la Seccion 2.3, tenemos que el Lagrangiano en un puntoestacionario debe cumplir las siguientes condiciones:

f rsk∂L(f,u)

∂f rsk= 0 y

∂L(f,u)

∂f rsk≥ 0 ∀k, r, s. (3.9a)

∂L(f,u)

∂urs= 0 ∀r, s. (3.9b)

Ademas, deben satisfacerse las condiciones de no negatividad f rsk ≥ 0 ∀r, s. 2

Las condiciones (3.9) se pueden calcular explıcitamente. Primero puede verse que (3.9b)corresponde a la condicion de conservacion de flujo:

2 Se omiten los asteriscos para no sobrecargar la notacion.

Page 28: Facultad de Ciencias Exactas. Departamento de Matem aticas

3. Formulacion del problema como problema de optimizacion 28

0 =∂L(f,u)

∂umn

=∂

∂umnz[x(f)]︸ ︷︷ ︸0

+∂

∂umn

∑rs

urs

(qrs −

∑k

f rsk

)

=∂

∂umnumn

(qmn −

∑k

fmnk

)(ya que si m,n 6= r, s la derivada es cero)

= qmn −∑k

fmnk .

(3.10)

Por lo tanto,

∂L(f,u)

∂urs= 0⇔ qrs −

∑k

f rsk = 0⇔∑k

f rsk = qrs. (3.11)

Resta calcular las condiciones en (3.9a).

∂L(f,u)

∂fmnl

=∂

∂fmnl

z[x(f)] +∂

∂fmnl

∑rs

urs

(qrs −

∑k

f rsk

). (3.12)

Analicemos la primera parte de la suma, donde puede utilizarse la regla de la cadena:

∂fmnl

z[x(f)] =∑b∈A

∂z(x)

∂xb

∂xb∂fmnl︸ ︷︷ ︸δmnb,l

=∑b∈A

(∂

∂xb

∑a

∫ xa

0

ta(ω) dω . δmnb,l

)=∑b∈A

tbδmnb,l

= cmnl .

(3.13)

En otras palabras, es el tiempo de viaje por un camino en particular.Para calcular la otra derivada, primero veamos que:

∂f rsk∂fmnl

=

{1 si r = m, s = n y k = l.

0 en otro caso.(3.14)

Por lo tanto, como qrs es constante y urs no es una funcion de fmnl , se obtiene:

∂fmnl

∑rs

urs

(qrs −

∑k

f rsk

)= −umn. (3.15)

Reemplazando (3.13) y (3.15) en la derivada del Lagrangiano, se obtiene finalmente:

∂L(f,u)

∂fmnl

= cmnl − umn. (3.16)

De esta manera, las condiciones de primer orden (3.9) para el problema de minimizacion(3.3) pueden escribirse explıcitamente de la siguiente manera:

Page 29: Facultad de Ciencias Exactas. Departamento de Matem aticas

3. Formulacion del problema como problema de optimizacion 29

f rsk (crsk − urs) = 0 ∀k, r, s. (3.17a)

crsk − urs ≥ 0 ∀k, r, s. (3.17b)∑k

f rsk = qrs ∀r, s. (3.17c)

f rsk ≥ 0 ∀k, r, s. (3.17d)

Las condiciones (3.17c) y (3.17d) expresan simplemente las restricciones de conservacion deflujo y de no negatividad, que ya se sabe deben satisfacerse en un mınimo. Restarıa analizar(3.17a) y (3.17b). Estas condiciones se cumplen para cualquier camino entre cualquier par denodos O-D. Supongamos que trabajamos con el camino k que une el nodo r con el nodo s, haydos situaciones posibles. Por un lado, el flujo por este camino puede ser igual a cero (f rsk = 0).En este caso se estarıa cumpliendo automaticamente (3.17a), y para que se cumpla (3.17b)es necesario que el tiempo de viaje por ese camino sea mayor o igual que el multiplicador deLagrange para este par O-D (crsk ≥ urs). Por otro lado, si el flujo por el camino k es positivo(f rsk > 0), para que se cumpla (3.17a) debe ser crsk = urs, en cuyo caso tambien se satisface(3.17b). En cualquier caso, el multiplicador de Lagrange de un par O-D dado es menor o igualque el tiempo de viaje por cualquier camino que conecta dichos nodos. Por lo tanto urs es elmenor tiempo de viaje por camino entre el origen r y el destino s.

Con este analisis ahora es claro que las condiciones (3.17) satisfacen el principio del Equi-librio de Wardrop: si un camino no lleva flujo es porque su tiempo de viaje es mayor o igualque el menor tiempo de viaje posible, y si un camino tiene flujo asignado es porque el tiempode viaje por el es el menor posible. De esta manera, ningun conductor estarıa incentivado acambiar de ruta, ya que de hacerlo podrıa experimentar un mayor tiempo de viaje.

Se ha demostrado que las condiciones de primer orden de la Transformacion de Beckmann’sson equivalentes a las condiciones de UE, y con esto podemos concluir que en cualquier mınimolocal o punto estacionario de (3.3) se cumpliran las condiciones de equilibrio. Debido a esto,al problema (3.3) se lo suele llamar problema UE o minimizacion equivalente UE. Se vera acontinuacion que este problema tiene un unico punto estacionario, el cual resulta ser un mınimo.

3.4. Condiciones de unicidad

Para probar que el problema de minimizacion equivalente UE tiene solucion unica, se debeprobar que la funcion objetivo (3.3a) es estrictamente convexa en un entorno de x* (y convexaen otro lado) y que la region factible definida por (3.3b) y (3.3c) es un conjunto convexo. Estoultimo vale automaticamente debido a que las restricciones lineales de igualdad siempre definenun conjunto factible convexo.

La convexidad de la funcion objetivo se demostrara de acuerdo al flujo por arco (y no porcamino). Para probar esto, es necesario ver que el Hessiano de

z(x) =∑a

∫ xa

0

ta(ω) dω.

es definido positivo. De esta manera, queda demostrado que la funcion es estrictamente convexa(y en particular, convexa). Para esto calculamos las derivadas:

∂z(x)

∂xm= tm(xm). (3.18)

∂2z(x)

∂xn∂xm=∂tm(xm)

∂xn=

{∂tn(xn)∂xn

si m = n

0 en otro caso.(3.19)

Page 30: Facultad de Ciencias Exactas. Departamento de Matem aticas

3. Formulacion del problema como problema de optimizacion 30

donde esto utlimo vale por la condicion (3.5a). De esta manera obtenemos que el Hessiano esuna matriz diagonal:

∇2z(x) =

dt1(x1)dx1

0 0 · · ·0 dt2(x2)

dx20 · · ·

0 0. . . · · ·

...... . . . dtA(xA)

dxA

(3.20)

donde ademas sus elementos diagonales son positivos (por la condicion (3.5b)). Por lo tanto, esuna matriz definida positiva y la funcion objetivo z(x) es estrictamente convexa. Esto, sumadoa la convexidad de la region factible, nos indica que el problema UE tiene un unico mınimo.Por lo tanto, un unico patron de flujo que minimiza el problema (3.3), y como se vio antes estepatron de flujo se encuentra en UE. De esta manera, si se quiere encontrar el patron de flujoen equilibrio que circula sobre la red, simplemente se debe resolver (3.3).

La convexidad estricta se probo en terminos del flujo por arco. El problema no es convexocon respecto al flujo por caminos, y por lo tanto las condiciones de equilibrio no son unicas altrabajar de esta manera.

Por otro lado, la convexidad respecto al flujo por arco se probo usando el Hessiano dela funcion objetivo, pero podrıa haberse hecho usando propiedades de funciones convexas: lafuncion objetivo es suma de las integrales de funciones crecientes y dichas integrales son siempreestrictamente convexas. Ademas la suma de funciones estrictamente convexas tambien lo es,obteniendo ası lo que buscabamos.

Page 31: Facultad de Ciencias Exactas. Departamento de Matem aticas

4. ALGORITMOS DE OPTIMIZACION

En este capıtulo se veran algunos algoritmos que pueden utilizarse para resolver diferentesproblemas de minimizacion. Primero se presentan algoritmos de optimizacion para problemasen una variable, y luego algunos de estos se utilizan para resolver los casos donde aparecenfunciones multivaluadas.

4.1. Minimizacion unidimensional

Supongamos que se quiere minimizar una funcion en una variable z(x), que cumple conciertas condiciones de regularidad: el mınimo se encuentra dentro de un intervalo finito [a, b], lafuncion es continua y esta definida de manera unica en todo el intervalo. Bajo estas condiciones,z(x) tiene un mınimo finito para algun x dentro del intervalo de interes. Ademas vamos a asumirque z(x) tiene un unico mınimo sobre el intervalo [a, b].

Se presentaran dos tipos de algoritmos: metodos de reduccion de intervalos y metodos queutilizan una curva de ajuste cuadratica.

4.1.1. Metodos de reduccion de intervalos

Los metodos de reduccion de intervalos involucran procedimientos iterativos que se enfocan,en cada paso, en un intervalo de interes. En la n-esima iteracion, este intervalo es una porcionde [a, b], denotada [an, bn], que se elige de manera tal que contenga al punto mınimo x∗. Encada paso el intervalo se analiza y se divide en dos: el intervalo que no contiene a x∗ y el quesı lo contiene. La parte donde no se encuentra el mınimo se descarta, y la otra se utiliza comointervalo de interes para el siguiente paso.

El procedimiento empieza determinando un intervalo inicial [a, b] (es decir, a0 = a y b0 = b),que se va reduciendo hasta obetener una buena aproximacion para x∗.

Para entender mejor la reduccion de intervalos, consideremos In la longitud del intervalo enla iteracion n. Definimos entonces rn = In+1/In, que corresponde a la proporcion de reducciondel intervalo en la n-esima iteracion. Por lo general, se suele tomar una cantidad constantern = r, ya que en principio no hay nada que nos indique que los metodos van a “comportarsebien” y se reduciran en cada paso.

Los algoritmos de reduccion de intervalos terminan cuando la longitud del intervalo deinteres es menor que cierta constante predetermianda. De esta manera, x∗ se calcula comoel punto medio x del intervalo resultante despues de N iteraciones: IN = [aN , bN ]. Es decir,

x = aN+bN

2. A su vez, si se establece que el mınimo se calculara con una tolerancia de ±ε (es

decir, que x∗ ∈ (x − ε, x + ε)), puede calcularse con anterioridad cuantas iteraciones deberanrealizarse para alcanzar la aproximacion al mınimo. Este numero esta dado por:

N =

⌊log 2ε− log I0

log r+ 1

⌋. (4.1)

donde I0 es la longitud del intervalo inicial.Van a presentarse dos metodos de reduccion de intervalos, que se diferencian entre sı por

los criterios utilizados para descartar intervalos.

Page 32: Facultad de Ciencias Exactas. Departamento de Matem aticas

4. Algoritmos de optimizacion 32

Golden section

La reduccion de intervalos en este metodo se basa en comparar los valores de z(x) en dospuntos, xnL y xnR (xnL < xnR), que se encuentran dentro del intervalo de interes actual, [an, bn].La eleccion de dichos puntos es lo que caracteriza a este metodo.

Supongamos que queremos minimizar una funcion que posee un unico mınimo z(x) sobreun intervalo [an, bn]. Tomamos dos puntos interiores al intervalo, xnL y xnR. Si z(xnL) > z(xnR),como la funcion tiene un unico mınimo, este debe estar “a la derecha”de xnL (es decir, x∗ > xnL).De esta manera, el intervalo [an, xnL] puede descartarse, terminando ası la iteracion n. En laiteracion n+1, el intervalo de interes sera [an+1, bn+1], donde an+1 = xnL y bn+1 = bn. El procesosigue de la misma manera, buscando dos puntos interiores al intervalo y evaluando la funcionen ellos. Si la funcion hubiera sido tal que z(xnR) > z(xnL), entonces en intervalo a descartarserıa [xnR, b

n] y en la iteracion n+ 1 el intervalo de interes serıa [an+1, bn+1] = [an, xnL].Solo restarıa ver que regla se utiliza para elegir los puntos xnL y xnR, dado el intervalo [an, bn].

Lo que se busca es tener que calcular la funcion z(x) en la menor cantidad de puntos posibles.Por lo tanto, se utiliza uno de los puntos de la iteracion anterior (coincidira con uno de losextremos del intervalo actual), ya que allı ya fue calculada la funcion y solo debera hacerse uncalculo adicional. En la Figura 4.1 se muestra este procedimiento, donde entre la iteracion n yla n + 1 solo se busco un nuevo punto (xn+1

R ), ya que el otro estaba disponible de la iteracionanterior (xn+1

L = xnR). La sucesion de puntos interiores se puede obtener utilizando una reduccionconstante del intervalo r = 0,618 (mas precisamente, r = 1

2(√

5−1)). De esta manera, los puntosinteriores se toman de manera tal que xnR se encuentra a 0,618 veces la longitud del intervaloa la derecha de an y xnL se encuentra a 0,618 veces la longitud del intervalo a la izquierda debn. La cantidad 1

2(√

5− 1) se conoce como “seccion dorada”(Golden section) y de ahı deriva elnombre del algoritmo.

Este algoritmo requiere como entradas la funcion objetivo, los extremos del intervalo inicialy la precision requerida. Como resultado, arroja una estimacion del optimo x, la precisionrealmente obtenida 1

2(bN − aN) y la cantidad N de iteraciones que se realizaron. Esto ultimo

podrıa calcularse previamente segun la ecuacion (4.1).

Biseccion

En algunos casos, la derivada de la funcion objetivo es facil de calcular y el metodo deBiseccion aprovecha esta ventaja. Como asumimos que la funcion tiene un unico mınimo, sa-bemos que es monotona a ambos lados del mınimo. En otras palabras, dz(x)

dx< 0 para x < x∗ y

dz(x)dx

> 0 para x > x∗.

Sea [an, bn] el intervalo actual y xn su punto medio. Si dz(xn)dx

< 0, entonces x∗ > xn, y porlo tanto se descarta el intervalo [an, xn]. De esa manera, el intervalo de interes para la siguiente

iteracion sera [xn, bn]. Si dz(xn)dx

> 0, entonces x∗ < xn, y la busqueda seguira en el intervalo[an, xn]. El radio de reduccion para este metodo es r = 0,5, y puede usarse (4.1) para calcular lacantidad de iteraciones necesarias para alcanzar la precision requerida. Ademas tambien puedeestablecerse un criterio de convergencia para que, una vez alcanzado, el algoritmo termine.

Puede verse mediante diversos ejemplos que la tasa de convergencia del metodo de bisecciones casi el doble que el de golden section. Sin embargo, biseccion requiere que la derivada de z(x)se evalue en cada iteracion, algo que muchas veces no es sencillo. En esos casos en preferibleutilizar golden section. Si la derivada es sencilla de calcular, biseccion es mas adecuado debidoa que converge mas rapido.

Page 33: Facultad de Ciencias Exactas. Departamento de Matem aticas

4. Algoritmos de optimizacion 33

Fig. 4.1: Reduccion de intervalos realizada por el metodo de Golden Section. [1]

Ejemplo

Supongamos que quiere hallarse el mınimo de la funcion z(x) = 3x2 − 4x + 1, con unaprecision de 0.001 y un intervalo inicial [0,2]. Se puede calcular previamente el numero deiteraciones requeridas utilizando la formula (4.1) con r = (

√5 − 1)/2 para el caso de golden

section, resultando ser N = 15, y con r = 0,5 para biseccion, resultando ser N = 10. Ambosmetodos se programaron en MATLAB, obteniendo los resultados que se muestran en las Tablas4.1 y 4.2.

Como se dijo anteriormente, biseccion requiere menos iteraciones para alcanzar la precisionrequerida, con lo cual conviene usar este metodo siempre y cuando la derivada se pueda obtenerfacilmente.

Se concluye de los resultados que la funcion z(x) alcanza su mınimo en x∗ ' 0,666. Estopodıa obtenerse facilmente derivando la funcion e igualando a cero, de donde se obtiene x∗ =46' 0,666.

4.1.2. Metodos de ajuste de curvas

Cuando la funcion a minimizar no solo tiene un unico mınimo sino que tambien es relati-vamente suave, pueden usarse metodos de ajuste de curvas para hallar el mınimo, los cualesson mas eficientes que los de reduccion de intervalos. Estos metodos trabajan mejorando elpunto solucion actual en cada iteracion. Las caracterısticas de la funcion en el ultimo punto(o puntos) se utilizan para generar una funcion que aproxime a z(x). El nuevo punto se toma,como veremos mas adelante, en el mınimo de esta aproximacion.

Los metodos de ajuste de curvas generan una sucesion de puntos x1, ..., xN que converge almınimo x∗. Cada punto se genera aplicando algun procedimiento algorıtmico al punto anterior,

Page 34: Facultad de Ciencias Exactas. Departamento de Matem aticas

4. Algoritmos de optimizacion 34

n xL xR Precision x

0 0.7639 1.2361 11 0.4721 0.7639 0.61802 0.7639 0.9443 0.38203 0.6525 0.7639 0.23614 0.5836 0.6525 0.14595 0.6525 0.6950 0.09026 0.6262 0.6525 0.05577 0.6525 0.6687 0.03448 0.6687 0.6788 0.02139 0.6625 0.6687 0.013210 0.6687 0.6726 0.008111 0.6664 0.6687 0.005012 0.6649 0.6664 0.003113 0.6664 0.6673 0.001914 0.6658 0.6664 0.001215 7.3314e-04 0.6665

Tab. 4.1: Resultados con Golden Section.

n an bn Precision xn

0 0 2 1 11 0 1 0.5000 0.50002 0.5000 1 0.2500 0.75003 0.5000 0.7500 0.1250 0.62504 0.6250 0.7500 0.0625 0.68755 0.6250 0.6875 0.0313 0.65636 0.6563 0.6875 0.0156 0.67197 0.6563 0.6719 0.0078 0.66418 0.6641 0.6719 0.0039 0.66809 0.6641 0.6680 0.0020 0.666010 0.6660 0.6680 9.7656e-04 0.6670

Tab. 4.2: Resultados con Biseccion.

y el algoritmo termina cuando se alcanza un criterio de convergencia. Dicho criterio puededeterminarse de acuerdo a diferentes reglas. Las principales se basan en que la solucion satisfagacierta precision. Por ejemplo, el algoritmo puede terminar cuando la contribucion marginal deuna nueva iteracion es relativamente chica. Es decir, el algoritmo termina si

| z(xn−1)− z(xn) |≤ κ.

donde κ es una constante predeterminada (tolerancia). Otra constante que puede utilizarse parachequear la convergencia es

κ′ =z(xn−1)− z(xn)

z(xn−1).

En otros casos, el algoritmo puede terminar cuando los puntos son cercanos, es decir, si|xn−xn−1| ≤ κ′′ (donde κ′′ es alguna otra constante predeterminada). La cercanıa de cualquiersolucion particular al mınimo se puede chequear utilizando la derivada de z(xn) en xn. Si estaderivada es cercana a cero, el algoritmo termina.

El metodo de convergencia elegido depende de la funcion a minimizar, el algoritmo que seutilice y el contexto en el cual se resuelve el problema. A continuacion se veran algunos de losalgoritmos de ajuste de curvas mas utilizados.

Metodo de Newton

Este metodo aproxima a la funcion z(x) en cada iteracion por un ajuste cuadratico en elpunto actual, xn. La curva ajustada, z(x) esta dada por:

z(x) = z(xn) +dz(xn)

dx(x− xn) +

1

2

d2z(xn)

dx2(x− xn)2. (4.2)

Esta curva es una parabola, que coincide con z(x) en xn hasta la segunda derivada. La

siguiente solucion, xn+1, esta ubicada en el punto que minimiza a z(x) (es decir, donde dz(x)dx

= 0).Este punto esta dado por:

xn+1 = xn − dz(xn)/dx

d2z(xn)/dx2. (4.3)

Page 35: Facultad de Ciencias Exactas. Departamento de Matem aticas

4. Algoritmos de optimizacion 35

La ecuacion (4.3) especifica la regla con la cual se elige xn+1 a partir de xn. La formula (4.2)solo se utiliza para fundamentar esto ultimo, ya que no debe calcularse ni evaluarse en ningunpaso del algoritmo.

El metodo de Newton es muy eficiente, pero requiere que z(x) sea dos veces diferenciable.Ademas, la primera y segunda derivada se deben evaluar en cada iteracion, y esto en algunoscasos puede resultar muy costoso en terminos computacionales.

Metodo de falsa posicion

Este metodo es muy similar al de Newton. La diferencia es que aquı no se utiliza la segundaderivada de z(x), sino que se trabaja con una aproximacion de ella. Esta aproximacion seobtiene a partir de la primera derivada evaluada en xn−1 y xn:

d2z(xn)

dx2' dz(xn−1)/dx− dz(xn)/dx

xn−1 − xn. (4.4)

Esta expresion puede ponerse en lugar de la segunda derivada en (4.3), y obtener de estamanera el paso algorıtmico para el metodo de falsa posicion. Este metodo se puede usar cuandola segunda derivada no esta disponible, o es difıcil de calcular.

Metodo de ajuste cuadratico

Este metodo no utiliza derivadas, y se basa en tres puntos: x1, x2 y x3. En la n-esimaiteracion estos puntos son un subconjunto de la serie de puntos solucion x1, ..., xn. Al igual quelos casos anteriores, el nuevo punto solucion es el mınimo de la curva de ajuste, y esta dadopor:

xn+1 =1

2

(x22 − x2

3)z(x1) + (x23 − x2

1)z(x2) + (x21 − x2

2)z(x3)

(x2 − x3)z(x1) + (x3 − x1)z(x2) + (x1 − x2)z(x3). (4.5)

El conjunto de tres puntos que se usara en la siguiente iteracion esta formado por xn+1 ydos puntos elegidos entre x1, x2 y x3 de manera tal que minimicen el valor de z(x). Estos puntosse etiquetan x1, x2 y x3 y el proceso se repite.

Dada una funcion, la eleccion del metodo de ajuste de curvas depende de la complejidadque se presente a lo hora de calcular las derivadas. Si el calculo es sencillo se utiliza el metodode Newton, mientras que el ajuste cuadratico se utiliza cuando incluso la primera derivadaes difıcil de evaluar. En general, los metodos de ajuste de curvas son mas rapidos que los dereduccion de intervalos cuando se aplican a funciones relativamente suaves. Ademas, puedenutilizarse aun cuando no se puede definir claramente un intervalo que contenga al mınimo (porejemplo, cuando la funcion se debe minimizar sin ninguna restriccion).

Ejemplo

Supongamos que quiere hallarse el mınimo de la funcion z(x) = 2x3 + 3x2 − 12x + 5 en elintervalo [0, 4]. Para el metodo de Newton se utiliza x0 = 0, para falsa posicion se toman x0 = 0y x1 = 0,5, y para el metodo de ajuste cuadratico los tres puntos iniciales son x1 = 0, x2 = 0,5y x3 = 1. En todos los casos el criterio de convergencia utilizado es | z(xn−1)− z(xn) |≤ κ conκ = 0,001. Los tres algoritmos se programaron en MATLAB, y arrojaron los resultados que sedetallan en las Tablas 4.3 , 4.4 y 4.5. Los valores se expresan con 4 decimales, ya que ası losmuestra MATLAB, pero si se quieren visualizar resultados mas exactos puede recurrirse a loscomandos format long (trabaja con punto fijo y 14 decimales) o format longE (trabaja con 15decimales y forma exponencial).

Page 36: Facultad de Ciencias Exactas. Departamento de Matem aticas

4. Algoritmos de optimizacion 36

n xn | z(xn−1)− z(xn) |0 01 2 42 1.2000 10.62403 1.0118 0.37484 1.0000 0.00125 1.0000 1.8860e-08

Tab. 4.3: Resultados con Newton.

n xn | z(xn−1)− z(xn) |0 01 0.5 52 1.3333 0.92593 0.9412 1.04334 0.9940 0.03045 1.0001 3.2215e-04

Tab. 4.4: Resultados con Falsa posicion.

n xn | z(xn−1)− z(xn) |1 02 0.53 1 24 1.0833 0.06375 0.9949 0.06346 1.0000 2.3399e-04

Tab. 4.5: Resultados con Ajuste cuadratico.

Se concluye de esta manera que la funcion z(x) alcanza su mınimo en el intervalo [0, 4] enel punto x∗ = 1.

4.2. Minimizacion multivariada

Trataremos de minimizar funciones convexas no lineales en muchas variables. Los algoritmosque se presentaran son todos metodos de descenso. Esto significa que el algoritmo genera unpunto xn+1 = (xn+1

1 , ..., xn+1I ) a partir de xn = (xn1 , ..., x

nI ) tal que z(xn+1) < z(xn).

El paso algorıtmico puede escribirse en forma estandar como:

xn+1 = xn + αndn. (4.6a)

donde dn es un vector de direccion de descenso (dn1 , dn2 , ..., d

nI ) y αn es un escalar no negativo,

llamado tamano de movimiento o paso de movimiento. La formula anterior significa que, en elpunto xn se busca una direccion dn en la cual la funcion es (localmente) decreciente. Luego, αndetermina cuanto se avanza sobre dn hasta alcanzar el proximo punto xn+1. Cuando se ejecutala ecuacion (4.6a), se debe actualizar cada componente del vector de variables, es decir, debehacerse:

xn+1i = xni + αnd

ni para i = 1, 2, ..., I. (4.6b)

Esta iteracion algorıtmica se usa en todos los metodos de minimizacion sin restricciones.Estos metodos difieren entre si por la regla que utilizan para hallar las direcciones de descenso.El paso a realizarse en dicha direccion se determina de manera tal que la funcion objetivodisminuya su valor.

Cuando la funcion objetivo debe minimizarse sujeta a ciertas restricciones el algoritmo semodifica, ya que una direccion puede ser de descenso pero infactible, y ademas el tamano delpaso a realizar puede verse limitado por la misma region factible.

Page 37: Facultad de Ciencias Exactas. Departamento de Matem aticas

4. Algoritmos de optimizacion 37

4.2.1. Algoritmos de minimizacion sin restricciones

Los criterios de convergencia utilizados para que el algoritmo termine son muy similaresa los que se vieron en el caso unidimensional. Por ejemplo, uno de los criterios se basa en lacontribucion marginal de iteraciones sucesivas. Es decir, el algoritmo termina si:

z(xn−1)− z(xn) ≤ κ.1 (4.7a)

Tambien el algoritmo puede terminar si las componentes del gradiente son cercanas a cero,por ejemplo, si:

maxi

{∣∣∣∣∂z(xn)

∂xi

∣∣∣∣} ≤ κ. (4.7b)

En otros casos, los criterios se basan en el cambio de las variables entre iteraciones sucesivasy el algoritmo termina si:

maxi

{|xni − xn−1

i |xn−1i

}≤ κ. (4.7c)

o si: ∑i

(xni − xn−1i )2 ≤ κ. (4.7d)

En todos estos criterios, κ es un nivel de tolerancia predeterminado (diferente en cada caso)que se elige especialmente para cada problema y establece la precision que se busca alcanzar.

El metodo de descenso mas pronunciado

Se sabe que el gradiente de una funcion indica la direccion en la cual esta crece mas rapida-mente. Aprovechando esta caracterıstica, en este metodo se utiliza, como direccion de descensomas pronunciado, la direccion opuesta al gradiente. Por su parte, la longitud del paso se deter-mina de manera tal que minimice z(x) en esta direccion. Dicha longitud esta determinada porlos puntos donde z(x) deja de decrecer y comienza a crecer.

La iteracion basica esta dada por:

xn+1 = xn + αn[−∇z(xn)]. (4.8)

donde αn es el paso optimo. El gradiente puede hallarse de manera analitica, o si las derivadasson difıciles de evaluar puede utilizarse la siguiente aproximacion numerica:

∂z(xn)

∂xi'z(..., xni−1, x

ni + ∆xi, x

ni+1, ...)− z(..., xni , ...)

∆xi. (4.9)

donde ∆xi es un pequeno intervalo asociado con la i-esima componente de x. De esta manera,evaluar el gradiente en xn involucra I calculos de z(x) ademas de z(xn).

Para hallar el valor de αn se debe minimizar la funcion

z[xn + α(−∇z(xn))]. (4.10)

con respecto a α, sujeto a que α > 0. El valor de α que minimice (4.10) es αn. Para resolvereste problema unidimensional puede usarse cualquiera de los metodos de ajuste de curvaspresentados en la Seccion 4.1. Los metodos de reduccion de intervalos no son apropiados en

1 No es necesario tomar el modulo porque la diferencia siempre es positiva, ya que el nuevo punto xn se buscosobre una direccion de descenso.

Page 38: Facultad de Ciencias Exactas. Departamento de Matem aticas

4. Algoritmos de optimizacion 38

Fig. 4.2: Ejemplo del patron de convergencia del algoritmo de descenso mas pronunciado.[1]

este caso, ya que la unica restriccion que se tiene es la no negatividad de α. Sin embargo, si elproblema es simple y convexo, αn se puede determinar simplemente resolviendo:

d

dαz[xn + α(−∇z(xn))] = 0.

Cuando la funcion objetivo satisface ciertas condiciones de regularidad el algoritmo convergea un mınimo local, que termina siendo un mınimo global en el caso de funciones estrictamenteconvexas.

En la Figura 4.2 se muestra como ejemplo una secuencia de soluciones generada por estealgoritmo. El metodo se caracteriza por tener direcciones sucesivas perpendiculares (dn ·dn+1 =0). Esto se debe a que xn+1 se ubica en un punto donde la tasa de cambio de z(x) con respectoa la direccion de movimiento dn es cero. Ası, el gradiente (y su direccion opuesta) en xn+1 esperpendicular a la direccion de dn. El “zigzag”que se genera indica que el metodo de descensomas pronunciado requiere un numero relativamente grande de iteraciones.

Ejemplos

El algoritmo de descenso mas pronunciado se programo en MATLAB para luego aplicarsea dos ejemplos distintos. El primero de ellos corresponde al ejemplo mostrado en la Figura 4.2,

n ∇z(xn) αn xn+1 z(xn+1) z(xn)− z(xn+1)

0 (-22, -40) 0.1514 (3.3300, 6.0546) 63.2772 157.72281 (-15.3399, 8.4370) 0.2947 (7.8505, 3.5684) 18.1176 45.15952 (-6.2991, -11.4529) 0.1514 (8.8039, 5.3020) 5.1875 12.93023 (-4.3922, 2.4157) 0.2947 (10.0982, 4.5901) 1.4853 3.70224 (-1.8036, -3.2792) 0.1514 (10.3712, 5.0865) 0.4253 1.06005 (-1.2576, 0.6917) 0.2947 (10.7418, 4.8826) 0.1218 0.30356 (-0.5164, -0.9389) 0.1514 (10.8200, 5.0248) 0.0349 0.08697 (-0.3601, 0.1980) 0.2947 (10.9261, 4.9664) 0.0100 0.02498 (-0.1479, -0.2688) 0.1514 (10.9485, 5.0071) 0.0029 0.00719 (-0.1031, 0.0567) 0.2947 (10.9788, 4.9904) 8.1835e-04 0.002010 (-0.0423, -0.0770) 0.1514 (10.9852, 5.0020) 2.3431e-04 5.8404e-04

Tab. 4.6: Resultados utilizando el metodo de descenso mas pronunciado para el ejemplo 1.

Page 39: Facultad de Ciencias Exactas. Departamento de Matem aticas

4. Algoritmos de optimizacion 39

n ∇z(xn) αn xn+1 z(xn+1) z(xn)− z(xn+1)

0 (-4, -24) 0.1276 (0.5103, 3.0621) 2.2345 37.76551 (-2.9793, 0.4966) 0.4625 (1.8883, 2.8324) 0.1248 2.10972 (-0.2234, -1.3407) 0.1276 (1.9168, 3.0035) 0.0070 0.11783 (-0.1664, 0.0277) 0.4625 (1.9938, 2.9906) 3.8952e-04 0.00664 (-0.0125, -0.0749) 0.1276 (1.9954, 3.0002) 2.1759e-05 3.6776e-04

Tab. 4.7: Resultados utilizando el metodo de descenso mas pronunciado para el ejemplo 2.

donde se buscaba minimizar la funcion z(x1, x2) = (x1−11)2 + 4(x2−5)2. Se toma como puntoinicial x0 = (0, 0) y una tolerancia de 0,001. Los resultados obtenidos se muestran en la Tabla4.6 2.

El segundo ejemplo corresponde a minimizar la funcion z(x1, x2) = (x1 − 2)2 + 4(x2 − 3)2,comenzando en x0 = (0, 0) y pidiendo la misma precision que en el ejemplo anterior. Losresultados obtenidos se muestran en la Tabla 4.7.

Si se grafican los puntos que arroja el algoritmo puede verse que se genera nuevamente un“zigzag” entre ellos, como muestra la Figura 4.3.

Fig. 4.3: Patron de convergencia del algoritmo de descenso mas pronunciado para z(x1, x2) = (x1 −2)2 + 4(x2 − 3)2.

2 Los puntos xn generados difieren levemente de los mostrados en la Figura 4.2, ya que el programa trabajacon valores numericos aproximados. Por este mismo motivo el producto interno entre los gradientes no daexactamente cero, sino un valor aproximado.

Page 40: Facultad de Ciencias Exactas. Departamento de Matem aticas

4. Algoritmos de optimizacion 40

Otros metodos

Muchos metodos involucran informacion sobre las derivadas de orden dos de la funcionobjetivo para encontrar las direcciones de descenso. La mayorıa no se aplican en la resolucionde problemas relacionados con las redes de transporte urbano, ya que estos problemas contienenmuchas variables, lo cual dificulta el calculo del Hessiano (o incluso sus aproximaciones).

Uno de los algoritmos de minimizacion mas eficientes es el metodo de Newton (que es unaextension del que se vio en la Seccion 4.1). La funcion objetivo se aproxima por una serie deTaylor de segundo orden. Esta aproximacion se minimiza y el proximo punto se toma en elmınimo de esta aproximacion. El paso algorıtmico esta dado por:

xn+1 = xn −∇z(xn) · [H(xn)]−1. (4.11)

donde H(x) es el Hessiano de z(x) y [·]−1 denota su inversa.Este metodo se puede representar en forma estandar como (4.8), tomando dn = −∇z(xn) ·

[H(xn)]−1 y αn = 1, ∀n.El metodo de Newton resulta mas eficiente que el de descenso mas pronunciado, ya que

utiliza mas informacion sobre la pendiente de la funcion en xn. Sin embargo requiere que secalcule la matriz Hessiana y su inversa, lo cual implica mucho esfuerzo computacional paraproblemas de media y gran escala.

Los metodos cuasi-Newton trabajan con una aproximacion de la matriz inversa del Hessiano,utilizando para este fin la informacion que recogen durante el proceso de minimizacion. Laaproximacion actual se usa en cada paso para modificar la direccion del gradiente.

4.2.2. Algoritmos de minimizacion con restricciones

Cuando se estudian redes de transporte, la mayorıa de los problemas cuentan con restriccio-nes lineales. Por lo tanto, se estudiaran problemas de minimizacion con este tipo de restricciones.Los metodos son aplicables a problemas con restricciones de igualdad o desigualdad.

El hecho de tener restricciones agrega una dificultad extra, y es que debe cuidarse la factibi-lidad. Para esto hay que tener en cuenta dos cosas: las direcciones de busqueda deben apuntarhacia un lugar donde existan puntos factibles, y la longitud del paso que se realiza se debelimitar solo a los puntos factibles (es decir, no se puede salir de la region definida por lasrestricciones).

Pueden utilizarse los mismos criterios de convergencia que para el caso sin restricciones. Sinembargo, recordemos que el mınimo de un problema con restricciones puede alcanzarse en unpunto que no es punto estacionario, por lo tanto no serıa adecuado utilizar el criterio basadoen el gradiente (4.7b). A continuacion veremos como determinar una direccion factible y, unavez establecida la direccion de busqueda, cual es el paso que puede realizarse para no perder lafactibilidad.

Mantener la factibilidad en una direccion dada

Consideremos un problema de minimizacion en forma estandar

mın z(x) (4.12a)

s.a:∑i

hijxni ≥ bj ∀j ∈ . (4.12b)

Page 41: Facultad de Ciencias Exactas. Departamento de Matem aticas

4. Algoritmos de optimizacion 41

donde las restricciones son todas lineales (las restricciones de no negatividad ya estan incluıdasallı). Asumamos, ademas, que la solucion actual xn esta en la frontera de la region factible.Esto significa que algunas restricciones satisfacen la igualdad:∑

i

hijxni = bj ∀j ∈ n. (4.13a)

donde n denota el conjunto de ındices donde las restricciones son de igualdad. Las otras res-tricciones satisfacen la desigualdad estricta:∑

i

hijxni > bj ∀j /∈ n. (4.13b)

Una vez que se establece una direccion de descenso, dn, debe determinarse el paso maximoque puede realizarse en dicha direccion sin violar ninguna restriccion. Las unicas restriccionesque pueden presentar un problema son aquellas donde no se da la igualdad en la solucionactual (es decir, aquellas indexadas por j /∈ n). Esto se debe a que si una restriccion satisfacela igualdad es porque la solucion actual se encuentra sobre ella. De esta manera, cualquiera sea ladireccion de busqueda establecida, se sabe que esta “sale”desde la (las) restriccion (restricciones)de igualdad, y por lo tanto cualquiera sea la longitud del paso no violara la factibilidad. Debidoa esto, vamos a considerar solo aquellas restricciones que cumplen la desigualdad estricta en lasolucion actual. Para que xn+1 = xn + αnd

n sea factible, debe satisfacer∑

i hijxn+1i ≥ bj, es

decir: ∑i

hij(xni + αnd

ni ) =

∑i

hijxni + αn

∑i

hijdni ≥ bj ∀j /∈ .

Supongamos que para cierta restriccion l se cumple que∑

i hildni ≥ 0. En ese caso ya se

cumple la condicion anterior, ya que:∑i

hijxni + αn︸︷︷︸

≥0

∑i

hijdni︸ ︷︷ ︸

≥0︸ ︷︷ ︸≥0

≥∑i

hijxni ≥ bj.

donde la ultima desigualdad se cumple porque la solucion actual xn es factible.Por lo tanto, las restricciones donde

∑i hild

ni ≥ 0 no alteran la factibilidad en la direccion

de busqueda. Solo los casos donde∑

i hildni < 0 deben ser analizados con cuidado. Allı, se

establece el siguiente valor maximo para el paso:

αmaxn = mın

j∈nbj −

∑i hijx

ni∑

i hijdni

. (4.14)

donde el conjunto n contiene aquellos ındices donde las restricciones no son de igualdad ydonde

∑i hild

ni < 0 en xn. Podemos resumir esto diciendo que la longitud maxima del paso

esta determinada por aquella restriccion que se viola primero al moverse en la direccion dedescenso. De esta manera, αn puede determinarse resolviendo:

mınαz(xn + αdn) (4.15a)

s.a:

0 ≤ α ≤ αmaxn . (4.15b)

usando, por ejemplo, cualquier metodo de reduccion de intervalos.

Page 42: Facultad de Ciencias Exactas. Departamento de Matem aticas

4. Algoritmos de optimizacion 42

Fig. 4.4: Mantener la factibilidad sobre una direccion dada, acotando el rango de la lınea de busqueda.[1]

En la Figura 4.4 se muestra un ejemplo donde la region factible esta deifinida por 5 res-tricciones. La solucion actual xn se encuentra sobre la restriccion 1, y la direccion de busquedase muestra en la figura. Las restricciones donde no se da la igualdad son de la 2 hasta la 5.Sin embargo, la 2 y la 5 no representan un problema a la hora de determinar la longitud delpaso (son aquellas para las que

∑i hijd

ni ≥ 0). Por lo tanto, αmax

n se determina en funcion dela restriccion que se viola primero, que en este caso sera la 4.

Busqueda de una direccion de descenso factible

En algunos casos, el algoritmo utilizado (descenso mas pronunciado, Newton, cuasi-Newton)ya da como resultado una direccion de descenso factible. Sin embargo, si la solucion actual estaen la frontera de la region factible, la direccion de descenso puede apuntar fuera de la region,con lo cual no serıa correcto moverse en esa direccion. Aquellas restricciones donde no se da laigualdad no representan ningun problema, ya que cualquiera sea la direccion que se tome, sepodra hacer al menos un pequeno movimiento sobre ella sin perder la factibilidad. El problemaahora se trata de determinar cual es la mejor direccion de descenso factible.

Por lo dicho anterioremente, a la hora de buscar una direccion de descenso desde xn solohace falta considerar las restricciones de igualdad. Dada una candidata a direccion de descensod, para mantener la factibilidad debe satisfacerse:∑

i

hijxni + ∆α

∑i

hijdi ≥ bj ∀j ∈ n. (4.16a)

donde ∆α es un paso pequeno. Como∑

i hijxni = bj, ∀j ∈ n (ya que estamos trabajando con

restricciones donde se da la igualdad), (4.16a) se reduce simplemente a∑i

hijdi ≥ 0 ∀j ∈ n. (4.16b)

La direccion factible que proporciona el descenso mas pronunciado puede hallarse resolvien-do:

mın∇z(xn) · dT (4.17a)

s.a :∑i

hijdi ≥ 0 ∀j ∈ n (4.17b)

Page 43: Facultad de Ciencias Exactas. Departamento de Matem aticas

4. Algoritmos de optimizacion 43

∑i

d2i = 1. (4.17c)

La funcion objetivo (4.17a) representa el coseno del angulo entre el gradiente y la direccionde descenso. Ademas, como d es un vector unitario, la funcion se puede interpretar como lapendiente de z(x) en xn en la direccion d. Como el coseno alcanza su mınimo valor cuando elangulo es de 180o, entonces el problema de optimizacion anterior esta buscando aquella direccionque es factible y es mas cercana a la direccion opuesta del gradiente. La segunda restriccion(que normaliza el vector de direccion) se toma para asegurar que la solucion sea unica. Sinembargo le agrega cierta complejidad al problema, por tratarse de una restriccion no lineal.

El problema anterior dara como resultado la direccion en la cual debe realizarse la busquedade la siguiente solucion, xn+1. Esta busqueda se hara teniendo en cuenta que no debe perdersela factibilidad, como se explico anteriormente.

4.3. Metodo de combinaciones convexas

El metodo de combinaciones convexas fue sugerido por primera vez en 1956 por Margue-rite Frank y Philip Wolfe como un procedimiento para resolver problemas de programacioncuadratica con restricciones lineales. Tambien se lo conoce como metodo de Frank-Wolfe (FW),y resulta muy util para calcular flujos en equilibrio sobre redes de transporte.

Algoritmo

Se trata de un metodo de direcciones factibles, que se diferencia de los anteriores por nonecesitar un paso especial para calcular la cota para la longitud del movimiento (es decir, noes necesario resolver (4.14)). Este calculo va a estar incluıdo en la busqueda de la direccionfactible. Buscar la direccion de movimiento puede realizarse desde dos enfoques.

Primero, consideremos el problema convexo

mın z(x) (4.18a)

s.a:∑i

hijxi ≥ bj ∀j ∈ . (4.18b)

Supongamos que en la n-esima iteracion el punto solucion es xn. Muchos metodos de busque-da de direcciones factibles se basan en la pendiente de la funcion objetivo en un entorno de xn.Esto implica que la direccion de descenso se base en la direccion opuesta al gradiente o en ladireccion del descenso factible mas pronunciado (localmente).

En el metodo de combinaciones convexas esto tiene una leve modificacion. A la hora deelegir una direccion no se tiene en cuenta solo que se genere el mayor descenso posible, sinoque tambien se considera cuanto se puede avanzar en esa direccion (si solo puede realizarse unpequeno movimiento, no vale la pena ejecutar esa iteracion). Si bien la disminucion local de z(x)puede ser pronunciada, el cambio que se produce de z(xn) a z(xn+1) puede no ser significante.Por otra parte, una direccion en la cual la reduccion local es pequena pero la region factiblepermite un gran avance, produce una reduccion mayor. Esto conduce a que el criterio utilizadopara elegir direcciones se base en el producto de la tasa de descenso en un entorno de xn enuna direccion dada y la longitud de la region factible en esa direccion. Este producto se conocecomo “drop”, y es una cota superior de la posible reduccion que puede experimentar la funcionobjetivo al movernos en esa direccion. El algoritmo usara aquella solucion que maximice eldrop.

Page 44: Facultad de Ciencias Exactas. Departamento de Matem aticas

4. Algoritmos de optimizacion 44

Para encontrar una direccion de descenso, el algoritmo mira toda la region factible para unasolucion factible auxiliar yn = (yn1 , ..., y

nI ), tal que la direccion de xn a yn provee el maximo

drop. La direccion de xn a cualquier solucion factible y es el vector y−xn (o el vector unitario(y − xn)/ ‖ y − xn ‖). La pendiente de z(xn) en la direccion de (y − xn) esta dada por laproyeccion del opuesto del gradiente en esta direccion, es decir:

−∇z(xn) · (y− xn)T

‖ y− xn ‖.

El drop de la funcion objetivo en la direccion (y−xn) se obtiene multiplicando esta pendientepor la distancia de xn a y (‖ y− xn ‖), resultando de esta manera:

−∇z(xn) · (y− xn)T .

Como buscamos aquella direccion que provea el maximo drop, esta funcion debe maximizarse(en y), manteniendo la factibilidad de y. Tambien puede multiplicarse la expresion anterior por-1 y trabajar con un problema de minimizacion:

mın∇z(xn) · (y− xn)T =∑i

∂z(xn)

∂xi(yi − xni ) (4.19a)

s.a :∑i

hijyi ≥ bj ∀j ∈ . (4.19b)

La solucion del problema (4.19) es yn, y la direccion de descenso es el vector que va desdexn hasta yn, es decir, dn = (yn − xn) (o bien, dni = yni − xni , ∀i).

Con lo que hemos visto hasta aquı podemos notar que hallar una direccion de descensomediante el metodo de combinaciones convexas involucra la resolucion de un problema lineal(4.19).

El otro enfoque que puede darse implica considerar el metodo de combinaciones convexascomo un metodo de aproximacion lineal. Se trata de encontrar una direccion de descenso mi-nimizando una aproximacion lineal de la funcion en el punto solucion actual. Minimizar estaaproximacion lineal sujeta a restricciones lineales da como resultado un problema lineal, y sesabe que en este tipo de problemas la solucion se encuentra en una “esquina”. La lınea queconecta la solucion actual (xn) con la solucion del problema linearizado (yn) sera la direccionde busqueda. A continuacicon se vera que esta aproximacion termina dando como resultado elmismo problema que (4.19).

Sea znL(y) la aproximacion lineal del valor de la funcion objetivo en algun punto y, basadoen su valor en xn. Esta aproximacion esta dada por:

znL(y) = z(xn) +∇z(xn) · (y− xn)T . (4.20)

Se trata de una funcion lineal en y, que debe minimizarse sujeta a las restricciones originales:

mın znL(y) = z(xn) +∇z(xn) · (y− xn)T (4.21a)

s.a :∑i

hijyi ≥ bj ∀j ∈ . (4.21b)

En este punto podemos observar que en y = xn la funcion objetivo es constante, y porlo tanto z(xn) puede sacarse de (4.21a). De esta manera, el problema se reduce a minimizar∇z(xn) · (y− xn)T , al igual que en (4.19). La solucion de este problema se usara tambien paraconstruir la direccion de busqueda.

Page 45: Facultad de Ciencias Exactas. Departamento de Matem aticas

4. Algoritmos de optimizacion 45

Sin embargo, la funcion objetivo del problema linearizado podrıa simplificarse aun mas, yaque ∇z(xn) es constante en xn, con lo cual ∇z(xn) · (xn)T podrıa dejarse fuera de (4.21a),teniendo que resolver simplemente:

mın znL(y) = ∇z(xn) · yT =∑i

(∂z(xn)

∂xi

)yi (4.22a)

s.a :∑i

hijyi ≥ bj ∀j ∈ . (4.22b)

Una vez que se conoce la direccion de descenso, lo unico que resta es determinar la longituddel paso y ejecutar un test de convergencia.

Como en otros metodos de descenso, la longitud del movimiento en la direccion dn es igual ala distancia que hay hasta el punto sobre dn que minimiza z(xn). Para calcularlo no es necesariorealizar otro paso algorıtmico, ya que se sabe que la proxima solucion xn+1 se encuentra entrexn e yn. Esto se debe a que yn es la solucion de un problema lineal, y por lo tanto se encuentraen la frontera de la region factible (con lo cual xn+1 no podrıa esta “mas alla”de yn). De estamanera puede usarse cualquier metodo de reduccion de intervalos para minimizar z(x) sobredn = (yn − xn), es decir, para resolver:

mın z[xn + α(yn − xn)] (4.23a)

s.a : 0 ≤ α ≤ 1. (4.23b)

Una vez encontrada la solucion optima αn, el siguiente punto se genera de manera usualcomo

xn+1 = xn + αn(yn − xn). (4.24)

La ecuacion (4.24) podrıa escribirse como xn+1 = (1 − αn)xn + αnyn, con lo cual la nueva

solucion serıa una combinacion convexa de xn e yn (y de allı el nombre del algoritmo).Como criterio de convergencia puede utilizarse cualquiera de los que se presentaron ante-

riormente.El metodo de combinaciones convexas suele usarse cuando el problema lineal (4.22) es

relativamente facil de resolver, o bien cuando los otros metodos que son mas eficientes (porejemplo Newton o cuasi-Newton) no pueden utilizarse porque el problema es de gran tamano.

Dada una solucion actual xn, la iteracion n del algoritmo de combinaciones convexas puederesumirse de la siguiente manera:

Paso 1. Hallar la direccion: Encontrar la solucion yn de (4.22).

Paso 2. Determinar la longitud del paso: Hallar αn que resuelve

mın0≤α≤1

z[xn + α(yn − xn)].

Paso 3. Moverse: Establecer

xn+1 = xn + αn(yn − xn).

Paso 4. Test de convergencia: Si z(xn)−z(xn+1) ≤ κ, frenar 3. Sino, establecer n := n+1y volver al paso 1.

Comenzando en una solucion factible x0, el algoritmo termina luego de un numero finito deiteraciones.

3 Puede usarse cualquier criterio de convergencia.

Page 46: Facultad de Ciencias Exactas. Departamento de Matem aticas

4. Algoritmos de optimizacion 46

n ∇z(xn) yn znL(yn) αn xn+1 z(xn+1) z(xn)− z(xn+1)

1 (0, -10) (2, 6) -60 0.5764 (1.1529, 3.4586) -17.3077 17.30772 (-4.6114, 1.5285) (4, 0) -18.4457 0.1782 (1.6602, 2.8422) -18.9469 1.63923 (-2.3640, -1.9515) (4, 6) -21.1653 0.5489 (2.9446, 4.5756) -22.1597 3.21284 (-3.2620, 2.4132) (4, 0) -13.0482 0.1380 (3.0902, 3.9441) -23.1560 0.99635 (-1.7077, -0.4041) (4, 6) -9.2553 0.2150 (3.2859, 4.3862) -23.4125 0.25656 (-2.2006, 0.9730) (4, 0) -8.8025 0.0648 (3.3322, 4.1018) -23.6009 0.18847 (-1.5393, -0.2570) (4, 6) -7.6995 0.1481 (3.4310, 4.3829) -23.7132 0.11238 (-1.9036, 0.6694) (4, 0) -7.6146 0.0455 (3.4569, 4.1836) -23.8054 0.0922

Tab. 4.8: Resultados utilizando Frank-Wolfe.

Ejemplo

Consideremos el siguiente problema de optimizacion:

mın z(x) = x21 + 2x2

2 − 2x1x2 − 10x2

s.a:0 ≤ x1 ≤ 4

0 ≤ x2 ≤ 6.

Queremos resolverlo utilizando el metodo de Frank-Wolfe, con una solucion factible inicialx1 = (0, 0) y una tolerancia de 0,1 (es decir, el algoritmo terminara si z(xn)− z(xn+1) ≤ 0,1).

Pueden hacerse algunos calculos previos para simplificar la resolucion. Por ejemplo, el gra-diente de z(x) en xn esta dado por:

∇z(xn1 , xn2 ) = (2xn1 − 2xn2 , 4x

n2 − 2xn1 − 10).

De esta manera, en la n-esima iteracion se debe resolver el problema lineal:

mın zn(y) = (2xn1 − 2xn2 )y1 + (4xn2 − 2xn1 − 10)y2

s.a:0 ≤ y1 ≤ 4

0 ≤ y2 ≤ 6.

Una vez hallada la direccion de descenso y, se sigue con los pasos 2, 3 y 4.El algoritmo fue programado en MATLAB 4, obteniendo los resultados que se muestran en

la Tabla 4.8.Se puede concluir entonces que la funcion alcanza su mınimo en el punto x = (3,4569, 4,1836).En la Figura 4.5 se muestra la reduccion asintotica del valor de la funcion objetivo. Este

patron es tıpico del algoritmo de Frank-Wolfe: la contribucion marginal de cada iteracion escada vez mas pequena a medida que avanza el algoritmo (en esta propiedad se basa el criteriode convergencia que se utilizo en el ejemplo).

4 Para resolver el paso 2 se utilizo el algoritmo de Golden Section.

Page 47: Facultad de Ciencias Exactas. Departamento de Matem aticas

4. Algoritmos de optimizacion 47

Fig. 4.5: Reduccion asintotica de la funcion objetivo.

Page 48: Facultad de Ciencias Exactas. Departamento de Matem aticas

5. DUALIDAD LAGRANGIANA

Dado un problema de programacion no lineal (llamado problema primal), existe otro proble-ma no lineal que esta estrechamente relacionado con el (llamado problema Lagrangiano dual).Los teoremas de dualidad debil y fuerte aseguran que resolver el problema dual brinda infor-macion suficiente para acotar, e incluso obtener de manera exacta, la solucion del problemaprimal. La ventaja de esto es que generalmente el problema dual es mas sencillo de resolver queel primal.

En el capıtulo anterior se presentaron algunos algoritmos que pueden utilizarse a la hora deresolver un problema de minimizacion, sin embargo estos no son los unicos metodos disponibles.En este capıtulo, ademas de trabajar con la dualidad Lagrangiana, se presentara otro metodopara resolver problemas de minimizacion.

5.1. Conceptos basicos y teoremas

Consideremos el siguiente problema de programacion no lineal (P), llamado problema pri-mal :

mın f(x)

s.a :

gi(x) ≤ 0 para i = 1, 2, ..., l.

hi(x) = 0 para i = 1, 2, ...,m.

x ∈ X.

(P)

Existen muchos problemas que estan estrechamente relacionados con el problema primal yson llamados problemas duales, sin embargo la dualizacion Lagrangiana es la mas utilizada. Estose debe a que puede aplicarse en la resolucion de problemas de gran escala (ya sean convexos ono convexos) y en la optimizacion discreta. El Problema Lagrangiano Dual (D) se formula dela siguiente manera:

max θ(u,v)

s.a :

u ≥ 0.

(D)

donde θ(u,v) = ınf{f(x) +∑m

i=1 uigi(x) +∑l

i=1 vihi(x) : x ∈ X}.

Para obtener θ(u,v) simplemente se incorporaron las restricciones del problema (P) a lafuncion objetivo, utilizando los multiplicadores de Lagrange (o variables duales) ui y vi. Esteproceso se conoce como dualizacion. Las variables ui estan asociadas a la restriccion gi(x) ≤ 0y se pide que sean no negativas, mientras que las variables vi estan asociadas con la restriccionde igualdad hi(x) = 0 y no tienen ningun tipo de condicion sobre su signo.

En algunos casos el problema (D) se escribe como sup {θ(u,v) : u ≥ 0} en lugar demax {θ(u,v) : u ≥ 0}, ya que el maximo podrıa no existir.

Tanto el problema primal como el dual pueden escribirse en forma vectorial. Consideremosf : Rn → R , g : Rn → Rm una funcion vectorial cuya i-esima componente es gi y h : Rn → Rl

Page 49: Facultad de Ciencias Exactas. Departamento de Matem aticas

5. Dualidad Lagrangiana 49

una funcion vectorial cuya i-esima componente es hi. De esta manera, los problemas se puedenrepresentar como:

mın f(x)

s.a :

g(x) ≤ 0

h(x) = 0

x ∈ X.

(P)

y

max θ(u,v)

s.a :

u ≥ 0.

(D)

donde θ(u,v) = ınf{f(x) + utg(x) + vth(x) : x ∈ X}.

Interpretacion geometrica del problema dual

Para que la interpretacion sea mas sencilla, se asumira que el problema no cuenta conrestricciones de igualdad. Es decir, el problema primal consiste en minimizar f(x) sujeto a quex ∈ X y g(x) ≤ 0.

Sobre el plano (y, z), se define el conjunto G = {(y, z) : y = g(x), z = f(x) para algun x ∈X}, que se muestra en la Figura 5.1. De esta manera, G es la imagen de X bajo el mapa (g, f).El problema primal consiste en hallar un punto en G, con y ≤ 0, que sea mınimo. En la Figura5.1 este punto se denota por (y, z).

Supongamos que se tiene u ≥ 0 dado. Para determinar θ(u) se debe minimizar f(x)+ug(x)sobre todos los x ∈ X. Si se toma y = g(x) y z = f(x) para x ∈ X, lo que se esta buscandoentonces es minimizar z+uy sobre los puntos de G. Observemos que z+uy = α es la ecuacionde una recta cuya pendiente es −u y su ordenada al origen es α. Para minimizar z + uy sobreG se debe “mover” la recta z + uy = α de forma paralela a ella (es decir, variar la ordenadapero no la pendiente) hasta que el conjunto G quede por encima de la recta pero en contactocon ella. Una vez hecho esto, la interseccion de la recta con el eje z es θ(u). El problema dualse encarga de maximizar este ultimo valor, por lo tanto ahora se comienza a variar la pendientehasta encontrar el hiperplano de soporte cuya interseccion con el eje z es maximal. En la figuraeste hiperplano tiene pendiente −u, y “toca” al conjunto X en el punto (y, z). Ası, la solucionoptima es u, y el valor objetivo optimo dual es z.

En este caso, los valores objetivo primal y dual son iguales.Se define la funcion de perturbacion como

v(y) = mın{f(x) : g(x) ≤ y, x ∈ X}.

Se trata de una funcion de valor optimo, que se obtuvo del problema original perturbando ellado derecho de la restriccion de desigualdad (se cambio 0 por y). Observemos que v(y) es unafuncion no creciente de y, ya que si y aumenta la region factible tambien lo hace, y por lo tantomın f(x) podrıa incluso ser mas chico. En el ejemplo de la figura, v es la envoltura inferior deG entre los puntos A y B.

A continuacion se veran las relaciones que hay entre el problema primal y el dual. Existendos teoremas muy importantes que contribuyen a este analisis: el teorema de dualidad debil yel teorema de dualidad fuerte.

Page 50: Facultad de Ciencias Exactas. Departamento de Matem aticas

5. Dualidad Lagrangiana 50

Fig. 5.1: Interpretacion geometrica de la dualidad Lagrangiana. [2]

El teorema de dualidad debil se enuncia a continuacion, y muestra que el valor objetivode cualquier solucion factible del problema dual proporciona una cota inferior para el valorobjetivo de cualquier solucion factible del problema primal.

Teorema 5.1.1: Sea x una solucion factible del problema (P), es decir, x ∈ X, g(x) ≤ 0 yh(x) = 0. Sea (u,v) una solucion factible del problema (D), es decir, u ≥ 0. Entonces f(x) ≥θ(u,v).

Demostracion:

θ(u,v)def= ınf{f(y) + utg(y) + vth(y) : y ∈ X}x∈X≤ f(x) + utg(x) + vth(x).

(5.1)

Como u ≥ 0 y g(x) ≤ 0, entonces utg(x) ≤ 0. Ademas h(x) = 0, por lo tanto:

f(x) + utg(x)︸ ︷︷ ︸≤0

+ vth(x)︸ ︷︷ ︸=0

≤ f(x).

Luego, se obtiene θ(u,v) ≤ f(x). �

Del teorema anterior, se desprende el siguiente corolario:

Corolario 5.1.2: ınf{f(x) : x ∈ X, g(x) ≤ 0, h(x) = 0} ≥ sup{θ(u,v) : u ≥ 0}.

Este corolario indica que el valor objetivo optimo del problema primal es mayor o igualque el valor objetivo optimo del dual. Si se cumple la desigualdad estricta existe una brecha dedualidad (duality gap). En la Figura 5.2 se ilustra la brecha de dualidad para un problema quetiene una restriccion de desigualdad y no posee restricciones de igualdad. Tambien se muestrala funcion de perturbacion v(y) para y ∈ R.

El teorema de dualidad fuerte establece las condiciones para que no exista la brecha dedualidad. En otras palabras, muestra que bajo ciertas suposiciones el valor objetivo optimoprimal coincide con el valor objetivo optimo dual.

Page 51: Facultad de Ciencias Exactas. Departamento de Matem aticas

5. Dualidad Lagrangiana 51

Fig. 5.2: Brecha de dualidad. [2]

Teorema 5.1.3: Sea X un conjunto convexo no vacıo en Rn, sean f : Rn → R y g : Rn → Rm

convexas, y sea h : Rn → Rl afın (es decir, h es de la forma h(x) = Ax− b). Supongamos queexiste un x ∈ X tal que g(x) < 0 y h(x) = 0, y 0 ∈ int h(X), donde h(X) = {h(x) : x ∈ X}.Entonces

inf{f(x) : x ∈ X,g(x) ≤ 0,h(x) = 0} = sup{θ(u,v) : u ≥ 0}. (5.2)

Ademas, si el ınfimo es finito, entonces sup{θ(u,v) : u ≥ 0} se alcanza en (u, v) con u ≥ 0.Si el ınfimo se alcanza en x, entonces utg(x) = 0.

Otra herramienta util para asegurar que no existe una brecha de dualidad es el criterio delpunto de silla.

Dado el problema primal (P), se define la funcion Lagrangiana como:

φ(x,u,v) = f(x) + utg(x) + vth(x).

Una solucion (x, u, v) se llama punto de silla de la funcion Lagrangiana si x ∈ X , u ≥ 0 ,y

φ(x,u,v) ≤ φ(x, u, v) ≤ φ(x, u, v). (5.3)

para todo x ∈ X , y todo (u,v) con u ≥ 0.De esta manera, tenemos que x minimiza φ sobre X cuando (u,v) esta fijado en (u, v), y

que (u, v) maximiza φ sobre todo (u,v) con u ≥ 0 cuando x esta fijado en x.El siguiente resultado caracteriza una solucion de punto de silla y muestra que su existencia

es una condicion necesaria y suficiente para que no exista una brecha de dualidad.

Teorema 5.1.4: Una solucion (x, u, v) con x ∈ X y u ≥ 0 es un punto de silla para la funcionLagrangiana φ(x,u,v) = f(x) + utg(x) + vth(x) si y solo si:

1. φ(x, u, v) = mın{φ(x, u, v) : x ∈ X}.

2. g(x) ≤ 0,h(x) = 0.

3. utg(x) = 0.

Ademas, (x, u, v) es un punto de silla si y solo si x y (u, v) son, respectivamente, solucionesoptimas del problema primal y del problema dual sin brecha de dualidad, es decir, f(x) =θ(u, v).

Page 52: Facultad de Ciencias Exactas. Departamento de Matem aticas

5. Dualidad Lagrangiana 52

5.2. Propiedades de la funcion dual

En la seccion anterior se estudiaron las relaciones entre el problema primal y dual. Bajociertas condiciones, los teoremas 5.1.3 y 5.1.4 demostraron que el valor objetivo optimo delproblema primal es igual al valor objetivo optimo del problema dual, por lo tanto es posibleresolver el problema primal indirectamente, resolviendo el dual. Para simplificar la tarea dehallar la solucion del problema dual, es importante conocer primero las propiedades de lafuncion objetivo. En esta seccion se mostrara que θ es concava, se discutira su diferenciabilidady subdiferenciabilidad, y se estudiaran las direcciones de ascenso y maximo ascenso.

Para el analisis que sigue se va a asumir que X es un conjunto compacto, lo cual es necesariopara simplificar algunas demostraciones. Esto puede hacerse ya que, si X no estuviera acotado,se pueden agregar cotas inferiores y/o superiores adecuadas para las variables que no afectenla region factible en un entorno del punto optimo. Ademas, se van a combinar los vectores u yv en w, y las funciones g y h en β.

Teorema 5.2.1: Sea X un conjunto no vacıo compacto en Rn, y sean f : Rn → R y β : Rn →Rm+l continuas. Entonces, θ definida por

θ(w) = ınf{f(x) + wtβ(x) : x ∈ X}.

es concava sobre Rm+l.

Demostracion: la funcion f(x) + wtβ(x) es una funcion lineal. Toda funcion lineal esconcava (y convexa). A su vez, el ınfimo de funciones concavas es una funcion concava (y elsupremo de funciones convexas es una funcion convexa), con lo cual θ(w) es concava, y elteorema queda demostrado. �

Por ser concava, tenemos que todo optimo local de θ es tambien un optimo global.Para facilitar la tarea de minimizar la funcion dual, es necesario estudiar sus propiedades

de diferenciabilidad y subdiferenciabilidad.

Diferenciabilidad

Vamos a definir el conjunto de soluciones optimas del subproblema Lagrangiano dual:

X(w) = {y : y minimiza f(x) + wtβ(x) sobre x ∈ X}.

La diferenciabilidad de θ en cualquier punto dado w depende de los elementos de X(w).

Teorema 5.2.2: Sea X un conjunto compacto no vacıo de Rn, y sean f : Rn → R y β : Rn →Rm+l continuas. Sea w ∈ Rm+l y supongamos que X(w) = {x} (es un conjunto con un soloelemento). Entonces θ es diferenciable en w con gradiente ∇θ(w) = β(x).

En otras palabras, lo que establece el resultado anterior es que, dado cualquier punto w ∈Rm+l, si existe solo un elemento x que minimiza f(x) + wtβ(x), entonces θ es diferenciable enw.

Subgradientes de θ

Una funcion f definida sobre S puede describirse completamente mediante su grafico, queesta dado por el conjunto {(x, f(x)) : x ∈ S}. Existen dos conjuntos que se relacionan conel grafico de una funcion: el epigrafo (que contiene los puntos que se encuentran por encimadel grafico de la funcion) y el hipografo (que consiste en los puntos que estan por debajo delgrafico). Formalmente, estos conjuntos se definen como:

Page 53: Facultad de Ciencias Exactas. Departamento de Matem aticas

5. Dualidad Lagrangiana 53

Fig. 5.3: Epigrafos e hipografos. [2]

Definicion 5.2.1: Sea S un conjunto no vacıo en Rn, y sea f : S → R. El epigrafo de f es unsubconjunto de Rn+1 y esta dado por:

epif = {(x, y) : x ∈ S, y ∈ R, y ≥ f(x)}.

El hipografo de f tambien es un subconjunto de Rn+1 y esta dado por:

hipf = {(x, y) : x ∈ S, y ∈ R, y ≤ f(x)}.

En la Figura 5.3 se muestran los epigrafos e hipografos de diferentes funciones. En la Figura(a) ninguno de los dos conjuntos es convexo, mientras que en la Figura (b) el epigrafo es unconjunto convexo y en la Figura (c) lo es el hipografo. Que alguno de estos conjuntos sea ono convexo esta estrechamente relacionado con el tipo de funcion con el que se trabaja. Puededemostrarse que una funcion f : S → R, con S un conjunto convexo no vacıo de Rn, es convexasi y solo si epif es un conjunto convexo. De manera analoga, f es concava si y solo si hipfes un conjunto convexo. De acuerdo a este resultado, podemos deducir que la Figura 5.3(a)corresponde a una funcion que no es concava ni convexa, la Figura (b) muestra una funcionconvexa y Figura (c) una funcion concava.

Como el epigrafo de una funcion convexa y el hipografo de una funcion concava son conjuntosconvexos, se tienen hiperplanos de soporte en todos los puntos de su frontera. Estos hiperplanosconducen a la nocion de subgradiente, que se detalla a continuacion.

Definicion 5.2.2: Sea S un conjunto convexo no vacıo en Rn, y sea f : S → R convexa. Entoncesξ se llama subgradiente de f en x ∈ S si:

f(x) ≥ f(x) + ξt(x− x) ∀x ∈ S.

De manera similar, sea f : S → R concava. Entonces ξ se llama subgradiente de f en x ∈ Ssi:

f(x) ≤ f(x) + ξt(x− x) ∀x ∈ S.

La coleccion de subgradientes de f en x se llama subdiferencial, y se denota por ∂f(x). Porcomo se lo definio, se trata de un conjunto convexo. En la Figura 5.4 se muestran ejemplos desubgradientes de dos funciones: una concava y otra convexa.

Page 54: Facultad de Ciencias Exactas. Departamento de Matem aticas

5. Dualidad Lagrangiana 54

Fig. 5.4: Interpretacion geometrica de los subgradientes. [2]

Puede verse ilustrado que la funcion f(x) + ξt(x− x) resulta ser un hiperplano de soportepara el epigrafo o el hipografo de la funcion f . El vector subgradiente ξ corresponde a lapendiente del hiperplano de soporte.

Un resultado muy interesante, y quizas el mas importante para nuestro analisis, es que todafuncion concava o convexa tiene al menos un subgradiente en cada punto de su dominio.

Como anteriormente se probo que la funcion θ es concava, tenemos entonces que es subdi-ferenciable (es decir, tiene subgradientes). Los subgradientes tienen un rol muy importante enla minimizacion de la funcion dual, ya que caracterizan las direcciones de ascenso. Si bien eneste trabajo no se describiran en detalle estos metodos de direcciones de ascenso, puede decirseque la direccion de maximo ascenso esta dada por el subgradiente de menor norma euclıdea.

5.3. Metodo de planos cortantes

En las secciones anteriores se vio que un problema primal puede resolverse de maneraindirecta, resolviendo su problema Lagrangiano dual. Para resolver el problema dual puedenaplicarse diferentes metodos de direcciones de ascenso (ya que se trata de maximizar unafuncion). Sin embargo, el objetivo en esta seccion es presentar otro metodo de resolucion quepuede resultar mas sencillo: el metodo de planos cortantes (cutting planes) o linearizacionexterior. La estrategia utilizada por este nuevo metodo es optimizar, en cada iteracion, unafuncion que aproxima a la funcion objetivo dual.

La funcion dual se definio como:

θ(u,v) = ınf{f(x) + utg(x) + vth(x) : x ∈ X}.Si se establece z = θ(u,v), por la propia definicion de θ se tiene que z ≤ f(x) + utg(x) +

vth(x) para cada x ∈ X. De esta manera, el problema dual que consistıa en maximizar θ(u,v)sobre u ≥ 0 es equivalente al problema:

max z

s.a :

z ≤ f(x) + utg(x) + vth(x) para x ∈ Xu ≥ 0.

(5.4)

Este problema es un problema lineal en las variables z, u y v. Sin embargo, presenta unadificultad y es que posee un numero infinito de restricciones, que ademas no se conocen explıci-tamente. Para solucionar esto, supongamos que se tienen los puntos x1, ..., xk−1 en X, y consi-deremos el siguiente problema de aproximacion:

Page 55: Facultad de Ciencias Exactas. Departamento de Matem aticas

5. Dualidad Lagrangiana 55

max z

s.a :

z ≤ f(xj) + utg(xj) + vth(xj) para j = 1, ..., k − 1

u ≥ 0.

(5.5)

Este problema (llamado programa maestro) tambien es lineal, pero tiene un numero finito derestricciones (lo cual simplifica mucho la tarea). Para resolverlo puede aplicarse, por ejemplo, elmetodo Simplex. Sea (zk,uk,vk) una solucion de (5.5). Si esta solucion satisface las condicionesde (5.4), entonces es una solucion optima del problema Lagrangiano dual. Para chequear si sesatisface consideramos el siguiente subproblema:

mın f(x) + utkg(x) + vtkh(x)

s.a :

x ∈ X.Sea xk una solucion de este subproblema, entonces θ(uk,vk) = f(xk) + utkg(xk) + vtkh(xk).

Si zk ≤ θ(uk,vk), entonces (uk,vk) es una solucion optima del problema Lagrangiano dual.Sino, para (u,v) = (uk,vk), la desigualdad en (5.4) no se satisface para x = xk. En este casose debe agregar la restriccion

z ≤ f(xk) + utg(xk) + vth(xk).

a las restricciones de (5.5), y volver a resolver el programa maestro. El punto optimo actual(zk,uk,vk) contradice esta restriccion agregada, con lo cual este punto se corta (de allı el nombrede planos cortantes).

Resumen del metodo

Asumamos que f , g y h son funciones continuas y que X es un conjunto compacto. De estamanera, el conjunto de soluciones optimas del subproblema Lagrangiano dual, X(u,v), es novacıo (ya que toda funcion continua sobre un conjunto compacto alcanza sus extremos en dichoconjunto). Podemos resumir el metodo de planos cortantes en dos pasos:

Inicializacion: Hallar un punto x0 ∈ X tal que g(x0) ≤ 0 y h(x0) = 0. Establecer k = 1e ir al paso principal.

Paso principal: Resolver el programa maestro:

max z

s.a :

z ≤ f(xj) + utg(xj) + vth(xj) para j = 0, ..., k − 1.

u ≥ 0.

Hallar una solucion optima (zk,uk,vk). Resolver el suguiente subproblema:

mın f(x) + utkg(x) + vtkh(x)

s.a :

x ∈ X.

Sea xk un punto optimo y sea θ(uk,vk) = f(xk) + utkg(xk) + vtkh(xk).

Si zk = θ(uk,vk), parar. En este caso, (uk,vk) es una solucion optima dual.

Si zk > θ(uk,vk), agregar la restriccion z ≤ f(xk) + utg(xk) + vth(xk) al programamaestro, reemplazar k por k + 1 y repetir el paso principal.

Page 56: Facultad de Ciencias Exactas. Departamento de Matem aticas

5. Dualidad Lagrangiana 56

5.3.1. Aplicacion a problemas de transporte

El metodo de planos cortantes es una herramienta muy util a la hora de resolver un problemade asignacion de trafico (TAP). Sin embargo, para poder utilizar este metodo primero debenhacerse ciertas modificaciones al problema. Como se vio en la Seccion 3.2, el problema deasignacion de trafico (o Transformacion de Beckmann’s) puede formularse como:

mın z(x) =∑a

∫ xa

0

ta(ω) dω

s.a :∑k

f rsk = qrs ∀r, s.

f rsk ≥ 0 ∀k, r, s.

xa =∑r

∑s

∑k

f rsk δrsa,k ∀a.

La ultima restriccion simplemente relaciona el flujo que se mueve por un arco con el flujoque se mueve por todos los caminos que contienen a este arco. Puede escribirse tambien como:

xa =∑k3a

f rsk ∀a.

De esta manera, podemos considerar que nuestro problema primal es:

mın z(x) =∑a

∫ xa

0

ta(ω) dω

s.a :∑k

f rsk = qrs ∀r, s.

f rsk ≥ 0 ∀k, r, s.

xa =∑k3a

f rsk ∀a.

(P)

Al realizar la dualizacion de Lagrange, obtenemos el problema dual:

mınt>0

φ(t) =∑a∈A

∫ ta

t0a

t−1a (z) dz −

∑(r,s)

qrsτsr

con :

τ sr (t) = mına∈A+

r

{ta + τ dja(t)}

t = (ta)a∈A .

(D)

donde τ sr representa el menor tiempo de viaje entre el nodo r y el nodo s. Es decir,

τ sr = mınk∈Krs

ck.

Veamos como se obtuvo (D), y por que resulta ser un problema de minimizacion y no demaximizacion.

Consideremos primero el problema primal (P), el cual puede escribirse de la siguiente ma-nera:

Page 57: Facultad de Ciencias Exactas. Departamento de Matem aticas

5. Dualidad Lagrangiana 57

mın(fk,x)

sup(t,τ)

∑a∈A

∫ xa

0

ta(z) dz +∑(r,s)

τ sr

(qrs −

∑k∈Krs

fk

)+∑a∈A

ta

(∑k3a

fk − xa

).

Esta formulacion es correcta, ya que cuando se cumplen las restricciones∑

k frsk = qrs y

xa =∑

k3a frsk los parentesis se hacen cero, y se obtiene justamente la funcion objetivo de (P).

Cuando esto no se cumple, el supremo tiende a infinito.Aquı τ sr representa al multiplicador de Lagrange asociado con la restriccion de conservacion

de flujo∑

k frsk = qrs, y ta es el multiplicador asociado con la restriccion xa =

∑k3a f

rsk .

Ahora si, veamos como se llega a la formulacion (D):

mın(fk,x)

sup(t,τ)

∑a∈A

∫ xa

0

ta(z) dz +∑(r,s)

τ sr

(qrs −

∑k∈Krs

fk

)+∑a∈A

ta

(∑k3a

fk − xa

)=

= sup(t,τ)

mın(fk,x)

∑a∈A

∫ xa

0

ta(z) dz +∑(r,s)

τ sr

(qrs −

∑k∈Krs

fk

)+∑a∈A

ta

(∑k3a

fk − xa

)

= sup(t,τ)

mın(fk,x)

∑a∈A

∫ xa

0

ta(z) dz +∑(r,s)

τ sr qrs︸ ︷︷ ︸1

−∑(r,s)

τ sr∑k∈Krs

fk +∑a∈A

ta∑k3a

fk −∑a∈A

taxa

= sup(t,τ)

∑(r,s)

τ sr qrs + mın(fk,x)

∑a∈A

[∫ xa

0

ta(z) dz − taxa]

︸ ︷︷ ︸I

+∑a∈A

ta∑k3a

fk −∑(r,s)

τ sr∑k∈Krs

fk︸ ︷︷ ︸II

Analicemos primero (I). Se sabe que la integral de la funcion inversa cumple con la siguienteigualdad: ∫ y

0

f(z) dz +

∫ f(y)

f(0)

f−1(z) dz = yf(y).

Por lo tanto, en este caso tenemos que:∫ xa

0

ta(z) dz +

∫ ta(xa)

ta(0)

t−1a (z) dz = xata(xa)

⇓∫ xa

0

ta(z) dz +

∫ ta

t0a

t−1a (z) dz = xata

⇓∫ xa

0

ta(z) dz − taxa = −∫ ta

t0a

t−1a (z) dz. (5.6)

Resta ver que pasa con (II). Por definicion,

τ sr = mınk∈Krs

ck.

Es decir, fijado un par O-D r − s, τ sr es el menor tiempo de viaje entre dichos nodos. Si k esel camino mas corto, entonces τ sr = ck. A su vez, si un camino es el mas corto, entonces lleva

1 Puede salir fuera del mınimo, ya que no depende de fk ni x.

Page 58: Facultad de Ciencias Exactas. Departamento de Matem aticas

5. Dualidad Lagrangiana 58

flujo. Podemos concluir entonces que:

τ sr = ck ⇔ fk > 0.

Por otro lado, si un camino k no es el mas corto, entonces no lleva flujo, dando lugar a:

τ sr < ck ⇔ fk = 0.

Con estas observaciones podemos escribir∑k∈Krs

τ sr fk =∑k∈Krs

ckfk.

y por lo tanto:

∑(r,s)

τ sr∑k∈Krs

fk =∑(r,s)

∑k∈Krs

τ sr fk

=∑(r,s)

∑k∈Krs

ckfk

(3,1a)=∑(r,s)

∑k∈Krs

∑a∈A

taδa,kfk

=∑(r,s)

∑a∈A

ta∑k∈Krs

δa,kfk

=∑(r,s)

∑a∈A

ta∑k3a

fk

=∑a∈A

ta∑k3a

fk

⇓∑a∈A

ta∑k3a

fk −∑(r,s)

τ sr∑k∈Krs

fk = 0. (5.7)

Reemplazando (5.6) en (I) y (5.7) en (II), tenemos:

sup(t,τ)

∑(r,s)

τ sr qrs mın(fk,x)

∑a∈A

[−∫ ta

t0a

t−1a (z) dz

]+ 0

2

= sup(t,τ)

∑(r,s)

τ sr qrs +∑a∈A

[−∫ ta

t0a

t−1a (z) dz

]3

= mın(t,τ)−∑(r,s)

τ sr qrs −∑a∈A

[−∫ ta

t0a

t−1a (z) dz

]

= mın(t,τ)

∑a∈A

[∫ ta

t0a

t−1a (z) dz

]−∑(r,s)

τ sr qrs.

que es justamente el problema Lagrangiano dual (D).En este caso el problema dual se representa como un problema de minimizacion. Esto se

debe simplemente al cambio de signo realizado en (3).

2 Se saca el mınimo porque ya nada depende de fk ni x.3 sup f(x) = mın[−f(x)].

Page 59: Facultad de Ciencias Exactas. Departamento de Matem aticas

5. Dualidad Lagrangiana 59

Como se vio en secciones anteriores, la idea es resolver el problema dual para luego hallarla solucion del problema primal.

La funcion dual φ(t) es estrictamente convexa, por lo tanto para cada s ∈ T = {t ∈ R|A | :t ≥ t0} y ξ ∈ ∂φ(s) se tiene que:

φ(t) ≥ φ(s) + ξ(t− s) ∀t ∈ T.

Por definicion de supremo (es la menor de las cotas superiores), se obtiene:

φ(t) ≥ sups∈T, ξ∈∂φ(s)

{φ(s) + ξ(t− s)} ≥ sups∈T{φ(s) + ξ(t− s), ξ ∈ ∂φ(s)}.

Ademas,

φ(t) = φ(t) + ξ(t− t) ≤ sups∈T{φ(s) + ξ(t− s), ξ ∈ ∂φ(s)} ≤ sup

s∈T, ξ∈∂φ(s)

{φ(s) + ξ(t− s)}.

Con lo cual se obtiene:

φ(t) = sups∈T{φ(s) + ξ(t− s), ξ ∈ ∂φ(s)} = sup

s∈T, ξ∈∂φ(s)

{φ(s) + ξ(t− s)}.

A partir de este resultado se plantea el siguiente problema:

mınz∈R,t∈T

z

s.a :

z ≥ φ(s) + ξ(t− s) ∀s ∈ T, ∀ξ ∈ ∂φ(s).

(Z)

donde t = (ta)a∈A .La idea es demostrar que resolver (D) es equivalente a resolver (Z), ya que este ultimo

problema resulta mas sencillo y puede resolverse, por ejemplo, utilizando el metodo de planoscortantes.

Sea (z∗, t∗) solucion de (Z), entonces z∗ es el menor de los z ∈ R tal que z∗ ≥ φ(s)+ξ(t∗−s),para todo s ∈ T y para todo ξ ∈ ∂φ(s). Como el supremo es la menor de las cotas superiores,entonces:

z∗ ≥ sups∈T, ξ∈∂φ(s)

{φ(s) + ξ(t∗ − s)} = φ(t∗).

Por otro lado, como φ es convexa tenıamos que

φ(t∗) ≥ sups∈T, ξ∈∂φ(s)

{φ(s) + ξ(t∗ − s)}.

De esta manera se tiene que φ(t∗) es un punto factible de (Z). Pero como z∗ es el mınimo,debe ser φ(t∗) ≥ z∗. Como se probaron las dos desigualdades, vale entonces

z∗ = φ(t∗).

Solo restarıa probar que φ(t∗) es el valor mınimo de φ(t), y tendrıamos de esa manera quet∗ es solucion de (D).

Supongamos que existe t tal que φ(t) ≤ φ(t) , ∀t ∈ T . Entonces vale, en particular, parat = t∗:

φ(t) ≤ φ(t∗).

Como φ(t) tambien es factible en (Z), debe ser φ(t) ≥ z∗ = φ(t∗), teniendo ası la igualdad

φ(t) = φ(t∗).

Con esto queda demostrado que al resolver (Z) (es decir, al hallar (z∗, t∗)) queda automati-camente resuelto el problema (D), ya que se vio que t∗ es el valor que minimiza φ(t).

Page 60: Facultad de Ciencias Exactas. Departamento de Matem aticas

5. Dualidad Lagrangiana 60

Pasos de cutting planes para resolver (Z)

1. Dado s0 ∈ T , buscar ξ0 ∈ ∂φ(s0). Hacer k = 1.

2. Resolvermın

z∈R,t∈Tz

s.a :

z ≥ φ(sj) + ξj(t− sj) ξj ∈ ∂φ(sj), j = 0, 1, ..., k − 1.

(5.8)

3. Dada la solucion (z∗, t∗) del problema (5.8), chequear si resuelve (Z). Si no lo resuelve,agregar una nueva restriccion a (5.8).

¿Que se necesita para resolver el problema anterior?Para las restricciones es necesario:

Conocer el subdiferencial de φ. Si bien no se vera la demostracion en este trabajo, podemosdecir que

∂φ(t) = {t−1(t)−∑(r,s)

qrsδsr(t)}.

donde t−1 denota la inversa de la funcion de costo de arco (ya se vio que ta = ta(xa), conlo cual t−1

a depende del tiempo), y δsr ∈ ∂τ sr (t), que es la capsula convexa de los caminosmas cortos.

Por lo tanto, para calcular ξj ∈ ∂φ(sj), se debe:

1. Buscar los caminos mas cortos entre cada origen y cada destino.

2. Para cada par O-D r − s, calcular δsr ∈ τ sr (sj), es decir, elegir un camino o unacombinacion convexa de los caminos mas cortos.

3. Calcular un elemento del subdiferencial:

ξj = t−1(sj)−∑(r,s)

qrsδsr(sj).

Calcular φ: para esto se debe calcular t−1 y su integral.

5.3.2. Ejemplos

El algoritmo de cutting planes se programo en MATLAB para aplicarse a diferentes ejem-plos. En todos los casos se considero que solo se contaba con un origen y un destino.

Se utilizo una funcion de costo lineal, dada por:

s(w) = t0 + γw. (5.9)

donde w representa al vector de flujos y s(w) tiene en cada componente el costo de cada arcoasociado a ese flujo (es decir, el tiempo que lleva recorrer cada arco). Tanto t0 como γ sonparametros que se tienen como datos.

Dada la funcion de costo (5.9), la funcion objetivo del problema primal esta dada por:∫ w

0

s(z) dz =

∫ w

0

(t0 + γz) dz = w(t0 +

γw

2

). (5.10)

Page 61: Facultad de Ciencias Exactas. Departamento de Matem aticas

5. Dualidad Lagrangiana 61

1

2

3

a

b

c

Fig. 5.5: Red de 3 nodos y 3 arcos para el ejemplo 1.

Para conocer la funcion objetivo del problema dual se necesita, en primer lugar, conocer lainversa de la funcion de costo y su integral. Como t = s(w) = t0 + γw , entonces

s−1(t) =t− t0γ

.

De esta manera, su integral estara dada por:∫ t

t0

s−1(u) du =

∫ t

t0

(u− t0γ

)du =

(t− t0)2

2γ. (5.11)

Ejemplo 1

Consideremos una red como la de la Figura 5.5 con 3 nodos y 3 arcos, y supongamos quese quieren trasladar 10 unidades de flujo desde el nodo 1 hacia el nodo 3, con el menor costo(tiempo de viaje) posible. La resolucion se hara utilizando el algoritmo de cutting planes.

En primer lugar se puede observar que hay dos caminos que conectan el nodo de origen yel de destino:

x1 : 1→ 3

x2 : 1→ 2→ 3.

Los datos a utilizar son:t0 = [1, 1, 1]

γ = [2, 1, 1]

q13 = 10

Precision = 0,0001.

El algoritmo arroja como resultado el siguiente vector de flujos de acuerdo al equilibrio deWardrop:

w = [2,2462, 7,7501, 2,2577].

Para dicho flujo, el correspondiente tiempo de viaje esta dado por:

t = [5,4924, 8,7501, 3,2577].

De estos resultados se deduce que por el camino 1 se trasladan (aproximadamente) 7.75unidades de flujo, mientras que las restantes 2.25 lo hacen por el camino 2 2. Es claro queambos caminos son utilizados, y si se suma el flujo que recorre cada arco se obtiene la cantidadque querıa transladarse (10 undiades de flujo). El tiempo que lleva recorrer el camino 1 es8.7501, y el tiempo que lleva recorrer el camino 2 se obtiene sumando el tiempo del arco a yel arco c, arrojando un valor de 8.7502. Estos tiempos son aproximadamente iguales, lo cualindica que se esta cumpliendo el equilibrio de Wardrop: todos los caminos que transportan flujodeben tener el mismo tiempo de viaje, y este debe ser el menor posible.

2 Los valores seran mas exactos si se pide mayor precision.

Page 62: Facultad de Ciencias Exactas. Departamento de Matem aticas

5. Dualidad Lagrangiana 62

1

2

3

4

a

b

c

d

Fig. 5.6: Red de 4 nodos y 4 arcos para el ejemplo 2.

Ejemplo 2

Tomemos ahora una red como la de la Figura 5.6, formada por 4 nodos y 4 arcos, y supon-gamos que nuevamente quieren trasladarse 10 unidades de flujo entre el nodo 1 y el nodo 4.Los caminos posibles en este caso son:

x1 : 1→ 2→ 4

x2 : 1→ 3→ 4.

Los datos que se utilizaran son:t0 = [1, 1, 1, 1]

γ = [2, 1, 2, 1, ]

Precision = 0, 0001.

Los resultados obtenidos luego de ejecutar el algoritmo con estos datos son los siguientes:

w = [3,3343, 6,6687, 3,3343, 6,6687].

t = [7,6687, 7,6687, 7,6687, 7,6687].

Puede verse que el tiempo de viaje es el mismo por todos los arcos, y por lo tanto tambiencoincide por ambos caminos (7,6687 + 7,6687 = 15,3374 unidades de tiempo). Sin embargo,el flujo que se mueve por cada arco es distinto. Esto se debe al valor que se le dio a γ: losvalores correspondientes a los arcos a y c son mayores a los otros, generando ası un mayor costoa la hora de moverse por estos arcos. Si se suma el flujo que se mueve por los dos caminos,nuevamente se obtienen las 10 unidades de flujo que desean transportarse.

Es importante observar que si se cambia el tiempo inicial t0, tambien cambia el tiempo quese obtiene luego de aplicar el algoritmo. Por ejemplo, si se toma t0 = [1, 1, 1, 2], sera:

w = [3,5006, 6,4928, 3,5006, 6,4928].

t = [8,0012, 7,5096, 8,0012, 8,4928].

En este caso, el tiempo que lleva recorrer el camino 1 es 8,0012+8,0012 = 16,0024 unidadesde tiempo, lo cual coincide con el tiempo empleado en el camino 2 (7,5096 + 8,4928 = 16,0024).Es decir, si se aumenta el tiempo inicial en algun arco (en este caso, en el arco d), aumentatambien el tiempo de viaje final entre el origen y el destino. El flujo asignado a los arcos b y dsigue siendo mayor, ya que no se modifico el valor de γ.

Page 63: Facultad de Ciencias Exactas. Departamento de Matem aticas

5. Dualidad Lagrangiana 63

1

2

3

4

a

b

d

c

e

Fig. 5.7: Red de 4 nodos y 5 arcos para el ejemplo 3.

Ejemplo 3

Como tercer y ultimo ejemplo, consideremos una red como la de la Figura 5.7, con 4 nodosy 5 arcos. Esta red es muy silmilar a la del ejemplo anterior, solo que se agrego un arco que vadesde el nodo 3 hacia el nodo 2 generando que ahora haya tres caminos posibles para ir desdeel nodo 1 hacia el 4:

x1 : 1→ 2→ 4

x2 : 1→ 3→ 2→ 4

x1 : 1→ 3→ 4.

Nuevamente el objetivo es enviar 10 unidades de flujo desde el nodo de origen hacia elde destino (es decir, q14 = 10) y se utiliza la misma funcion de costo lineal. Los otros datosutilizados al aplicar el algoritmo son:

t0 = [1, 1, 1, 1, 2]

γ = [2, 1, 1, 2, 1]

Precision = 0,0001.

Los resultados obtenidos son:

w = [3,9984, 5,9975, 4,4976, 0,4996, 5,4969].

t = [8,9968, 6,9975, 5,4976, 1,9993, 7,4969].

El tiempo se interpreta igual que antes: para saber cuanto tiempo se debe emplear pararecorrer el camino 1 se hace t(1) + t(3), para el camino 2 t(2) + t(4) + t(3) y para el camino 3t(2) + t(5). En todos los casos, el tiempo que lleva recorrer cualquiera de los caminos es 14,4944unidades de tiempo.

En los ejemplos anteriores se sumaba el flujo por cada camino y el resultado debıa ser igual(o aproximado, teniendo en cuenta que se trabaja con cierto nivel de tolerancia) a 10. En esteejemplo hay que tener en cuenta que algunos arcos forman parte de mas de un camino (el arcob y el c), por lo tanto solo se debe sumar el flujo que recorre aquellos arcos que forman partede un solo camino:

wa + wd + we = 3,9984 + 0,4996 + 5,4969 = 9,9949 ' 10.

Si se hace lo mismo que en los ejemplos anteriores el resultado serıa incorrecto, ya quealgunos flujos se sumarıan dos veces.

Page 64: Facultad de Ciencias Exactas. Departamento de Matem aticas

5. Dualidad Lagrangiana 64

5.3.3. Desventajas del modelo

Llamemos φk = maxi=1,...,k

φ(xi) + ξi(y − xi). La secuencia generada por el algoritmo de cutting

planes no arroja necesariamente valores objetivo decrecientes de φ(xk). De hecho, cuando unpunto xk se encuentra muy proximo al mınimo, la iteracion siguiente no sera buena (en elsentido de que no decrece el valor objetivo). Esto se debe a que en el paso siguiente se agregaraun modelo φk de una funcion afın “casi horizontal”. Como consecuencia de esto, el minimizadordel modelo (xk+1) es “empujado lejos” del mınimo de φ.

Otro inconveniente que presenta cutting planes es que acumula infinitas funciones afines.Cuando k crece, el problema lineal (5.8) define iteraciones que tienen cada vez mas restricciones.Ademas, debido a la inestabilidad del metodo, estas restricciones son similares entre sı. Unaopcion para superar este problema serıa “limpiar el modelo” y eliminar aquellas restricciones“menos activas”, siguiendo algun criterio establecido previamente. Lamentablemente, debidoa la naturaleza del modelo las restricciones “inactivas” solo pueden seleccionarse medianteheurısticas, las cuales no son compatibles con ningun resultado de convergencia.

Si bien no se tratara el tema en este trabajo, una alternativa al metodo de cutting planes sonlos Metodos de paquete (Metodos bundle). Estos metodos mantienen la idea original de cuttingplanes pero fuerzan de cierto modo el decrecimiento de φ (solucionando ası el primer problema)y utilizan diferentes tecnicas para controlar el tamano de los subproblemas que definen lasdirecciones, sin perjudicar las propiedades originales de la convergencia global.

Page 65: Facultad de Ciencias Exactas. Departamento de Matem aticas

6. MODELOS DE ELECCION DISCRETOS. CARGA DE REDESTOCASTICA

En esta parte del trabajo se describe el proceso de seleccion de rutas como una eleccion entrediferentes caminos cuyos tiempos son aleatorios. La formulacion se basa en diferentes modelosde eleccion discretos. Estos modelos asumen que cada alternativa disponible para el usuariotiene asociada cierta medida de “atraccion” o “utilidad”, y que cada viajante elegira tomaraquel camino que maximice estas medidas. La utilidad de una alterntiva puede verse como unafuncion de sus atributos y de las caracterısticas del usuario.

En este punto surge el primer obstaculo, y es que la utilidad no puede ser observada omedida de manera directa. Ademas, muchos de los atributos que influencian las decisiones delos viajantes tampoco pueden ser observados, con lo cual se los considera variables aleatorias.Esto deriva en que la utilidad tambien sea aleatoria, y por lo tanto los modelos de eleccion solodaran la probabilidad de que una alternativa sea elegida, y no la eleccion en si.

En lo que sigue se presentaran algunos de los conceptos mas basicos asociados con losmodelos de eleccion discretos (tambien conocidos como modelos de utilidad aleatoria), talescomo la funcion de eleccion y la funcion de satisfaccion.

Funcion de eleccion

Sea K un conjunto de alternativas, numeradas 1, 2, ..., K, y sea U = (U1, ..., UK) el vectorde utilidades asociado a dichas alternativas. Como se dijo anteriormente, la utilidad de unaalternativa es una funcion de sus atributos y de las caracterısticas del usuario que tomara ladecision. Denotaremos por a al vector que representa a estos atributos y caracterısticas, conlo cual se tiene que Uk = Uk(a). Para incorporar los atributos y caracterısticas que no sonobservados, la utilidad de cada alternativa se expresa como una variable aleatoria que consisteen una componente sistematica determinıstica Vk(a) y un “termino de error” ξk(a), es decir:

Uk(a) = Vk(a) + ξk(a) ∀k ∈ K .

La componente aleatoria satisface E[ξk(a)] = 0, lo cual significa que E[Uk(a)] = E[Vk(a)].En este contexto, a veces se hace referencia a Uk(a) como la “utilidad percibida” (por quientoma la decision), mientras que Vk(a) se conoce como “utilidad medida” (por quien analiza lasituacion).

Dada la distribucion de posibles valores de utilidad, puede calcularse la probabilidad de queuna alternativa particular sea elegida por cierto individuo (tomado de manera aleatoria de unapoblacion dada). La distribucion de las utilidades es una funcion del vector de atributos a, conlo cual la probabilidad de que una alternativa k (con k ∈ K ) sea elegida, Pk, esta relacionadacon a. La funcion que relaciona Pk con a se conoce como funcion de eleccion y se denota porPk(a). La probabilidad de que una alternativa k sea elegida dado a se debe entender como lafraccion de individuos de una poblacion grande (todos ellos caracterizados por a) que eligen laopcion k. La probabilidad de eleccion es, por lo tanto, la probabilidad de que la utilidad Uk seamayor que la utilidad de cualquier otra alternativa:

Pk(a) = Pr[Uk(a) ≥ Ul(a), ∀l ∈ K ] ∀k ∈ K .

Page 66: Facultad de Ciencias Exactas. Departamento de Matem aticas

6. Modelos de eleccion discretos. Carga de red estocastica 66

La funcion de eleccion tiene todas las propiedades de una funcion de probabilidad:

0 ≤ Pk(a) ≤ 1

K∑k=1

Pk(a) = 1.

Una vez que se especifica la distribucion del termino de error ξk puede determinarse ladistribucion de las utilidades, y la funcion de eleccion se puede calcular explıcitamente.

Logit Multinomial

Uno de los modelos mas utilizados es el modelo logit. Es un metodo que deriva de losconceptos de utilidad aleatoria y maximizacion de utilidad, y asume que los terminos aleatoriosde cada funcion de utilidad son independientes e identicamente distribuidos, con distribucionGumbel 1. La probabilidad de eleccion esta dada por:

Pk =eVk∑Kl=1 e

Vl∀k ∈ K . (6.1)

En la formula anterior se omite la dependencia de Pk y Vk de a simplemente para nosobrecargar la notacion.

La probabilidad de eleccion de una alternativa dada tambien puede expresarse como unafuncion de la diferencia entre la utilidad de esa alternativa y de todas las otras. Para esto,simplemente se divide el lado derecho de la igualdad en (6.1) por eVk y se obtiene:

Pk =1

1 +∑

l 6=k eVl−Vk

. (6.2)

Probit Multinomial

El modelo probit se basa en suponer que el termino de error aleatorio de cada utilidad tieneuna distribucion normal. De esta manera, la funcion de densidad conjunta de este termino deerror sera, en cada caso, una funcion normal multivariable (MVN). La distribucion MVN es unaextension multinomial de la funcion de densidad normal conocida, y describe la distribucion delvector aleatorio ξ = (ξ1, ..., ξK). Esta distribucion esta caracterizada por un vector de mediasde longitud K, µ, y una matriz de covarianza de K × K, Σ. Esta situacion se denota porξ ∼ MVN(µ,Σ). La matriz de covarianza contiene la varianza de las componenetes del vectoraleatorio y la covarianza entre estas componentes:

(Σ)kk = var (ξk) ∀k y (Σ)kl = cov (ξk, ξl) ∀k 6= l.

Dada una matriz de covarianza asociada con la aleatoriedad de las alternativas y un vectorde atributos conocidos de estas alternativas, la distribucion del vector de utilidad se puedemodelar como una normal multivariable. En otras palabras:

U(a) ∼ MVN[V (a),Σ].

Como en todos los modelos discretos, la probabilidad de que una alternativa sea elegidacorresponde a la probabilidad de que su utilidad sea mayor que la de todas las otras opciones.En el caso del modelo probit esta probabilidad no puede expresarse analıticamente, ya que la

1 La funcion de distribucion acumulada Gumbel esta dada por F (w) = Pr (ξk ≤ w) = e−e−w+E , donde w escualquier numero real y E = 0,5708... es la constante de Euler.

Page 67: Facultad de Ciencias Exactas. Departamento de Matem aticas

6. Modelos de eleccion discretos. Carga de red estocastica 67

funcion de distribucion acumulada normal no se puede evaluar en forma explıcita. Si solo setienen dos alternativas, las probabilidades P1(a) y P2(a) se pueden calcular por tabla. Cuandoel numero de variables es mayor, se puede recurrir a alguna aproximacion analıtica o a unasimulacion de Monte Carlo.

Las aproximaciones analıticas pueden ser de dos tipos: algoritmos de integracion numericao un metodo de aproximaciones sucesivas.

Los metodos de integracion numerica tratan de resolver la probabilidad de eleccion de ma-nera directa, con lo cual se obtiene una integral multiple que expresa la funcion de distribucionacumulada de las utilidades. Luego, esta integral se resuelve numericamente. La desventaja deeste tipo de metodos es que no puede aplicarse a problemas que involucren mas de cuatro ocinco alternativas, debido a los costos computacionales.

En cuanto al metodo de aproximaciones sucesivas (o metodo de Clark), la idea generalconsiste en aproximar la distribucion del maximo de dos variables aleatorias normalmente dis-tribuidas. Supongamos que quiere calcularse la probabilidad de una alternativa k. En cadaiteracion se toman dos utilidades aleatorias y se construye una variable aleatoria auxilar corres-pondiente a su maximo. En la siguiente iteracion, se calcula una nueva variable auxiliar, dadapor el maximo entre la variable auxiliar anterior y otra variable de utilidad. Luego, la nuevavariable auxiliar reemplaza a la anterior. Uk se considera ultima para la comparacion. En estepunto, la variable auxiliar se aproxima a la distribucion del maximo de todas las utilidades(excepto k). De esta manera, la probabilidad de eleccion es:

Pk = Pr

(Uk ≥ max

∀l 6=kUl

). (6.3)

ya que esto equivale a la probabilidad de que Uk sea mayor o igual que todas las Ul, con l 6= k.La ecuacion (6.3) incluye solo dos variables aleatorias (Uk y max

∀l 6=kUl) con lo cual Pk se puede

calcular por tabla.Las aproximaciones sucesivas se pueden aplicar a problemas mas grandes en comparacion

con el metodo de integracion numerica. Sin embargo, tambien involucra un costo computacionalprohibitivo en el caso de redes de gran tamano. Ademas, la precision del metodo disminuye amedida que aumenta el numero de alternativas.

La simulacion de Monte Carlo tambien puede utilizarse para calcular la funcion de eleccionde cualquier modelo de eleccion discreto. Consideremos un conjunto de funciones de utilidad:Uk = Vk + ξk, ∀k ∈ K . Dados los valores de V = (V1, ..., VK), en cada iteracion se crea unvector que contiene K variables aleatorias a partir de la funcion densidad de ξ. En la iteracionn, las variables generadas se denotan ξn1 , ..., ξ

nK . Ahora puede calcularse la utilidad percibida de

cada alternativa, simplemente haciendo Unk = Vk + ξnk , ∀k. Luego, la alternativa con maxima

utilidad (es decir, la alternativa para la cual Unk ≥ Un

l ∀l) se almacena. Este proceso se repiteN veces, y se denota por Nk al numero de veces que cada alternativa k fue almacenada. Porultimo, la probabilidad de eleccion esta dada por:

Pk ≈Nk

N. (6.4)

que, cuando N →∞, cumple Pk = Nk/N . Esta tecnica es muy util para el analisis de redes.

Funcion de satisfaccion

Sea K un conjunto de alternativas, cada una con una utilidad Uk. La utilidad que unindividuo espera obtener de ese conjunto de alternativas se conoce como satisfaccion, y se denotapor S. Como se asume que se elige la alternativa con mayor utilidad, se tiene simplemente que:

Page 68: Facultad de Ciencias Exactas. Departamento de Matem aticas

6. Modelos de eleccion discretos. Carga de red estocastica 68

S = E[max∀k{Uk}

]. (6.5)

La esperanza estara dada por la distribucion de U , la cual a su vez deriva de la distribucionde ξ.

La satisfaccion puede expresarse como una funcion del vector de atributos a, lo cual dalugar a la funcion de satisfaccion S(a). Dada la distribucion de ξ y debido a que V = V (a), lasatisfaccion puede expresarse tambien como una funcion del vector de utilidades medidas V :

S(V ) = E[max∀k{Vk + ξk}

]. (6.6)

La funcion de satisfaccion tiene tres propiedades importantes:

1. Es convexa con respecto a V . De hecho, para los modelos de eleccion discretos que se venaquı, es estrictamente convexa.

2. ∂S(V )∂Vk

= Pk(V ) ∀k ∈ K .

3. Es monotona respecto al tamano del conjunto de eleccion, es decir:

S(V1, ..., Vk, Vk+1) ≥ S(V1, ..., Vk).

Para los modelos logit podemos obtener la funcion de satisfaccion teniendo en cuenta lapropiedad 2. Como

∂S(V )

∂Vk=

eVk∑l eVl.

entonces se tiene que

S(V ) = ln

(∑l

eVl

).

En el caso de los modelos probit la funcion no puede calcularse explıcitamente, pero puedeutilizarse el metodo de Clark y S se puede calcular mediante aproximaciones sucesivas. Tambienpodrıa utilizarse una simulacion de Monte Carlo. En este caso, en cada iteracion se almacenala utilidad de la alternativa elegida (Un = max

∀l{Un

l }). La satisfaccion estara dada por

S ' 1

N

N∑n=1

Un.

donde N es el numero de iteraciones.

6.1. Carga de red estocastica

En los capıtulos anteriores se desarrollo el modelo de Equilibrio del Usuario, donde se asumeque cada individuo elige aquel camino con menor tiempo de viaje. Esto da lugar a una asignaciontodo o nada, es decir, la red se carga asignando todo el flujo a el/los camino/s cuyo tiempo deviaje es el menor posible. El modelo ademas considera que el tiempo de viaje depende del flujo.

En esta seccion se pretenden utilizar los modelos de eleccion discretos vistos anteriormentepara formular un mecanismo de carga de la red mas general que el de todo o nada. Estemecanismo se llamara carga de red estocastica, y no se basa en la relacion que hay entre eltiempo de viaje y el flujo, sino que se centra en tratar al tiempo de viaje como una variablealeatoria.

Page 69: Facultad de Ciencias Exactas. Departamento de Matem aticas

6. Modelos de eleccion discretos. Carga de red estocastica 69

Eleccion de ruta

Consideremos una cantidad de conductores que desean moverse desde cierto origen haciacierto destino. Este par O-D esta conectado por diferentes caminos, cada uno de ellos asociadocon cierto tiempo de viaje. Cada viajante puede percibir este tiempo de manera diferente, con locual resulta natural modelar el tiempo de viaje percibido como una variable aleatoria distribuıdaa traves de la poblacion de conductores. Dada su percepcion del tiempo, se asume que cadaviajante toma aquel camino cuyo tiempo es menor. Sin embargo, como el tiempo percibido esaleatorio, diferentes usuarios pueden tomar diferentes caminos de acuerdo a sus percepciones.Por otro lado, cada camino tendra asociada alguna funcion densidad de probabilidad, la cualdara la probabilidad de que un viajante asocie un tiempo determinado a ese camino. La cargade red estocastica consiste en determinar, basandose en esta distribucion, cuantos viajantesutilizan cada camino. Finalmente, el flujo por cada arco se puede obtener a partir del flujo porcada camino, utilizando las relaciones de incidencia.

Para poder estudiar el problema analıticamente, se denotara por Crsk al tiempo de viaje

percibido por la ruta k que conecta el origen r con el destino s, donde k ∈ Krs. Crsk es una

variable aleatoria. Ademas, consideremos crsk el tiempo de viaje actual o medido por el caminok que une el par r − s. Por ultimo, asumamos que

Crsk = crsk + ξrsk ∀k, r, s. (6.7)

donde ξrsk es un termino de error aleatorio asociado con la ruta que se esta considerando. Esteerror es tal que E[ξrsk ] = 0, o lo que es lo mismo, E[Crs

k ] = crsk (es decir, el tiempo promediopercibido coincide con el tiempo de viaje actual). Si la poblacion de conductores entre r y s esgrande, la proporcion de estos conductores que tomara el camino k, P rs

k , estara dada por:

P rsk = Pr(Crs

k ≤ Crsl , ∀l ∈ Krs) ∀k, r, s. (6.8)

Es decir, la probabilidad de que una ruta sea elegida es la probabilidad de que el tiempo deviaje percibido por esta ruta sea menor que el de todas las otras.

A la ecuacion (6.8) se la puede interpretar en el marco de los modelos de elecicon discretos.En este caso, la poblacion de interes es igual a la tasa de viajes entre r y s. Cada camino kes una alternativa, que tiene asociada alguna funcion de utilidad U rs

k . Por su parte, la utilidadcorresponde al costo negativo de cada camino: U rs

k = −Crsk . Al aplicar el principio de maximi-

zacion de utilidad se obtiene (6.8). Podemos concluir entonces que la alternativa con la mayorutilidad percibida es la alternativa con el menor tiempo de viaje percibido.

Los modelos de carga de red estocasticos se diferencian entre sı simplemente por la distri-bucion de los tiempos de viaje percibidos. Una vez que se especifica esta distribucion se puedecalcular la probabilidad de elegir cada ruta, y finalmente puede calcularse el flujo que se asignaa cada camino:

f rsk = qrsPrsk ∀k, r, s. (6.9)

donde P rsk es la probabilidad de eleccion de la ruta dada por (6.8). El flujo por arco puede

obtenerse como:

xa =∑rs

∑k

f rsk δrsa,k ∀a. (6.10)

Hay una razon por la cual se prefiere el modelo estocastico por sobre el determinıstico, yse tratara a continuacion. Consideremos una red simple de dos nodos y dos arcos, los cualesson tambien caminos. Supongamos que el tiempo de viaje por el camino 1 es c1 = c2 + ∆t. Eneste caso, el Equilibrio de Usuario determinıstico establece que debe asignarse todo el flujo al

Page 70: Facultad de Ciencias Exactas. Departamento de Matem aticas

6. Modelos de eleccion discretos. Carga de red estocastica 70

camino 2 (f1 = 0 y f2 = q), incluso si ∆t → 0. Sin embargo, cada camino de esta red puedetener diferentes facilidades de transporte (puentes, intersecciones, etc.) y un pequeno error enla medicion de los datos de alguna de estas facilidades puede generar que sea c1 < c2 por unapequena cantidad. Por mas que la diferencia sea pequena, el resultado de la asignacion seracompletamente distinto (f1 = q y f2 = 0).

El modelo estocastico evita este tipo de situaciones. La probabilidad de que se elija la ruta1 es aproximadamente igual a 0,5 si c1 ' c2. Un pequeno cambio en la representacion en redpuede generar que la cuota de viajes que tiene lugar en cada ruta cambie de poco menos del50 % a poco mas del 50 % del total del flujo O-D. En otras palabras, un pequeno cambio en lostiempos de viaje genera un poqueno cambio en el patron de flujo.

6.2. Modelos de carga de red estocastica

Estos modelos son un caso especial de los modelos de eleccion discretos que se vieron alprincipio del capıtulo. Para poder aplicarlos se debe conocer la funcion distribucion de proba-bilidad del tiempo de viaje percibido por cada camino, ya que de esta manera se puede calcularla probabilidad de que cada camino sea elegido.

6.2.1. Modelos de carga logit

Sea k una ruta que une el nodo r con el nodo s. El modelo de eleccion de ruta logit se basaen suponer que la utilidad del camino esta dada por:

U rsk = −θcrsk + εrsk ∀k, r, s. (6.11)

donde crsk es el tiempo de viaje medido, θ es un parametro positivo y εrsk es un termino aleatoriocon distribucion Gumbel. Este ultimo se relaciona con el termino aleatorio del tiempo de viajepercibido de la siguiente manera: εrsk = −θξrsk , ∀r, s. Es importante observar que, como losterminos de error de cada camino se asumen identicamente distribuıdos, se puede reemplazarεrsk simplemente por εrs. Siguiendo la ecuacion (6.1) se obtiene que

P rsk =

e−θcrsk∑

l e−θcrsl

∀k, r, s. (6.12)

El tiempo de viaje percibido se presento en la ecuacion (6.7). Teniendo en cuenta la relacionentre los terminos de error, ahora puede formularse como:

Crsk = crsk −

1

θεrs ∀k, r, s. (6.13)

El parametro θ simplemente se encarga de “escalar” el tiempo de viaje percibido. Si θ esmuy grande, la percepcion del error es pequena y por lo tanto todos los usuarios van a tendera elegir aquel camino con menor tiempo de viaje medido. Por su parte, un valor pequeno deθ genera una gran variedad de percepciones, con lo cual los usuarios elegiran muchos caminosdistintos, incluyendo algunos que son mas largos (en terminos de tiempo de viaje medido) queel verdadero camino mas corto. Cuando θ → 0 el flujo en todos los caminos tiende a ser igual,independientemente del tiempo de cada ruta.

Algoritmo STOCH

Este algoritmo se conoce como metodo de STOCH o algoritmo de Dial. El procedimientoinvolucra un modelo de eleccion logit, pero no le asigna una probabilidad de eleccion a cadacamino, sino que en una primera instancia selecciona rutas que son “razonables” y solo calcula

Page 71: Facultad de Ciencias Exactas. Departamento de Matem aticas

6. Modelos de eleccion discretos. Carga de red estocastica 71

(a) (b)

Fig. 6.1: Red de ejemplo para el algoritmo de STOCH. [1]

sus probabilidades de eleccion. El flujo O-D solo se asignara a estos caminos, de acuerdo a laformula logit con parametro θ.

Consideremos una red de 9 nodos y 12 arcos como la de la Figura 6.1(a), donde se muestrantambien los tiempos de viaje por cada arco. Supongamos ademas que desean asignarse 1000viajes por unidad de tiempo entre el nodo 1 y el nodo 9, los cuales se encuentran conectadospor 6 caminos.

El algoritmo considera que un camino es razonable si contiene arcos que “se alejan” delorigen y “se acercan” al destino. Para identificar esta situacion, a cada nodo i se le asignandos etiquetas: r(i), que representa el tiempo de viaje desde el origen r hacia el nodo i a travesdel camino con menor tiempo de viaje y s(i), que representa el tiempo de viaje desde el nodoi hacia el destino s a traves del mismo camino. De esta manera, un camino sera razonable sitiene arcos i→ j tales que r(i) < r(j) y s(i) > s(j). A continuacion se presentan los pasos delalgoritmo para un par O-D, r − s.

Paso 0. Preliminares:

1. Calcular el mınimo tiempo de viaje desde el nodo r hacia todos los otros nodos.Calcular r(i) para cada nodo i.

2. Calcular el mınimo tiempo de viaje desde cada nodo i hasta el nodo s. Calcular s(i)para cada nodo i.

3. Definir Oi como el conjunto de aquellos nodos que “descienden” al seguir un arcoque sale de i.

4. Definir Fi como el conjunto de nodos que “ascienden” al seguir un arco que llega alnodo i.

5. Para cada arco i→ j calcular la “posibilidad de enlace” L(i→ j) donde:

L(i→ j) =

{eθ[r(j)−r(i)−t(i→j)] si r(i) < r(j) y s(i) > s(j)

0 en otro caso.(6.14)

donde t(i→ j) es el tiempo de viaje medido por el arco i→ j.

Los valores de r(· ) y s(· ) para este ejemplo se muestran en la Figura 6.1(b). De acuerdoa esto podemos anticipar que el camino 1→ 2→ 5→ 6→ 9 es razonable, mientras que1→ 4→ 7→ 8→ 9 no lo es, ya que s(4) = s(7).

Page 72: Facultad de Ciencias Exactas. Departamento de Matem aticas

6. Modelos de eleccion discretos. Carga de red estocastica 72

Fig. 6.2: Posibilidades de enlace. [1]

Si consideramos θ = 1, se obtienen los valores de L(i→ j) que se muestran en la Figura6.2, y puede verse como L(i→ j) = 1 para todos los arcos que se encuentran en el caminomınimo, mientras que L(i → j) = 0 para los arcos que se encuentran en caminos “norazonables”.

Paso 1. Paso hacia adelante:

Consideremos nodos en el sentido ascendente de r(i), comezando por el origen r. Paracada nodo i se calcula el “peso del arco” w(i → j) para cada j ∈ Oi (es decir, paraaquellos arcos que salen de i) de la siguiente manera:

w(i→ j) =

{L(i→ j) si i = r

L(i→ j)∑

m∈Fiw(m→ i) en otro caso.

(6.15)

Los pesos de los arcos correspondientes a este ejemplo se muestran en la Figura 6.3.

Este paso termina cuando se alcanza el nodo de destino.

Paso 2. Paso hacia atras:

Consideremos nodos con valores ascendentes de s(j), iniciando con el destino s. Al consi-derar un nodo j, se debe calcular el flujo x(i→ j) para cada i ∈ Fj, es decir, para cadaarco que llega al nodo j. El flujo se calcula de acuerdo a la siguiente formula:

x(i→ j) =

qrsw(i→j)∑

m∈Fjw(m→j) si j = s[∑

m∈Ojx(j → m)

]w(i→j)∑

m∈Fjw(m→j) para todos los otros arcos i→ j.

(6.16)

Fig. 6.3: Peso de los arcos. [1]

Page 73: Facultad de Ciencias Exactas. Departamento de Matem aticas

6. Modelos de eleccion discretos. Carga de red estocastica 73

Este paso se aplica de manera iterativa hasta que se alcanza el nodo de origen. Los flujospor arco para el ejemplo que se esta considerando se muestran en la Figura 6.4.

Estos son los pasos del algoritmo de STOCH.El flujo por camino que genera este algoritmo coincide con el flujo generado por el modelo

logit. Para ver esto, primero debemos notar que la posibilidad de eleccion de arco L(i→ j) esproporcional a la probabilidad de que el arco i → j sea elegido por un viajante aleatorio quesale desde el nodo i. Luego, la probabilidad de que un camino sea elegido es proporcional alproducto de todas las posibilidades de eleccion de aquellos arcos que forman parte del camino,es decir:

P rsk = K

∏ij

[L(i→ j)]δrsij,k . (6.17)

donde K es una constante de proporcionalidad, el producto se toma sobre todos los arcosde la red y δrsij,k indica que la probabilidad P rs

k solo incluira aquellos arcos que forman parte delcamino k.

Esta formula puede desarrollarse aun mas, ya que conocemos L(i→ j) por (6.14):

P rsk = K

∏ij

exp{θ[r(j)− r(i)− t(i→ j)]δrsij,k}

= Kexp

{θ∑ij

[r(j)− r(i)− t(i→ j)]δrsij,k

}= Kexp{θ[urs − crsk ]}.

(6.18)

donde esto ultimo vale porque∑ij

[r(j)− r(i)]δrsij,k = r(s)− r(r) = urs.

es decir, es el menor tiempo de viaje entre r y s, y∑ij

t(i→ j)δrsij,k = crsk .

Para que (6.18) sea realmente una probabilidad, debe cumplirse que∑

k Prsk = 1. Esto

indica que la constante de proporcionalidad sera:

K =1∑

l eθ[urs−crsl ]

.

Fig. 6.4: Flujo por arco. [1]

Page 74: Facultad de Ciencias Exactas. Departamento de Matem aticas

6. Modelos de eleccion discretos. Carga de red estocastica 74

Fig. 6.5: Flujos por caminos dados por el modelo logit. [1]

y por lo tanto, reemplazandoesto en (6.18), se obtiene:

P rsk =

eθ[urs−crsk ]∑

l eθ[urs−crsl ]

=e−θc

rsk∑

l e−θcrsl

. (6.19)

La ecuacion (6.19) representa un modelo logit de eleccion de ruta entre todas las rutasrazonables que conectan el origen r con el destino s.

En la Figura 6.5 se muestran los caminos que unen el nodo de origen con el de destino en elejemplo considerado anteriormente. Ademas se muestra el flujo que se asignara a cada camino,lo cual dara el mismo flujo por arco que el algoritmo de STOCH.

El algoritmo de STOCH tiene la ventaja de que no requiere que se enumeren los caminos.Sin embargo, tiene dos desventajas significativas: por un lado, para cada par O-D es necesariocalcular dos caminos mınimos; por el otro, el algoritmo no aprovecha el hecho de que, al calcularel camino mınimo, se obtiene tambien el camino mas corto desde un nodo de origen hacia todoslos otros nodos. Estos dos aspectos hacen que el algoritmo pierda eficiencia cuando las redesson grandes.

Si se redefine el criterio con el cual un camino se considera razonable, puede obtenerse unamejora en el algoritmo. Omitiendo simplemente el segundo requerimiento, y estableciendo queel arco i → j es razonable si r(i) < r(j) ya se obtiene una mejora, ya que no debe calcularses(i) para cada nodo i.

El algoritmo modificado se conoce con el nombre de algoritmo de paso simple. Se debeejecutar para cada origen, estableciendo la posibilidad de arco L(i → j) igual a cero si r(i) >r(j) y calculando los pesos de cada arco de la misma manera que antes. El unico cambio seproduce en el Paso 2, ya que ahora el flujo por arco se calculara como:

x(i→ j) =

qrj +∑m∈Oj

x(j → m)

w(i→ j)∑m∈Fj

w(m→ j). (6.20)

Este paso comienza con el destino mas alejado, sigue de acuerdo a valores descendentes der(j), y termina cuando se alcanza el origen r.

Si se aplica el algoritmo modificado al ejemplo anterior, se obtienen los flujos por arco mos-trados en la Figura 6.6. Es importante notar que en este caso todos los caminos son razonables,con lo cual los flujos por arco no seran los mismos que para el algoritmo original.

El algoritmo de paso simple solo requiere un poco mas de esfuerzo computacional que unaasignacion todo o nada, con lo cual puede aplicarse a redes mas reales si lo comparamos con elalgoritmo de STOCH original.

Page 75: Facultad de Ciencias Exactas. Departamento de Matem aticas

6. Modelos de eleccion discretos. Carga de red estocastica 75

Fig. 6.6: Flujos por arco segun el algoritmo modificado. [1]

Crıticas a los modelos de carga de red basados en el modelo logit

El algoritmo de STOCH presenta algunos problemas, que derivan de ciertas suposicionesque se hacen en el modelo logit.

Consideremos una red como la de la Figura 6.7(a), que posee dos nodos y tres caminosque conectan dichos nodos. El tiempo de viaje por cada ruta es 1 unidad de tiempo. Las dosrutas inferiores se superponen en un punto, y se denomina ρ al segmento que tienen en comun.De acuerdo al modelo de asignacion basado en logit, por cada camino se mueve 1/3 del flujototal. Esto resulta razonable, por ejemplo, cuando ρ es relativamente pequeno como muestra laFigura 6.7(b). En este caso puede pensarse que los viajantes perciben a las tres rutas como tresalternativas que tienen (aproximadamente) el mismo tiempo de viaje. Sin embargo, si ρ es muygrande como en la Figura 6.7(c), los viajantes pueden interpretar a los dos caminos inferiorescomo una sola ruta, y por lo tanto solo tendrıan dos alternativas de viaje y deberıa asignarse1/2 del flujo a cada una de ellas. En definitiva, cuando 0 ≤ ρ ≤ 1 la ruta superior podrıallevar entre 1/2 y 1/3 del flujo total, mientras que las rutas inferiores podrıan transportar entre1/4 y 1/3 del flujo total. Por lo tanto, el modelo logit (que le asigna 1/3 a cada ruta) estarıasobreestimando el flujo que se mueve por las rutas inferiores.

Esta falla del modelo logit no se da solamente en los problemas de eleccion de ruta. Su-pongamos que se puede elegir entre dos metodos de transporte: automovil o tren. Supongamosademas que, dentro de la modalidad del tren, puede elegirse entre vagones pares e impares. Deesta manera tendrıamos tres alternativas, donde los vagones pares e impares tienen la mismafuncion de utilidad. Si se aplica el modelo logit a este caso, se asignara mas flujo que el que sedeberıa al transporte por tren, ya que considera a los dos tipos de vagones como alternativasdiferentes.

Este comportamiento del metodo se debe a que logit no reconoce la correlacion entre lasutilidades de las diferentes alternativas, ya que asume que son independientes. En el primerejemplo la correlacion se debe a que las dos rutas inferiores comparten un segmento, mientrasque en el segundo caso los vagones pares e impares estan correlacionados por el simple hechode pertencer al mısmo modo de transporte.

(a) (b) (c)

Fig. 6.7: Ejemplo para ilustrar las fallas del modelo logit. [1]

Page 76: Facultad de Ciencias Exactas. Departamento de Matem aticas

6. Modelos de eleccion discretos. Carga de red estocastica 76

Fig. 6.8: Ejemplos de redes con dos rutas. [1]

Otro problema que presenta el modelo logit se debe a que la probabilidad de eleccion decaminos se basa simplemente en las diferencias de los tiempos de viaje. Para ver donde esta lafalla, consideremos redes como las de la Figura 6.8. En el primer caso, una de las rutas requiere5 minutos de viaje y la otra 10 minutos. En la Figura 6.8(b), una de las rutas implica 125minutos de viaje, mientras que la otra solo requiere 120 minutos. En el primer caso es probableque la mayorıa de los viajantes se dirijan por la ruta mas corta (5 minutos). En el segundo caso,sin embargo, puede suceder que muchos viajantes elijan (de manera equivocada) tomar la rutamas larga. Esto se debe a la varianza en la percepcion, que esta relacionada con la longitud dela ruta, y en este caso puede hacer que muchos elijan tomar la ruta incorrecta (es decir, haymas lugar a fallas). Sin embargo, si se aplica el modelo logit, se obtiene el mismo patron deflujo en ambas redes, es decir, se movera la misma cantidad de flujo por las rutas mas largasde cada uno de los ejemplos.

Esta falla se debe a la suposicion de que los terminos de error de las utilidades son identi-camente distribuıdos y tienen las mismas varianzas (fijas). Ası, cuando la distribucion de losterminos de error depende de las caracterısticas de las alternativas o de la parte sistematicade las funciones de utilidad, el modelo logit no es aplicable. En el ejemplo anterior, la distri-bucion de los tiempos de viaje percibidos por camino deberıa ser una funcion de la longitudde las respectivas alternativas, con lo cual las rutas largas tendrıan una mayor varianza en lapercepcion. El problema es que logit no puede modelar esta caracteristica.

Estas fallas no quitan que el algoritmo de STOCH de paso simple sea muy eficiente. Puedehaber problemas en los cuales el modelo logit es aplicable, y por lo tanto es muy util aplicareste algoritmo.

6.2.2. Modelos de carga probit

El modelo de eleccion de ruta probit se basa en suponer que el tiempo de viaje percibidopor cualquier camino tiene una distribucion normal, con media igual al tiempo de viaje actual(medido) y varianza proporcional a dicho tiempo.

Sea Ta el tiempo de viaje por el arco a percibido por un viajante elegido de manera aleatoria

Page 77: Facultad de Ciencias Exactas. Departamento de Matem aticas

6. Modelos de eleccion discretos. Carga de red estocastica 77

entre todos los usuarios. De acuerdo a lo dicho anteriormente, se tiene que:

Ta ∼ N(ta, βta). (6.21)

donde β es una constante de proporcionalidad 2. En este caso se asume que los segmentos decalles que no se superponen son independientes.

Podrıa pensarse que no es correcto asumir que las variables tienen una distribucion normal,ya que los valores negativos no son razonables. En este caso serıa apropiado considerar, porejemplo, una distribucion Gamma. Sin embargo, la magnitud relativa de la percepcion del errores pequena respecto de ta, con lo cual los calculos se haran en una region donde la distribucionGamma se comporta igual que la distribucion normal. Entonces, sigue siendo adecuado asumirque los tiempos de viaje percibidos por arco tienen una distribucion normal. Ademas, como sesupone que los tiempos de viaje percibidos de los segmentos de calle que no se superponen sonindependientes, se obtiene que las variables aleatorias {Ta} son mutuamente independientes.

Las relaciones de incidencia permiten obtener el tiempo de viaje percibido por cada camino,ya que este es igual al tiempo de viaje percibido por cada arco que lo conforma. Es decir:

Crsk =

∑a

Taδrsa,k ∀k, r, s. (6.22)

Debido a la distribucion normal, la media de los tiempos de viaje percibidos por caminoestara dada por:

crsk =∑a

taδrsa,k. (6.23)

y la varianza sera:

var (Crsk ) =

∑a

βtaδrsa,k = βcrsk . (6.24)

Es importante resaltar que los tiempos de viaje por camino no son independientes. Porejemplo, si dos caminos k y l tienen algun arco en comun, sus tiempos de viaje percibidos estarancorrelacionados. La covarianza entre los tiempos de viaje percibidos por estos dos caminos estarelacionada con el o los arcos que tengan en comun:

cov (Crsk , C

rsl ) =

∑a

βtaδrsa,kδ

rsa,l = βcrsk,l. (6.25)

donde crsk,l representa el tiempo de viaje medido en los segmentos que tienen en comun loscaminos k y l que unen r con s.

La distribucion del tiempo de viaje percibido por cada camino se puede representar tambienen notacion matricial. Sea T = (..., Ta, ...) el vector que contiene a los tiempos de viaje por arcopercibidos, se asume que T tiene una distribucion normal, es decir:

T ∼ MVN(t,Σ′). (6.26)

donde t = (..., ta, ...) y Σ′ = [β · t · I] , con I la matriz identidad, es la matriz de covarianzade arcos. Esta matriz es diagonal, y los elementos no nulos estan dados por βta (es decir, estamatriz tiene solo los terminos de la varianza, ya que los de covarianza son iguales a cero).Crs = (..., Crs

k , ...) es el vector que contiene los tiempos de viaje percibidos por cada caminoque une el origen r con el destino s, y puede obtenerse mediante Crs = T ·∆rs. La funcion dedensidad conjunta de este vector esta dada por:

2 Se puede asumir, por ejemplo, que β es la varianza del tiempo de viaje percibido sobre un segmento de callepor unidad de tiempo.

Page 78: Facultad de Ciencias Exactas. Departamento de Matem aticas

6. Modelos de eleccion discretos. Carga de red estocastica 78

Crs ∼ MVN(crs,Σrs) ∀r, s. (6.27)

donde crs = t ·∆rs y Σrs = ∆rsT · [βt · I] ·∆rs ∀r, s.Los elementos diagonales de Σrs son las varianzas dadas por la ecuacion (6.24), mientras

que los elementos que se encuentran fuera de la diagonal son las covarianzas dadas por (6.25).Una vez que se conoce la funcion de densidad del tiempo de viaje percibido por camino, se

puede utilizar para determinar que cantidad de flujo se debe asignar (cargar) a cada camino. Laprobabilidad de eleccion de ruta no puede calcularse usando la aproximacion de Clark, ya quese requiere enumerar los caminos y esto representa un enorme esfuerzo computacional debidoal tamano de las redes que se usan tıpicamente en los problemas de trafico. Como consecuencia,en este contexto el unico metodo que resulta factible es una adaptacion de la simulacion deMonte Carlo, presentada al comienzo del capıtulo.

Algoritmo

El algoritmo utilizado para la carga de red basada en le modelo probit consiste en realizar, encada iteracion, un muestreo de la funcion densidad del tiempo de viaje por arco (percibido). Deesta manera se obtiene un conjunto de realizaciones del tiempo de viaje por arco (percibido), yse utiliza para hacer una asignacion todo o nada. Es decir, el flujo se asigna al camino mas cortoentre el origen y el destino, de acuerdo a los tiempos obtenidos anteriormente. Este proceso demuestreo y asignacion se repite muchas veces, y una vez terminado se promedian los resultadosde todas las iteraciones para obtener ası el flujo que se asigna a cada arco.

La ventaja de este metodo es que, al trabajar con muestras del tiempo de viaje percibidopor arcos no requiere que se enumeren los caminos. Los tiempos de viaje percibidos por ruta sevan reconstruyendo a medida que se generan los caminos mınimos. Ademas, en una iteraciondada, el tiempo de viaje por un camino se toma como la suma de los tiempos de viaje percibidosde cada arco que forma parte del camino.

El proceso de simulacion de Monte Carlo podrıa, en teorıa, generar tiempos de viaje per-cibidos por arco negativos. Sin embargo, en la practica es casi despreciable la probabilidad deque un tiempo de viaje por arco sea negativo, con lo cual la funcion de densidad normal puedetruncarse a cero sin perder demasiada precision.

Sea X(l)a el flujo por el arco a, obtenido en la l-esima aplicacion del proceso de muestreo-

asignacion. En este punto, el flujo por arco estimado esta dado por:

x(l)a =

1

l

l∑m=1

X(l)a . (6.28)

La desviacion estandar (muestral) para cada arco a en la muestra esta dada por:√√√√ 1

l − 1

l∑m=1

(X(m)a − x(l)

a )2.

Es decir, si denotamos por σ(l)a a la desviacion estandar de x

(l)a , se tiene que:

σ(l)a =

√√√√ 1

l(l − 1)

l∑m=1

(X(m)a − x(l)

a )2 ∀a. (6.29)

Esta desviacion estandar se puede utilizar para establecer un criterio de frenada para elalgoritmo. Por ejemplo, el algoritmo puede terminar si se cumple alguna de las siguientescondiciones:

Page 79: Facultad de Ciencias Exactas. Departamento de Matem aticas

6. Modelos de eleccion discretos. Carga de red estocastica 79

maxa{σ(l)

a } ≤ κ. (6.30a)∑a σ

la∑

a x(l)a

≤ κ′. (6.30b)

maxa

(l)a

x(l)a

}≤ κ′′. (6.30c)

donde κ, κ′ y κ′′ son constantes predeterminadas que indican el nivel de tolerancia permitido.El algoritmo puede resumirse en los siguientes 5 pasos:

Paso 0: Inicializacion. Establecer l := 1.

Paso 1: Muestreo. Muestrear T(l)a a partir de Ta ∼ N(ta, βta) para cada arco a.

Paso 2: Asignacion todo o nada. Basandose en {T (l)a }, asignar {qrs} al camino mas corto

que conecte cada par O-D r − s. Este paso dara el conjunto de flujos por arco {X(l)a }.

Paso 3: Promediar los flujos. Establecer x(l)a = [(l − 1)x

(l−1)a +X

(l)a ]/l, ∀a.

Paso 4: Test de frenado.

1. Establecer σ(l)a =

√1

l(l−1)

∑lm=1[X

(m)a − x(l)

a ]2 ∀a.

2. Si se cumple (6.30c), frenar. La solucion sera {x(l)a }. Sino, establecer l := l + 1 y

volver al paso 1.

La ventaja de este algoritmo es que, incluso en redes grandes, no necesita muchas iteracionespara converger. De hecho una precision aceptable se puede alcanzar en 4-6 iteraciones.

Comparacion de modelos logit y probit

En la ultima parte de la seccion 6.2.2 se expusieron dos tipos de problemas que presenta elmodelo logit, algunos derivados de la suposicion de independencia entre los terminos de errory otros por suponer que estos errores tienen la misma distribucion. A continuacion se vera queel modelo probit logra sortear estas dificultades.

En el ejemplo de las rutas superpuestas, el problema era que logit le asigna 1/3 del flujototal a cada ruta, siendo que si ρ→ 1 el usuario percibe solo dos rutas y en ese caso las rutasinferiores llevarıan 1/4 del flujo. En definitiva, logit le asigna mas flujo que el que corresponde a

Fig. 6.9: Probabilidad de eleccion de la ruta superior de la red de la Figura 6.7. [1]

Page 80: Facultad de Ciencias Exactas. Departamento de Matem aticas

6. Modelos de eleccion discretos. Carga de red estocastica 80

las dos rutas que se superponen. Si esta misma situacion se analiza aplicando el modelo probit,ya no se presenta este error. En la Figura 6.9 se ven ilustradas dos curvas que representan laprobabilidad de eleccion de la ruta superior, en funcion del tamano de ρ, para cada uno de losmodelos. Para el modelo probit se asume β = 1, y se puede ver como a medida que ρ aumenta,tambien crece la probabilidad, hasta que cuando ρ = 1 se obtiene una probabilidad de eleccionde 1/2.

La curva probit de la Figura 6.9 se puede obtener mediante una simulacion de Monte Carloo bien, como se trata de un ejemplo sencillo, podrıa resolverse de manera analıtica. Ası, laprobabilidad de eleccion del camino superior se puede obtener como:

PTOP = 1− Φ

(√1− ρ

2π + ρ− 1

). (6.31)

donde Φ(·) es la funcion de distribucion acumulada normal.El otro problema que presentaba el modelo logit era que no tenıa en cuenta la dependencia

entre la varianza en la percepcion y los tiempos de viaje medidos. Esto se soluciona con elmodelo probit, y puede verse mediante un ejemplo numerico.

Consideremos la red de la Figura 6.8(a). De acuerdo al modelo probit, el tiempo de viajepor la primera ruta, C1, tiene una distribucion normal con media igual a 5 (es el tiempo deviaje medido) y varianza 5β. Por su parte, el tiempo de viaje percibido por la ruta 2 es tal queC2 ∼ N(10, 10β). Como las rutas no se superponen, la probabilidad de eleccion del camino 1esta dada por:

P1 = Pr(C1 < C2) = Pr(C1 − C2 < 0). (6.32)

La variable aleatoria C1 −C2 tiene una distribucion normal con media −5 y varianza 5β +10β = 15β. La probabilidad de que esta variable aleatoria sea menor que cero se puede calcularevaluando la funcion de distribucion acumulada en 0, esto es:

P1 = Φ

(0− (−5)√

15β

). (6.33)

Si se asume β = 1, se obtiene P1 = 0,9 y P2 = 0,1. En otras palabras, el 90 % de las personaspreferirıan la ruta que requiere 5 minutos de viaje y el 10 % la ruta que lleva 10 minutos recorrer.

Consideremos ahora la red de la Figura 6.8(b). En este caso C1 ∼ N(120, 120β) y C2 ∼N(125, 125β). La probabilidad de que el camino 1 sea elegido nuevamente esta dada por laecuacion (6.32), solo que en este caso la variable aleatoria C1 − C2 tiene media −5 y varianza120β + 125β = 245β. Asumiendo nuevamente β = 1, la probabilidad de eleccion sera entonces:

P1 = Φ

(5√

245β

)= Φ

(5√245

)= 0,63. (6.34)

mientras que P2 = 0,37. Como era de esperar, hay mas gente que elige el camino mas largo(en comparacion con las rutas de 5 y 10 minutos). Se ve entonces como el modelo probit nopresenta ninguna de las dos fallas que presentaba logit.

Es bueno observar que si las rutas estaban superpuestas en gran parte de su extension,entonces el flujo resultante serıa muy similar en ambos ejemplos. Para ver esto consideremos unared como la de la Figura 6.10, donde el tiempo de viaje por los segmentos donde se superponenambos caminos es de 115 minutos. La covarianza entre los tiempos de viaje percibidos porambas rutas es proporcional a la porcion de camino que comparten:

cov (C1, C2) = 115β. (6.35)

Page 81: Facultad de Ciencias Exactas. Departamento de Matem aticas

6. Modelos de eleccion discretos. Carga de red estocastica 81

Fig. 6.10: Ejemplo de red con dos rutas que se superponen en la mayor parte de su extension. [1]

La varianza de la diferencia entre estos dos tiempos esta dada por la suma de la varianzade ambos tiempos menos dos veces la covarianza, esto es:

var (C1 − C2) = 120β + 125β − 2 · 115β = 15β. (6.36)

Tomando β = 1, la probabilidad de elegir el camino 1 estara dada en este caso por:

P1 = Φ

(5√15β

)= Φ

(5√15

)= 0,9. (6.37)

Esta probabilidad coincide, efectivamente, con la probabilidad de eleccion del camino 1 enel ejemplo de las rutas de 5 y 10 minutos. Esto nos da la pauta de que, cuando las rutasse superponen, la eleccion se basa en los segmentos que no tienen en comun. Los segmentoscompartidos no afectan la eleccion, como podrıa esperarse.

En el cierre de este capıtulo podemos concluir entonces que la asignacion de flujo generadapor el modelo probit es mucho mas razonable que la generada por el modelo logit. Sin embargo,esta mayor precision se “paga” con un mayor esfuerzo computacional. En redes grandes, el mo-delo probit que se presento en esta seccion requiere entre 4 y 6 iteraciones, y esto se vuelve muycostoso en terminos computacionales ya que en cada iteracion se debe ejecutar una asignaciontodo o nada. Por su parte, el algoritmo de STOCH requiere un esfuerzo computacional menorque el de dos asignaciones todo o nada.

Page 82: Facultad de Ciencias Exactas. Departamento de Matem aticas

7. EQUILIBRIO DEL USUARIO ESTOCASTICO

En el capıtulo anterior se analizaron distintos modelos de carga de red estocasticos. Estosmodelos consisten en asignar el flujo O-D a la red, considrando que los tiempos de viaje sonfijos y que la eleccion de ruta se basa en el tiempo de viaje percibido (en lugar del tiempo deviaje medido). Los tiempos de viaje percibidos por los automovilistas se consideran variablesaleatorias, cuya distribucion es conocida, y en base a esto pueden calcularse las probabilidadesde eleccion de los caminos.

En este capıtulo se agrega la nocion de equilibrio al problema anterior. Ahora no solo se vaa modelar el tiempo de viaje percibido como una variable aleatoria, sino que tambien el tiempose va a considerar dependiente del flujo. Esta dependencia estara presente en el hecho de que eltiempo de viaje medio por cada arco es una funcion del flujo que atraviesa ese arco. En otraspalabras, se considerara que ta = ta(xa) y ademas ta = E[Ta], donde Ta es el tiempo de viajepercibido por el arco a.

Dada una tasa de viajes O-D {qrs}, las condiciones del equilibrio estocastico estan dadaspor la siguiente ecuacion:

f rsk = qrsPrsk ∀k, r, s. (7.1)

donde P rsk es la probabilidad de que el camino k que une r con s sea elegido, dado un conjunto

de tiempos de viaje medidos t. En otras palabras:

P rsk = P rs

k (t) = Pr (Crsk ≤ Crs

l , ∀l 6= k ∈ Krs | t).

donde Crsk es una variable aleatoria que representa el tiempo de viaje percibido por la ruta k

que une r con s, esto es, Crsk =

∑a Taδ

rsa,k ∀k, r, s.

Ademas de esto, se deben satisfacer las restricciones de una red regular:

ta = ta(xa) ∀a. (7.2a)∑k

f rsk = qrs ∀r, s. (7.2b)

dondeta = E[Ta] y xa =

∑rs

∑k

f rsk δrsa,k ∀a.

Si los tiempos de viaje fueran conocidos o fijados, el patron de flujo que resuelve lasecuaciones (7.1) y (7.2b) se podrıa determinar facilmente aplicando algun modelo de car-ga de red estocastica. Sin embargo en este capıtulo se asume que los tiempos de viaje de-penden del flujo, con lo cual la tarea no sera la misma. Es interesante observar, ademas,que si el flujo esta dado por (7.1), la ecuacion (7.2b) se satisface automaticamente, ya que∑

k frsk =

∑k qrsP

rsk = qrs

∑k

P rsk︸ ︷︷ ︸

=1

= qrs.

La condicion (7.1) caracteriza el equilibrio del usuario estocastico (SUE). En SUE ningunautomovilista puede mejorar su tiempo de viaje percibido cambiando unilateralmente de ruta.En este caso los tiempos de viaje medidos por todos los caminos que llevan flujo no tienen

Page 83: Facultad de Ciencias Exactas. Departamento de Matem aticas

7. Equilibrio del usuario estocastico 83

por que ser iguales. En lugar de esto, en un estado de equilibrio debe satisfacerse la ecuacion(7.1) para todos los flujos por camino. Estos flujos por ruta, a su vez, estaran asociados con lostiempos por arco dados por las ecuaciones (7.2).

El equilibrio del usuario estocastico es un tipo de equilibrio mas general que el equilibriodel usuario (o equilibrio de Wardrop). De hecho, UE es un caso particular de SUE: cuando lavarianza en los tiempos de viaje percibidos es cero, las condiciones de SUE son iguales a las deUE. La demostracion de este hecho se vera a continuacion.

Primero es importante destacar que los tiempos de viaje percibidos son variables aleatoriasque pueden ser discretas o continuas. Es por esto que resulta necesario formular P rs

k de maneratal que sea aplicable a ambos casos. Para lograr esto, se define P rs

k como:

Pr [Crsk < Crs

l , ∀l 6= k | t] ≤ P rsk ≤ Pr [Crs

k ≤ Crsl , ∀l 6= k | t] ∀k, r, s. (7.3)

Usando esta definicion, la condicion de SUE puede escribirse como:

Pr [Crsk < Crs

l , ∀l 6= k | t] ≤ f rskqrs≤ Pr [Crs

k ≤ Crsl , ∀l 6= k | t] ∀k, r, s. (7.4)

Esta definicion de SUE se puede aplicar tanto a casos donde {Crsk } son variables aleatorias

discretas como cuando son continuas, con lo cual la ecuacion (7.4) resulta ser una generalizacionde (7.1). Solo cuando las variables aleatorias sean discretas podrıa obenterse una probabilidaddistinta de cero de que dos o mas rutas sean las mas cortas. Si los tiempos de viaje percibidosson variables continuas, la probabilidad de que dos caminos distintos sean los mas cortos escero, con lo cual el lado izquierdo de la desigualdad en (7.4) es igual al lado derecho. De estamanera, se obtiene

f rskqrs

= Pr [Crsk < Crs

l ]⇒ f rsk = qrsPrsk .

que se corresponde con (7.1).Para probar que UE es un caso particular de SUE se debe considerar el caso determinıstico,

el cual se obtiene cuando se supone que la variacion de la percepcion es cero. En este casoC = c, es decir, el tiempo de viaje percibido es igual al tiempo de viaje medido. El tiempo debemodelarse como una variable aleatoria discreta, ya que en UE se contempla la posibilidad de quedos tiempos de viaje sean iguales. Si los tiempos de viaje son variables discretas determinısticas,dos caminos pueden ser los mas cortos y por lo tanto ninguno de los lados de la desigualdaden (7.4) cumplira la igualdad y no puede usarse para caracterizar los flujos. Esto se probara acontinuacion, mediante el metodo del absurdo.

Supongamos en primer lugar que existen dos caminos entre r y s que se consideran los mascortos. En ese caso

Pr [crsk < crsl , ∀l 6= k | t] = 0. (7.5a)

para todos los caminos k.Si el lado izquierdo de (7.4) satisface la igualdad, entonces (7.5a) implica que f rsk = 0, ∀k.

Pero si esto ocurre, no se estarıa respetando la restriccion (7.2b).Manteniendo la idea de que dos caminos son los mas cortos, se tiene que:

Pr [crsk ≤ crsl , ∀l 6= k | t] =

{1 para los dos caminos mas cortos.

0 para todos los otros caminos.(7.5b)

Si el lado derecho de la desigualdad en (7.4) cumple la igualdad, se tiene que f rsk = qrs encada uno de los caminos mas cortos (ya que allı la probabilidad es igual a 1). Por lo tanto, seestarıa asignando el doble del flujo a la red, lo cual tampoco respeta la restriccion (7.2b).

Page 84: Facultad de Ciencias Exactas. Departamento de Matem aticas

7. Equilibrio del usuario estocastico 84

Concluimos entonces que si el tiempo de viaje percibido por camino es una variable aleatoriadiscreta, entonces:

f rskqrs6= Pr [crsk < crsl , ∀l 6= k | t] y

f rskqrs6= Pr [crsk ≤ crsl , ∀l 6= k | t].

Para poder interpretar la ecuacion (7.4) en el caso determinıstico, primero es importanteobservar que las probabilidades que se encuentran a ambos lados de la desigualdad en (7.4)pueden tomar el valor 0 o 1, ya que los eventos que describen pueden ser verdaderos o falsos(cuando todos los tiempos de viaje por camino son determinısticos). Entonces, el flujo que semueve por un camino particular puede ser cero o positivo:

Si f rsk > 0 es porque la probabilidad del lado derecho de la desigualdad es igual a 1. Enotras palabras, la ruta k que conecta r y s puede ser el camino mas corto (o uno de loscaminos mas cortos).

Si f rsk = 0 es porque la probabilidad del lado izquierdo es igual a 0, y por lo tanto k nopuede ser un camino mas corto (hay algun camino mas corto que el).

Podemos resumir las condiciones anteriores estableciendo que, para cada camino k que uner con s, se cumple:

f rsk > 0⇒ crsk ≤ crsl ∀l 6= k. (7.6a)

f rsk = 0⇒ crsk ≥ crsl para al menos un l 6= k. (7.6b)

De esta manera, vemos que el tiempo de viaje por todos los caminos que no llevan flujo esmayor o igual que el tiempo de viaje por los caminos que si llevan. Esto se corresponde, comobuscabamos, con la definicion de equilibrio del usuario. Por lo tanto, se puede concluir que lasecuaciones (7.6) establecen el criterio de UE, mientras que las condiciones de SUE (7.4) sonuna generalizacion de las condiciones de UE.

Por ultimo, es importante observar que las condiciones de SUE dadas en (7.1) son validaspara variables aleatorias continuas, y por lo tanto valen para los modelos logit y probit. Ademas,los flujos por arco se modelaron como variables aleatorias. Los valores {xa} y {f rsk } que seutilizaron en la definicion de SUE son las medias de estas variables.

7.1. Minimizacion equivalente SUE

En esta seccion se formulara un problema de minimizacion que representa al problema deequilibrio, y se mostrara que su solucion cumple con las condiciones de SUE. Para demostraresto se hara lo mismo que en el caso del equilibrio de Wardrop: se prueba que las condicionesde primer orden del problema matematico coinciden con las condiciones de SUE.

Formulacion del problema

Consideremos el problema de optimizacion:

mınxz(x) = −

∑rs

qrs E

[mınk∈Krs

{Crsk } | crs

]+∑a

xata(xa)−∑a

∫ xa

0

ta(w) dw. (7.7)

El objetivo de esta seccion es demostrar que el patron de flujo que minimiza (7.7) tambiensatisface las condiciones de SUE. Ademas, en el punto solucion se satisfacen las restriccionesde la red y por lo tanto (7.7) se puede minimizar como un problema sin restricciones.

Page 85: Facultad de Ciencias Exactas. Departamento de Matem aticas

7. Equilibrio del usuario estocastico 85

Antes de demostrar esto, se puede observar que (7.7) puede reescribirse como:

mınxz(x) = −

∑rs

qrsSrs[crs(x)] +

∑a

xata(xa)−∑a

∫ xa

0

ta(w) dw. (7.8)

donde

Srs[crs(x)] = E

[mınk∈Krs

{Crsk } | crs

]. (7.9)

se conoce como funcion del tiempo de viaje esperado percibido entre r y s.El hecho de que la variable aleatoria Crs

k este condicionada por crs(x) significa que laesperanza se toma de acuerdo a un nivel de flujo dado, x.

La funcion (7.9) tiene dos propiedades importantes que seran herramientas utiles a la horade trabajar con las condiciones de primer orden del problema. Por un lado, es una funcionconcava con respecto a crs, y ademas, cumple que

∂Srs(crs)

∂crsk= P rs

k . (7.10)

donde P rsk es la probabilidad de elegir el camino k entre r y s.

Condiciones de equivalencia

En esta parte del trabajo se busca demostrar que las condiciones de primer orden del proble-ma (7.8) coinciden con las condiciones de SUE, ya que de esta manera quedarıa demostrado quela solucion del problema es equivalente a las ecuaciones del equilibrio del usuario estocastico.

Como el problema no tiene restricciones, las condiciones de primer orden establecen sim-plemente que el gradiente debe anularse en el mınimo. En otras palabras, en el mınimo debesatisfacerse:

∇z(x) = 0. (7.11)

donde el gradiente se toma respecto del vector de flujos por arco. Es decir, las componentes delgradiente son las derivadas parciales de la funcion respecto del flujo por cada arco: ∂z(x)

∂xb.

El problema (7.8) tiene tres terminos distintos. Para mas claridad, se calcularan por separadolas derivadas de cada uno de estos terminos.

En primer lugar, se tiene que:

∂xb

{−∑rs

qrsSrs[crs(x)]

}= −

∑rs

qrs∑k

∂Srs(crs)

∂crsk

∂crsk (x)

∂xb. (7.12)

En la ecuacion (7.10) se tiene una expresion para ∂Srs(crs)∂crsk

. Ademas:

∂crsk (x)

∂xb=

∂xb

[∑a

ta(xa)δrsa,k

]=dtb(xb)

dxbδrsb,k. (7.13)

Reemplazando estos resultados en (7.12), se obtiene que:

∂xb

{−∑rs

qrsSrs(·)

}= −

∑rs

qrs∑k

P rsk

dtbdxb

δrsb,k. (7.14)

donde dtb/dxb se usa para abreviar dtb(xb)/dxb.

Page 86: Facultad de Ciencias Exactas. Departamento de Matem aticas

7. Equilibrio del usuario estocastico 86

El segundo termino de la funcion objetivo corresponde al tiempo de viaje total medido. Suderivada esta dada por:

∂xb

[∑a

xata(xa)

]= tb + xb

dtbdxb

. (7.15)

La derivada del ultimo termino sera:

∂xb

[−∑a

∫ xa

0

ta(w) dw

]= −tb. (7.16)

De esta manera, de acuerdo a las ecuaciones (7.14)-(7.16), la derivada de la funcion objetivoSUE con respecto al flujo por arco esta dada por:

∂z(x)

∂xb=

[−∑rs

∑k

qrsPrsk δ

rsb,k + xb

]dtbdxb

∀b. (7.17)

Es razonable asumir que la funcion de rendimiento de arco es estrictamente creciente. Estoimplica que dtb/dxb > 0, con lo cual el gradiente se anula si y solo si:

xb =∑rs

∑k

qrsPrsk δ

rsb,k ∀b. (7.18)

Esta ecuacion representa los flujos por arco en equilibrio, que se corresponden con los flujospor camino en equilibrio expresados en (7.1).

El gradiente de la funcion objetivo tambien puede escribirse como:

∇z(x) =

[−∑rs

qrsPrs∆rs + x

]· ∇xt. (7.19)

donde Prs = (..., P rsk , ...) es el vector que contiene las probabilidades de elegir cada camino que

conecta el par r − s, ∆rs es la matriz de incidencia arco-camino para dicho par O-D y ∇xt esel jacobiano de los tiempos de viaje por arco. Como se asume que los arcos no interactuan,entonces este jacobiano es una matriz diagonal, donde los elementos diagonales son dta

dxa.

Hasta aquı se ha trabajado con el gradiente tomado en funcion de los flujos por arco.Sin embargo, tambien podrıa trabajarse con el gradiente en funcion del flujo por camino yel resultado serıa el mismo: las condiciones de primer orden y las ecuaciones de SUE sonequivalentes.

Si consideramos

∂z[x(f)]

∂fmnl

=∑a

(−qmnPmnl + fmnl )

dtadxa

δmna,l ∀l,m, n. (7.20)

En el punto que minimiza a la funcion objetvo el gradiente se debe anular (condicion deprimer orden), con lo cual cada una de las derivadas anteriores debe anularse. Esto es trivialcuando el arco a no pertenece al camino l, ya que en ese caso δmna,l = 0. En caso contrario, comodta/dxa > 0 y δmna,l = 1, debe ser necesariamente

−qmnPmnl + fmnl = 0.

lo cual implica que fmnl = qmnPmnl . Si se suma a ambos lados de la igualdad sobre todos los

caminos se obtiene:

Page 87: Facultad de Ciencias Exactas. Departamento de Matem aticas

7. Equilibrio del usuario estocastico 87

∑l

fmnl = qmn. (7.21)

ya que∑

l Pmnl = 1. Por lo tanto, el patron de flujo que resuelve el problema SUE tambien

satisface las condiciones SUE y la restriccion de conservacion de flujo. Como consecuencia, elpatron de flujo en SUE se puede obtener resolviendo el problema de minimizacion equivalente(7.7).

Si bien en este trabajo no se vera la demostracion, se puede asegurar que el problema deminimizacion equivalente SUE tiene una unica solucion. Esto se debe a que la matriz Hessianade la funcion objetivo es definida positiva. Se puede comprobar que, si bien la funcion objetivono es convexa en todo su dominio, es estrictamente convexa en un entorno del mınimo, lo cuales suficiente para asegurar la unicidad.

7.2. Solucion algorıtmica

En esta seccion se intentara encontrar la solucion del problema (7.7) mediante metodosalgorıtimicos.

Como se vio en el Capıtulo 4, muchos de los algoritmos que se utilizan para hallar la solucionde un problema de minimizacion se basan en metodos de direcciones de descenso. Esto significaque en cada iteracion “actualizan” el punto de solucion mediante:

xn+1 = xn + αndn. (7.22)

donde xn es el punto solucion en la n-esima iteracion (en los problemas aquı desarrollados esun vector de flujos por arcos), dn es una direccion de descenso y αn representa la longitud delmovimiento que se realizara en dicha direccion.

Se sabe que una posible direccion de descenso es la direccion opuesta al gradiente, con locual, de acuerdo a (7.19), podrıa ser:

dn =

[∑rs

qrs ·Prsn ·∆rsT − xn

]· ∇xt. (7.23)

Incluso podrıa obtenerse una direccion de descenso mas simple, eliminando el Jacobiano:

dn =∑rs

qrs ·Prsn ·∆rsT − xn. (7.24)

Para chequear que realmente esta es una direccion de descenso, simplemente basta concomprobar que ∇z(xn) · dnT < 0.

Cada componente de esta direccion de descenso es de la forma:

dna =∑rs

qrs∑k

P rsn

k δrsa,k − xna . (7.25)

donde P rsn

k = P rsk (crs

n) = Pr (Crs

k ≤ Crsl , ∀l | crs

n) ∀k, r, s.

Si consideramos

yna =∑rs

∑k

qrsPrsn

k δrsa,k ∀a. (7.26)

entonces la direccion de descenso se puede escribir, como se hizo para el algoritmo de combi-naciones convexas, como:

Page 88: Facultad de Ciencias Exactas. Departamento de Matem aticas

7. Equilibrio del usuario estocastico 88

dna = yna − xna . (7.27)

o lo que es lo mismo, dn = yn − xn.Los algoritmos de descenso se encargan de hallar una direccion de busqueda para luego

moverse un paso αn en dicha direccion, realizando este procedimiento en cada iteracion hastaobtener una solucion que satisface cierto criterio de convergencia. Sin embargo esto no se puederealizar de manera tan sencilla en el problema de minimizacion SUE (7.7), por dos motivos. Porun lado, en cada iteracion se debe hacer una carga estocastica de la red y ademas en algunoscasos el flujo que se mueve por cada arco no puede calcularse explıcitamente, sino que se obtieneuna estimacion. Esto hace que el vector auxiliar de flujos por arco yn sea una variable aleatoria,lo cual hace que tambien dn sea una variable aleatoria. Por lo tanto, no se tiene certeza de queesa direccion sea realmente una direccion de descenso. La otra razon por la cual no se puedeaplicar un algoritmo de descenso estandar al problema de minimizacion SUE es que tampocopuede optimizarse el paso αn, ya que la funcion objetivo es difıcil de calcular. Esto se debea que incluye, en Srs[c

rs(x)], el calculo de una esperanza que requiere enumerar los caminospara poder calcularla. Si se quisiera estimar esta esperanza mediante un proceso de simulaciontambien se tendrıa un costo computacional muy alto, con lo cual la situacion seguirıa siendodesfavorable.

A continuacion se presentara un algoritmo que puede utilizarse para resolver el problemade minimizacion SUE y que no presenta las dificultades mencionadas anteriormente.

Metodo de promedios sucesivos (MSA)

La principal caracterıstica de este algoritmo es que el paso que se realiza en cada iteracionesta predeterminado. Es decir, no se debe calcular αn en cada iteracion.

Para que este metodo converja, la funcion objetivo debe cumplir dos condiciones: tiene queser continuamente diferenciable dos veces y el gradiente debe anularse solo una vez en la regionfactible (recordar que, en este caso, el problema no tiene restricciones). Ademas la direccionde busqueda tiene que ser un vector de descenso, y la sucesion de pasos tiene que cumplir lassiguientes condiciones:

∞∑n=1

αn =∞. (7.28a)

∞∑n=1

α2n <∞. (7.28b)

Si la funcion objetivo y el algoritmo satisfacen las condiciones anteriores, entonces el algorit-mo converge. Esta convergencia esta garantizada por mas que se utilice un vector de direccionaleatorio Dn, siempre que E[Dn] sea una direccion de descenso estricta. Por lo tanto, si no se co-noce explıcitamente la direccion de descenso en cierta iteracion puede utilizarse una estimacionde ella.

Uno de los pasos mas sencillos que suele utilizarse y que cumple las condiciones (7.28) es

αn =1

n. (7.29)

De esta manera, la iteracion n serıa:

xn+1 = xn +1

ndn. (7.30)

Usando la direccion de busqueda que se presento anteriormente, esta iteracion podrıa escri-birse como:

Page 89: Facultad de Ciencias Exactas. Departamento de Matem aticas

7. Equilibrio del usuario estocastico 89

xn+1 = xn +1

n(yn − xn). (7.31)

donde yn =∑

rs qrsPrsn∆rsT .

La ecuacion (7.31) indica que, en cada iteracion, la solucion es el promedio de todas lasvariables y correspondientes a las iteraciones anteriores. En otras palabras:

xn+1 =n− 1

nxn +

1

nyn

=n− 1

n

n− 2

n− 1xn−1 +

n− 1

n

1

n− 1yn−1 +

1

nyn

=n− 2

nxn−1 +

1

n(yn−1 + yn)

=1

n

n∑l=1

yl.

(7.32)

Si bien el algoritmo puede utilizar una direccion de busqueda aleatoria Dn, se debe tenerprecaucion por dos motivos. Por un lado, el algoritmo tiene que converger al mınimo, y porotro, deben disiparse los errores producidos por utilizar esta direccion aleatoria. Aquı es cuandoentran en juego las condiciones (7.28).

Aunque la sucesion de αn es monotona decreciente en n, el algoritmo tiene la capacidad de ,en cada iteracion m, moverse desde el punto actual xm hacia el punto solucion x∗. Esto sucedeporque la condicion (7.28a) implica que

∞∑n=m

αn =∞ para cualquier entero positivo m. (7.33)

Esto garantiza que el algoritmo no frene antes de tiempo, es decir, antes de alcanzar elmınimo. Si se hubiera tomado, por ejemplo, αn = 1

n2 , el algoritmo terminarıa antes de alcanzarel mınimo.

Si en la iteracion n la direccion de busqueda es aleatoria, entonces el vector de flujos tambienes una variable aleatoria, denotada por Xn = (..., Xn

a , ...). La condicion (7.28b) garantiza quela varianza de esta variable aleatoria disminuye a medida que avanzan las iteraciones. Veamoscomo ocurre esto en nuestro caso en consideracion, es decir, con αn = 1

n. Consideremos la

iteracion general dada en (7.31). La componente aleatoria se incorpora en xn mediante elproceso de simulacion de Monte Carlo que se utiliza para calcular la probabilidad de eleccionen (7.26). El flujo por arco auxiliar en la iteracion n es una variable aleatoria denotada porY na , ∀a. La ecuacion (7.32) muestra que la varianza de cada componente de Xn esta dada por

var (Xna ) =

1

(n− 1)2

n−1∑l=1

var (Y la). (7.34)

donde var (Y la) es la varianza de la a-esima componente de la solucion auxiliar en la l-esima

iteracion. La simulacion de Monte Carlo que se utiliza para calcular {Y na } establece tiempos de

viaje percibidos, en lugar de flujos. El flujo auxiliar que lleva cada arco esta acotado por debajopor cero y por encima por la suma de los flujos O-D. De esta manera, la varianza de Y l

a estaacotada por algun valor σ <∞. Con esto se tiene que:

var (Xna ) <

1

(n− 1)2

n−1∑l=1

σ2. (7.35)

Page 90: Facultad de Ciencias Exactas. Departamento de Matem aticas

7. Equilibrio del usuario estocastico 90

Cuando n crece, el lado derecho de la desigualdad anterior tiende a cero, con lo cual se tieneque la varianza disminuye a medida que el algoritmo avanza.

Habiendo hecho todas las consideraciones necesarias, el algoritmo de promedios sucesivospuede resumirse en los siguientes pasos:

Paso 0: Inicializacion. Realizar una carga de red estocastica en base a un conjunto detiempos iniciales {t0a}. Esto genera un conjunto de flujos por arco {x1

a}. Establecer n := 1.

Paso 1: Actualizar. Hacer tna = ta(xna), ∀a.

Paso 2: Hallar la direccion. Realizar una carga de red estocastica basada en los tiempos{tna}. Esto dara un patron de flujo auxiliar {yna}.

Paso 3: Moverse. Hallar el nuevo patron de flujo haciendo xn+1a = xna + 1

n(yna − xna).

Paso 4: Criterio de convergencia. Si se alcanza la convergencia, frenar. Sino establecern := n+ 1 y volver al paso 1.

Estos pasos del algoritmo se pueden aplicar de manera conjunta con cualquier tipo de cargade red estocastica. Los flujos por arco auxiliares que se obtienen en el paso 2 se calculan enbase a la probabilidad de eleccion, ya que

yna =∑rs

∑k

qrsPrsk (crs

n

)δrsa,k. (7.36)

Si se asume que los tiempos de viaje percibidos tienen una distribucion normal estas proba-bilidades se calcularan siguiendo el modelo probit, mientras que en otros casos podrıa calcularsesiguiendo el modelo logit y utilizando el algoritmo de STOCH. Tambien podrıan usarse otrosmodelos de carga de red estocastica.

El metodo de promedios sucesivos tambien puede aplicarse cuando se trabaja con el equili-brio de Wardrop. En ese caso, los flujos auxiliares yna se calculan mediante una asignacion todoo nada. El metodo va a converger, pero lo hara mas lento que el algoritmo de combinacionesconvexas, con lo cual no serıa recomendable aplicar promedios sucesivos al caso determinıstico.

A la hora de establecer un criterio de convergencia para este algoritmo se puede pensar que,por la forma en la que se definio αn, la sucesion xn esta siendo “forzada” a converger. Por lotanto no seran de utilidad aquellos criterios que se basan en el cambio relativo del flujo porarco. En lugar de esto, podrıa establecerse un numero predeterminado de iteraciones a realizar,o bien utilizar criterios que comparen los valores de la funcion objetivo en cada iteracion.

Otro problema que se presenta es que el algoritmo no tiene una convergencia monotona.Esto se debe a que las direcciones de busqueda son aleatorias (y por lo tanto, quizas apuntena una direccion donde la funcion objetivo crece) y que el tamano del movimiento esta fijado(lo cual puede generar que se sobrepase la reduccion de la funcion objetivo). Si se utiliza uncriterio de convergencia basado en algunos de los ultimos flujos, la convergencia sera mononotadecreciente. Consideremos, por ejemplo, el flujo promedio en las ultimas m iteraciones 1

xna =1

m(xna + xn−1

a + ...+ xn−m+1a )

=1

m

m−1∑l=0

xn−la .(7.37)

En base a esto, un criterio que podrıa utilizarse serıa:

1 El valor de m debe determinarse a priori, y debe ser m < n. En la practica, un valor m = 3 es suficiente.

Page 91: Facultad de Ciencias Exactas. Departamento de Matem aticas

7. Equilibrio del usuario estocastico 91

√∑a(x

n+1a − xna)2∑a x

na

≤ κ. (7.38)

Tambien se podrıa aplicar un criterio que compare los valores de la funcion objetivo en lasultimas iteraciones.

Para concluir el analisis de este algoritmo es bueno remarcar que la sucesion de pasosαn = 1/n no es la unica posible. Un paso general que suele utilizarse es:

αn =k1

k2 + n. (7.39)

con k1 es una constante positiva y k2 una constante no negativa.

Ejemplo

Consideremos una red como la de la Figura 7.1. Las funciones de rendimiento de cada arcose muestran allı, y estan dadas por:

t1 = 1,25

[1 +

( x1

800

)4]

(7.40a)

t2 = 2,5

[1 +

( x2

1200

)4]. (7.40b)

donde xa se mide en vehıculos por hora y ta se mide en minutos. La tasa de viajes es q vehıculospor hora. Si utilizamos un modelo SUE basado en el modelo logit, la condicion de equilibriosera:

x1

q=

1

1 + eθ(t1−t2). (7.41)

Recordemos que la condicion de equilibrio establece que el flujo que se mueve por cadacamino k que conecta el origen r con el destino s esta dado por f rsk = qrsP

rsk . En este caso solo

se tienen dos arcos que a su vez son caminos y un solo par de nodos O-D, con lo cual se tieneque

x1 = qP1 y x2 = qP2.

Si trabajamos con un modelo logit, seran P1 = 11+eθ(t1−t2)

y P2 = 11+eθ(t2−t1)

, con lo cual queda

probada la validez de (7.41).

Si se toma, por ejemplo, q = 4000 y θ = 1, el resultado es x1 = 1845. Es decir, por el arco1 se mueven 1845 vehıculos por hora.

Este problema tambien se puede resolver utilizando el metodo de promedios sucesivos. Si setoma k1 = 3 y k2 = 0 en (7.39), en cada iteracion n se realizara un paso αn = 3/n.

El algoritmo MSA se programo en MATLAB (siguiendo el modelo logit) y se ejecuto parauna cantidad predeterminada de pasos. En la Figura 7.2 se muestran los valores de xn1 en cadauna de las 40 iteraciones ejecutadas. Como puede verse, en las primeras iteraciones el patronde flujo es infactible para este problema, ya que se tienen flujos negativos y mayores de 4000.Sin embargo, esto no impide la convergencia del algoritmo, ya que el flujo vuelve rapidamenteal rango permitido.

Page 92: Facultad de Ciencias Exactas. Departamento de Matem aticas

7. Equilibrio del usuario estocastico 92

Fig. 7.1: Ejemplo de red con dos arcos conectando un par O-D y sus respectivas funciones de rendi-miento.

Fig. 7.2: Patron de convergencia de MSA para la red de la Figura 7.1, con q = 4000 y θ = 1.

En geenral, se espera que el algotimo converja rapido para valores chicos de q y θ. Un valorbajo de q implica que la red no este congestionada, lo cual hace que el tiempo de viaje medio nocambie demasiado entre iteraciones sucesivas. Por su parte, un valor pequeno de θ indica unagran variacion en la percepcion. En este caso, el tiempo de viaje medio es menos importante, y lavarianza en la percepcion juega un rol mas importante a la hora de determinar el flujo por arco.De hecho, cuando θ → 0 el tiempo de viaje medio practicamente no influye en la determinaciondel flujo. Esta situacion se puede ver reflejada en la Figura 7.3, donde se muestra el patronde flujo del algoritmo para q = 2000 y θ = 1. En este caso, el algoritmo converge mucho masrapido en comparacion con el ejemplo anterior, con el doble de flujo moviendose por la red.

Page 93: Facultad de Ciencias Exactas. Departamento de Matem aticas

7. Equilibrio del usuario estocastico 93

Si se toma un mayor valor de θ, la convergencia sera mas lenta. Un ejemplo se muestra enla Figura 7.4, donde el algoritmo se aplico para q = 2000 y θ = 2.

Fig. 7.3: Patron de convergencia de MSA para la red de la Figura 7.1, con q = 2000 y θ = 1.

Fig. 7.4: Patron de convergencia de MSA para la red de la Figura 7.1, con q = 2000 y θ = 2.

Page 94: Facultad de Ciencias Exactas. Departamento de Matem aticas

CONCLUSIONES Y APLICACIONES FUTURAS

En este trabajo se han estudiado los principales conceptos que deben tenerse en cuentaa la hora de realizar una planificacion urbana. No solo se abordaron conocimientos teoricos,sino que tambien se presentaron diferentes algoritmos que resultan de gran utilidad a la horade resolver un problema de optimizacion. Estos algoritmos fueron programados en MATLAB2

para facilitar su aplicacion a diferentes ejemplos, y poder estudiar la eficiencia de cada uno deellos.

El hecho de haber estudiado en detalle el Equilibrio de Wardrop permite utilizarlo comodisparador para diferentes aplicaciones. La informacion aquı detallada sirve como soporte parael estudio de problemas de optimizacion binivel, los cuales se caracterizan porque su conjuntofactible esta parcialmente determinado por un segundo problema de optimizacion. Estos pro-blemas jerarquicos tienen mucha importancia en la actualidad, ya que pueden ser aplicados porquienes deben tomar decisiones sobre problemas que estan relacionados con el sector publico.

Los problemas de equilibrio pueden aplicarse en muchas areas, sin embargo una de lasmas estudiadas es la aplicacion a los problemas de transporte. Esto se debe tanto su interesmatematico como a la creciente necesidad de planificacion en el area.

Es sabido que la emision de trafico, especialmente la generada por el transporte terres-tre, causa una importante contaminacion ambiental que es perjudicial para nuestra salud. Unasolucion a este problema serıa reemplazar los vehıculos de combustion interna por vehıculoselectricos (VE). Es por esto que en los ultimos anos, ademas de los problemas de afectacion detrafico, se ha hecho un enfoque especial en aquellos problemas relacionados con los VE. Si bienestos vehıculos se ven como una solucion efectiva para reducir las emisiones de gases de efectoinvernadero (GEI), y actualmente hay un extenso estudio de sus atributos y caracterısticas,tanto el desarrollo como el modelado de las redes de VE estan evolucionando y aun son limita-dos. Los autos hıbridos (autos que funcionan con combustible y con electricidad) son los masprometedores en el futuro, ya que podrıan reducir la emision de GEI en un 30 %-50 %. Por suparte, el uso de autos puramente electricos todavıa se ve obstaculizado por la capacidad limi-tada de sus baterıas, ya que solo poseen un alcance de unos 150 a 200 km de distancia. En estepunto, surge la necesidad de construir un numero suficiente de estaciones de carga, para que deesta manera los usuarios de automoviles elijan la utilizacion de VE por sobre los vehıculos decombustion interna. Debido a esto, ahora el problema a considerar no es solo la distribucion detrafico, sino tambien determinar cual es la distribucion mas eficiente de las estaciones de carga.Esta situacion se puede formular mediante problemas binivel, considerando diversos factores(flujo de transito y alcance de los vehıculos, principalmente) y trabajando con diferentes tiposde equilibrio, como por ejemplo el Equilibrio de Wardrop. Toda la informacion desarrolladaen este trabajo se utilizara como base para abordar este tipo de problemas durante futurostrabajos de doctorado.

“Cuando uno puede darse cuenta del placer de dudar, de pensar, de frustrarse con unproblema y que eso no va en desmedro de la persona, entonces empieza a aprender”.

Adrian Paenza.

2 Los codigos pueden solicitarse via mail a [email protected]

Page 95: Facultad de Ciencias Exactas. Departamento de Matem aticas

Bibliografıa

[1] Y. Sheffi, Urban transportation networks. Prentice - Hall, 1985.

[2] M. Bazaraa, H. Sherali, and C. Shetty, Nonlinear Programming Theory and Algorithms.John Wiley & Sons, 2006.

[3] J. B. Baillon and R. Cominetti, “Markovian traffic equilibrium,” Mathematical Program-ming, vol. 111, no. 1-2, pp. 33–56, 2008.

[4] P. Lotito, J. P. Quadrat, and E. Mancinelli, “Traffic Assignment & Gibbs-Maslov Semi-rings,” in Contemporary Mathematics - Idempotent Mathematics and Mathematical Physics,American Mathematical Society, 2005.

[5] M. Patriksson, The Traffic Assignment Problem - Models and Methods. Kluwer A P, 1994.

[6] R. T. Rockafellar and R. J.-B. Wets, Variational analysis. Springer - Verlag, 1998.

[7] R. B. Dial, “A path-based user-equilibrium traffic assignment algorithm that obviates pathstorage and enumeration,” Transportation Research Part B: Methodological, vol. 40, no. 10,pp. 917–936, 2006.

[8] J.-B. Hiriart-Urruty and C. Lemarechal, Convex Analysis and Minimization Algorithms II,vol. 306. Springer - Verlag, 1993.

[9] J. F. Bonnans, J. C. Gilbert, C. Lemarechal, and C. A. Sagastizabal, Numerical Optimiza-tion. Springer, 2006.