• No se han encontrado resultados

USO DE MODELOS DE OPTIMIZACIÓN PARA EL APOYO A LA OPERACIÓN DE UN ALIMENTADOR DE TRANSANTIAGO

N/A
N/A
Protected

Academic year: 2022

Share "USO DE MODELOS DE OPTIMIZACIÓN PARA EL APOYO A LA OPERACIÓN DE UN ALIMENTADOR DE TRANSANTIAGO"

Copied!
18
0
0

Texto completo

(1)

USO DE MODELOS DE OPTIMIZACIÓN PARA EL APOYO A LA OPERACIÓN DE UN ALIMENTADOR DE TRANSANTIAGO

Cristián E. Cortés

División Transporte, Departamento de Ingeniería Civil, FCFM, Universidad de Chile.

ccortes@ing.uchile.cl

Pablo A. Rey, Priscila Molina, Mario Recabal

Departamento de Ingeniería Industrial, FCFM, Universidad de Chile.

prey@dii.uchile.cl prmolina@ing.uchile.cl, mrecabal@gmail.com

Sebastián Souyris

Leonard N. Stern School of Business, New York University, ssouyris@stern.nyu.edu

RESUMEN

En este trabajo se describe un enfoque integrado de programación entera mixta (MIP) para el apoyo a la operación de una empresa a cargo de un alimentador del Transantiago. En este enfoque se divide el proceso de planificación en dos etapas: la primera integra la definición de horarios de viaje, diseño de flota y asignación de buses, mientras que la segunda se concentra en la asignación de conductores. Para la primera etapa se formula un modelo de programación entera mixta, y se estudia tanto la solución exacta como alternativas heurísticas basadas en programar primero la operación durante los horarios punta para luego generar una programación para el día completo. Con los resultados de esta primera etapa, se desarrolla un segundo modelo que se resuelve con la técnica de generación de columnas. En este caso, las columnas representan las tareas de conducción que debe realizar un chofer para una jornada de trabajo; se considera restricciones de carga de trabajo y descanso. Con el uso de este enfoque la empresa podrá operar de manera eficiente y cumplir con las condiciones impuestas por la administración del nuevo sistema de transporte público en Santiago. Los resultados preliminares obtenidos con ambos modelos son alentadores.

Palabras Claves: Transporte Público, Programación Entera, Generación de Columnas.

1. INTRODUCCIÓN.

Transantiago es un programa impulsado por el Gobierno de Chile que tiene como misión implementar un nuevo sistema de transporte público, moderno, eficiente, integrado y con un buen nivel de servicio para los usuarios de Transporte Público de la ciudad de Santiago. Su implementación comenzó el 10 de febrero del presente año, y actualmente se encuentra en período de ajuste. En términos operacionales, el nuevo sistema reemplaza la estructura del sistema anterior (buses amarillos) por un esquema de recorridos troncales y alimentadores. La ciudad de Santiago ha sido dividida en 10 zonas de servicio, formadas por grupos de comunas. Dentro de cada zona existen dos tipos de servicios (recorridos), los Servicios Troncales, buses que conectan una zona con otra, cruzando los ejes más importantes de la ciudad, por los que circula la mayor cantidad de pasajeros, y los Servicios Locales o Alimentadores, buses que circulan en recorridos específicos dentro de cada zona de servicio y que acercan a los usuarios a lugares de acceso a un recorrido troncal. En el diseño final de Transantiago, se definió 5 servicios troncales y 9 locales, los cuales fueron licitados a empresas privadas, resultando finalmente en la selección de 10 empresas que se adjudicaron la operación de los distintos servicios. Un mayor detalle de la información sobre las

(2)

características del sistema Transantiago, se puede encontrar en el sitio web (Transantiago, 2005).

Este trabajo considera que la operación integral de Transantiago es estable y que se aplican las condiciones de los contratos (en particular, penalidades y multas por incumplimiento de las requerimientos de operación). Bajo tales condiciones, resulta imprescindible que cada empresa contratada se haga cargo en forma eficiente de la gestión de flota y personal. La gestión de flota puede ser en términos de planificación o a nivel operacional, esta última sólo posible si se dispone de apropiados sistemas de información en tiempo real, y por lo tanto, puede considerarse para una segunda etapa de desarrollo e implementación. En este trabajo nos concentramos en el apoyo a la planificación de la operación. Este supuesto, si bien limita la aplicación de los modelos en la fase actual de implementación de Transantiago no resulta una limitante para cuando el sistema haya alcanzado su operación en régimen.

De acuerdo con Haghani et al. (2003), la tarea de la planificación de las operaciones de trasporte público consta de cuatro pasos fundamentales: diseño de la red de transporte, diseño de los horarios de los viajes, programación los vehículos y asignación de los conductores. Así, dado que el diseño de trazados está predefinido, este trabajo se concentra en el desarrollo de las últimas tres etapas de planificación. El caso considerado corresponde a una de las empresas operadoras del Transantiago, STP Santiago quien opera los Servicios Locales D y F en las comunas de Puente Alto, La Florida, Macul, Ñuñoa, La Reina y Peñalolén. Para ello se implementaron tres modelos de programación entera mixta que permiten apoyar las diferentes decisiones que deben ser tomadas al mínimo costo, satisfaciendo todas las restricciones definidas por la autoridad.

La modelación se concentra en atender las condiciones impuestas por la autoridad en la adjudicación. Ni la demanda por los servicios, ni algún indicador de calidad de servicio son explícitamente introducidos en la modelación dado que no son considerados explícitamente en los contratos. Para la demanda, se cuenta con una demanda referencial estimada por sector de servicio. Esta información ha sido evaluada, pero se concluyó que ciertas condiciones requeridas imponen restricciones más fuertes por lo que no es necesario considerarla en los modelos propuestos. Sobre la calidad de servicio, se supone que los requerimientos establecidos por la autoridad consideran esta variable y que los niveles exigidos de frecuencia representan implícitamente condiciones sobre la calidad del servicio. Es importante destacar que variaciones en los patrones de demanda debiera traducirse en otros niveles de frecuencia, capacidades y eventualmente, recorridos adicionales. En tal caso, los modelos desarrollados en el contexto de este trabajo podrán aplicarse para un escenario distinto, reflejado en nuevas restricciones de nivel de servicio (frecuencia) y capacidad, necesarias para satisfacer los nuevos patrones de demanda. Además, las variaciones de demanda en tiempo real podrán enfrentarse por medio de modelos operacionales de control y gestión de flota en tiempo real, lo que está fuera del alcance de esta investigación.

En este artículo se describe una metodología para tratar el problema integrado de planificación en sus últimas tres etapas. Presentamos también los modelos propuestos, explicando el problema que se enfrenta en cada etapa, cuales son las decisiones a tomar, la función objetivo y las restricciones de cada uno, así como el enfoque de solución adoptado. A continuación se describe las tres etapas que componen el problema de planificación de transporte público abordado.

(3)

2. ETAPAS ESTUDIADAS DEL PROBLEMA DE PLANIFICACIÓN DE TRANSPORTE PÚBLICO.

Como se mencionó en la sección anterior, una vez realizado el diseño de la red de transporte público el problema de elaboración del plan de operaciones se puede dividir en tres etapas:

diseño de los horarios de los viajes, programación de los vehículos y asignación de los conductores. A continuación se explica cada etapa:

2.1 Diseño de los horarios de los viajes.

En la primera etapa de planificación se debe decidir la hora de salida de un vehículo a realizar un determinado recorrido, desde que terminal se realizará ese viaje y cuál será el tipo de vehículo que deba hacer tal viaje. Para modelar este problema se utiliza una o varias redes espacio-tiempo auxiliares que se describen con mayor detalle en la Sección 3.1. Como resultado de esta etapa se conocerán todos los nodos1 de la red(es) auxiliar(es) para la próxima etapa. Estas redes tienen nodos representan viajes, cada uno con hora de inicio y término, un nodo de inicio y otro de llegada, y están definidas de acuerdo al tipo de bus que deberá realizar cada viaje.

2.2 Programación los vehículos.

Este paso consiste en realizar la asignación de buses a los viajes de manera de cumplir con la realización de todos los viajes programados al mínimo costo posible. El costo total del uso de los buses está dado por los costos variables, en los que se debe incurrir cada vez que se realiza un viaje (operación), y por el costo fijo (adquisición y arriendo de buses). Notar que el criterio utilizado en esta programación sólo se considera los costos operacionales. Los niveles de servicio aceptables por la autoridad serán resguardados por las restricciones de frecuencia mínima que son agregadas al modelo.

En general, los trabajos publicados en la literatura tratan la generación de la tabla de horarios de viajes de manera separada de la asignación de vehículos, siendo la solución del primero un dato de entrada para el segundo problema. En el problema específico que estamos resolviendo en este trabajo, la gran cantidad de restricciones que impone el nuevo sistema de transporte no permite crear los horarios de manera independiente de la asignación de los buses, por lo que se decidió crear un modelo que integrara ambas decisiones. Por ejemplo, existen restricciones de capacidad y frecuencia por hora para cada recorrido, por lo que no es posible realizar la definición de horarios de viaje y la asignación de vehículos de manera separada, ya que al haber varios tipos de vehículos no se sabe de antemano cuál es más conveniente de utilizar.

2.3 Asignación de conductores.

Una vez definidos los itinerarios de los buses se debe asignar a estos viajes los conductores.

El objetivo en esta etapa es minimizar los costos de conducción respetando las restricciones contractuales. Para ello se optó por generar jornadas de trabajo, indicando la secuencia de viajes a realizar, que permitan cubrir la totalidad de los viajes utilizando la menor cantidad posible de conductores. Los costos de conducción considerados aquí incluyen sueldos y pagos de horas extras.

1 Algunos nodos de la red auxiliar representan viajes posibles a ser realizados. Cada uno de estos nodos tiene un punto de inicio y uno de término, y un tiempo de inicio y uno de término. La red está compuesta por otros nodos útiles a la hora de modelar el sistema (ver sec. 3.1.).

(4)

Las restricciones contractuales que se deben cumplir son las siguientes:

• La jornada no debe superar las 10 horas diarias.

• La jornada debe incluir exactamente un descanso, cuya duración debe ser mayor a 30 minutos y menor a 1 hora.

• El descanso debe ocurrir, preferentemente, al medio de la jornada laboral

• La jornada regular de trabajo es de 45 horas semanales. Cada conductor puede, a lo más realizar 12 horas extras en la semana.

• Los conductores deben tener exactamente 1 día libre a la semana.

La condición de tener exactamente un descanso responde a requerimientos de operación de la empresa. Los contratos imponen la obligación de al menos un descanso de tales características durante la jornada laboral.

En la literatura relacionada (Ernst et al., 2004; Desrochers y Soumis, 1989) la forma en que se resuelve la asignación de los conductores es mediante la generación de jornadas de trabajo diarias, en que la secuencia de tareas (o viajes) a realizar sea físicamente factible, en que se respeten el máximo de horas trabajadas, y el mínimo (o máximo) tiempo de descanso, entre otras restricciones de tipo contractual.

Luego de haber generado las jornadas diarias factibles, se selecciona un subconjunto de ellas que permita cubrir todos los viajes utilizando el número de mínimo de conductores necesarios para ello. Finalmente las jornadas diarias seleccionadas se deben asignar para un horizonte de planificación mayor, respetando las restricciones de máximo de horas semanales de trabajo y de días libres a la semana, proceso conocido como Rostering.

3. MODELOS DESARROLLADOS

En la presente sección, se detalla los diferentes modelos desarrollados en esta investigación, para formular y resolver las tres etapas de planificación descritas en la sección anterior (diseño de los horarios de los viajes, programación de los vehículos y asignación de los conductores). Deberá notarse que las primeras dos etapas se resuelven en forma conjunta y de ellas se obtiene la programación de los vehículos que requiere el proceso de asignación de conductores y el consecuente Rostering asociado.

3.1 Diseño de los horarios de los viajes y programación los vehículos.

Red de actividades expandida en el tiempo

Una forma de modelar el problema enfrentado es a través de una red expandida en el tiempo.

En esta red, para cada período de tiempo t, se define un nivel que representa decisiones o actividades que se inician en ese instante de tiempo y los nodos de la red indican tales actividades. En nuestro caso, estos nodos representan si el bus está iniciando un viaje (nodos de viaje) o está en un Terminal (nodos de terminal). Para los fines de modelación es útil contar con tres tipos de nodos de terminal que representan, respectivamente, que el bus no ha realizado viajes aún, que está esperando entre dos viajes (nodo trasbordo) o que ya ha realizado todos los viajes que debía. Cada combinación de terminal con tipo de bus es representada por una red diferente, es decir, se tendrán tantas redes como combinaciones de

(5)

buses y terminales existan. La Figura 2 ilustra los nodos y arcos en una red como la descrita, para el caso de un terminal d, en un período de tiempo t, y considerando un vehículo de tipo k.

Este tipo de red fue utilizada en esta clase de problemas por primera vez por Forbes et al.

(1994). En ese trabajo, no se incluyen nodos de trasbordo, por lo que un bus sale una sola vez del terminal y no puede regresar a esperar por otro viaje. Posteriormente, Haghani y Banihashemi (2002) la modificaron agregándole los nodos de trasbordo, que permiten modelar la situación en que los buses regresan al terminal durante el día. En este trabajo se agrega la posibilidad de tener buses en espera en los terminales.

terminal

(d,t,k) viajes (j,t,k) terminal (d’,t,k)

(trasbordo) terminal

(d,t,k) viajes (j,t,k)

t = 1

t = T

Figura 2. Red expandida en el tiempo para un terminal d y un vehículo tipo k.

A partir de una red de este tipo, se pueden representar secuencias de viajes para un bus particular en un día cualquiera. A este tipo de formulación para el problema se le llama formulación basada en viajes, en contraposición con otro tipo general de formulaciones conocidas como formulaciones basadas en bloques (Hagani y Banihashemi, 2002).

En la red de actividades expandida en el tiempo, la secuencia de viajes y esperas para un bus en un día es representada por un camino. Las restricciones adicionales de capacidad, cumplimiento de las condiciones impuestas por la administración de Transantiago y particulares de operación de la empresa se representan en el modelo como restricciones adicionales conjuntas sobre los caminos en las redes auxiliares.

Las restricciones impuestas por Transantiago son respetar las frecuencias (de salidas de buses por hora en cada recorrido), capacidades mínimas y máximas por hora para cada recorrido (necesarias para cubrir la demanda estimada) y un mínimo de plazas (el total de la capacidad de los buses sea mayor a un cierto valor). Para controlar la distribución de los buses durante una hora de un intervalo de operación imponemos intervalos de tiempo mínimo y máximo de pasada entre buses consecutivos (headway mínimo y máximo). En el modelo se consideró tres

(6)

restricciones de operación, propias de la empresa, además de las impuestas por Transantiago:

los recorridos están asignados a algún Terminal, un bus no puede realizar un recorrido que no pertenece a su Terminal y un bus realizará siempre el mismo recorrido.

Los datos con los que se cuenta son: largo de los recorridos, velocidades y tiempos para el período de operación, costos de operación de los buses, los cuales se dividen en costos variables (repuestos, neumáticos, petróleo y lubricantes) y costos fijos (costo de adquisición y conductor). Con estas restricciones se formuló un modelo de programación lineal entero similar al planteado en Forbes et al. (1994) y Haghani y Banihashemi (2002), que determina que buses utilizar para cada uno de los recorridos, desde que terminales deben salir y cuando, de forma tal de minimizar los costos totales (costo fijos más costos variables) sujeto a las restricciones antes mencionadas.

Formulación del Modelo

Los parámetros que son utilizados en la definición del modelo se exponen la Tabla 1.

Tabla 1. Parámetros del modelo de diseño de horarios y asignación de vehículos.

Parámetro Definición

dcj Distancia del recorrido j

vddj

d Distancia entre un terminal d y el inicio de un recorrido j

tcjt Tiempo de ciclo del recorrido j si se inicia en el período t

tvdjt Tiempo desde el terminal d al inicio del recorrido j, si se salió en el período t

fk

c Costo fijo por utilizar un bus tipo k

cvk Costo variable por kilómetro por utilizar un bus tipo k

CapMaxij Capacidad máxima de pasajeros a transportar por hora en el intervalo i en el recorrido j

CapMinij Capacidad mínima de pasajeros a transportar por hora en el intervalo i en el recorrido j

FrecMaxij Frecuencia máxima de buses por hora en el intervalo i en el recorrido j

FrecMinij Frecuencia mínima de buses por hora en el intervalo i en el recorrido j

HMaxjt Headway máximo entre dos viajes consecutivos en el recorrido j en el período t

HMinjt Headway mínimo entre dos viajes consecutivos en el recorrido j en el período t

MinPlaza Mínimo de plazas necesarias

DurIntervi Duración en minutos del intervalo de operación i

AsigServj Indica desde que terminal se realizarán los viajes al recorrido j

CapDepotd Cantidad de buses que caben en el terminal d

CapBusk Capacidad de pasajeros de un bus tipo k

(7)

La interpretación de las variables definidas en el modelo se muestra en la Tabla 2.

Tabla 2. Variables del modelo de diseño de horarios y asignación de vehículos.

Variable Tipo Interpretación

Idjtk Binaria Si un bus del tipo k sale desde el terminal d en t a realizar el recorrido j.

IMdjtk Binaria Si un bus del tipo k sale desde el terminal d en t a realizar el recorrido j, pero no es el primer viaje que realiza.

FMjdtk Binaria Si un bus del tipo k se dirige al terminal d luego de terminar el recorrido j iniciado en t, pero no es el último viaje que realiza.

Fjdtk Binaria Si un bus del tipo k se dirige al terminal d luego de terminar el recorrido j iniciado en t.

Edjtk Entera no

negativa Cantidad de buses tipo k que realizan el recorrido j y están esperando en terminal d desde el instante t hasta t+1.

Xjtk Binaria Si un bus del tipo k debe iniciar el recorrido j en el instante t.

A partir de estas consideraciones, el modelo planteado para atacar estas dos etapas de manera conjunta es el siguiente:

[ ]

+ + + + + +

k t j d

jdtk jdtk

j k jdtk jdtk

djtk djtk

dj k djtk

kI cvdvd I IM F FM cvdc F FM

cf

, , ,

) (

) (

min

s.a.

I F d j k

t jdtk t

djtk

=0 ∀ , ,

1 ,

' , ,

1 ,

' +E =IM +Ed j t t k t>

FMjdtk dt k djtk dtk

donde t' satisface ' (' )

' '

tcjt t dj

jt tvd

tc t

t= + + +

k j d E

Edj0k = djTk =0 ∀ , ,

k t t j X

IM

I jtk

d

k djt d

k

djt'' +

'' = ∀ , , '',

donde t'' satisface t=t''+tvddjt'' k t j X

FM

F jtk

d

jdtk d

jdtk +

= ∀ , ,

d I

k t j

d

djtk ≤ ∀

,,

CapDepot

) ( , , CapMax

CapBus

CapMin X ij i j h H i

k t h

jtk k

ij ⎟⎟⎠≤ ∀ ∈

⎜⎜ ⎞

∑ ∑

donde H(i) es el conjunto de horas dado un intervalo de operación i

(8)

) ( , , FrecMax

FrecMin X ij i j h H i

k t h

jtk

ij ⎟⎟⎠≤ ∀ ∈

⎜⎜ ⎞

∑ ∑

HMax

T

H ,

1 1

1

' ' 1

<

=

⎟≥

⎜⎜

∑ ∑

+

=

t donde

t j

X jt jt

k H t

t t

k jt jt

HMin

T

H ,

1 2

1

' '

2

<

=

⎟≤

⎜⎜

∑ ∑

+

=

t donde

t j

X jt jt

k H t

t t

k jt

jt

k t j d

djtk kI

, , ,

MinPlaza

CapBus

Idjtk, Fjdtk, IMdjtk, FMjdtk, Xjtk∈(0,1)

Ζ +

0 Edjtk

Algoritmo de solución

El algoritmo que se utilizó para la resolución del modelo es a dos pasos. El primero, es conseguir una solución factible que satisfaga las restricciones operacionales del horario punta.

Con esto, se tendrá una composición de flota que será factible para el período completo, dado que en condiciones normales el horario punta representa el período de mayor carga del sistema. Esta flota permitirá encontrar una solución factible para todo el período de operación.

Una vez que se tenga este resultado, se conservará el valor de las soluciones del grupo de variables de salidas iniciales, al cual se les denotará con el conjunto I .

El segundo paso, consiste en resolver el modelo para el período completo. En esta etapa, se agregan restricciones que llamaremos de búsqueda local motivadas por las definidas por Fischetti y Lodi (2003, 2005) en el contexto del método local branching al modelo original.

Estas restricciones se aplican sólo sobre el conjunto de variables de salidas iniciales. La restricción de búsqueda local no permite realizar más de k cambios en un conjunto de variables con respecto a un conjunto solución factible que se tenga para ellas.

Adicionalmente, se agrega que la restricción de búsqueda local se aplique separadamente por cada recorrido en el horario punta y sólo para el conjunto de variables de salidas iniciales en el horario punta, es decir, se permite k cambios de variables de salida inicial por cada recorrido. De esta manera, se tendrá, a los más, “k × número de recorridos” cambios en total con respecto al conjunto inicial I . Además, se asigna un valor igual a cero a todas las demás variables de salida iniciales que correspondan a un período de tiempo t mayor que el del horario punta. Los demás conjuntos de variables quedan libres para ser modificados.

3.2 Problema de Asignación de conductores.

Para esta parte del proceso de planificación seguimos un esquema de solución similar al utilizado por varios trabajos en la literatura (Desrochers y Soumis, 1989; Desrosiers et al.

1995; Fores et al. 1997, 2002; Huisman et al., 2003; Haase y Friberg, 1997; Haase et al. 2001;

Hoffman y Padberg, 1993). Para la generación y selección de las jornadas diarias se ha construido un modelo de programación entera donde cada columna representa una jornada a

(9)

ser realizada por un único conductor. Para resolverlo, se utiliza la técnica de generación de columnas. Para ello, el problema se divide en un Problema Maestro (PM) y un Sub Problema (SP). Con el PM se selecciona el mejor subconjunto de columnas que cubran todos los viajes y minimicen el número de conductores, mientras que con el SP genera nuevas columnas que permitan mejorar la solución encontrada hasta el momento. El esquema de generación de columnas es una técnica adecuada en este problema ya que las distintas jornadas son independientes: los distintos recorridos están ligados a terminales específicos, es decir, un recorrido siempre sale y regresa al mismo terminal; y durante un mismo día se requiere que un conductor maneje un mismo recorrido, para evitar cambios y equivocaciones.

Además, la empresa cuenta con tres tipos de días laborales, por lo que se tienen también tres conjuntos de viajes para cada recorrido, un conjunto que corresponde a los viajes a realizar de Lunes a Viernes, otro para los Sábados y un último para los Domingos. Por lo tanto, el modelo es resuelto para cada recorrido en cada tipo de día. Es decir, para un mismo recorrido se correrá el modelo 3 veces, obteniéndose así 3 conjuntos de jornadas. Una vez escogidas las jornadas a realizar, estas alimentan el problema de Rostering, para el cual se utiliza un modelo de programación lineal entera mixto.

El PM corresponde a un problema de partición de conjuntos (set partitioning): hay un conjunto M de jornadas factibles, de las cuales se debe seleccionar un subconjunto de jornadas que minimicen el número de conductores (cada jornada seleccionada representa a un conductor) y que cada viaje sea cubierto por una única jornada. El conjunto de jornadas iniciales factibles para el PM considerado incluyó jornadas que cubran un único viaje, por lo que se tienen tantas columnas iniciales como número de viajes. A dichas columnas se les asignará un costo elevado (mucho mayor que 1) para evitar que sean elegidas en la solución final.

Problema Maestro para la Generación y Selección de jornadas

Para la presentación del modelo denotamos por J al conjunto de todas las jornadas de trabajo factibles. Este conjunto es conocido de manera implícita (es fácil verificar si una secuencia de actividades es una jornada factible, sin embargo no conocemos explícitamente todas las jornadas factibles. El Problema Maestro debe seleccionar un subconjunto de J que minimicen el número de conductores y que cada viaje sea cubierto por una única jornada. Para ello se ha formulado el modelo de programación lineal entera de tipo partición de conjuntos. La Tabla 3 presenta los parámetros utilizados en la definición del modelo.

Tabla 3. Parámetros del Problema Maestro de Generación y Selección de jornadas.

Parámetro Definición

V Conjunto de viajes a ser asignados

J Conjunto de jornadas (columnas) factibles

Cj Costo de la jornada j

Avj Indicador (valor 1) de si el viaje v es cubierto por la jornada j

(10)

El modelo propuesto se presenta a continuación. La variable binariaX asume el valor 1 si la j jornada j es seleccionada y, 0 en caso contrario.

J j

j

j X

C min

s.a.

=

J j

j

vj X

A 1 ∀vV

{ }

0,1

j

XjJ

Debido a que cada jornada o columna seleccionada representa a un conductor, y lo que se desea es minimizar el número de conductores, el costo de todas las columnas se ha tomado igual a 1. Operativamente es adecuado asumir que el costo de las jornadas es igual a 1, independiente de su duración o del número de viajes, ya que en el Plan Transantiago los conductores tendrán un salario fijo. Entonces, en términos reales, cada jornada seleccionada significa un costo establecido para la empresa, sin importar la carga de trabajo de las jornadas.

Para comenzar a iterar el modelo completo, es necesario construir columnas iniciales factibles de forma tal que el problema maestro tenga solución. Es por ello que las primeras columnas, construidas a priori, serán solamente jornadas que cubran un único viaje, por lo que se tendrán tantas columnas iniciales como número de viajes. A dichas columnas se les asignará un costo elevado, pero lo suficientemente pequeño para evitar que sean elegidas en la solución final.

En base a diversas pruebas que se realizaron para calibrar este valor, se llegó a la conclusión que tomarlo igual a 1000 entregaba los mejores resultados.

El Subproblema

El SP genera nuevas columnas a agregar al conjunto M, de forma tal de mejorar la solución actual del PM. Las columnas a agregar deben ser “buenas columnas”, es decir, como la función objetivo es de minimización, deben ser de costo reducido negativo.

Los viajes se representan en una red, donde cada nodo corresponde a un viaje, además de dos nodos ficticios que simbolizan al terminal (nodo fuente y nodo sumidero). Existen arcos dirigidos entre pares de nodos si es factible realizar dicha secuencia de viajes, es decir los viajes no se superponen. Por lo tanto, el SP equivale a encontrar una ruta mínima desde el nodo fuente hasta el nodo sumidero, visitando los nodos viajes y respetando las restricciones del caso, es decir un problema de ruta mínima con restricción de recursos. Para ello, el SP se resolverá mediante un algoritmo de Programación Dinámica (PD), que se aplica sobre una red extendida, donde cada nodo viaje se replica según el tiempo restante de jornada por realizar, si ha tenido o no un descanso anteriormente y si será realizado en un turno de mañana o tarde.

Un ejemplo gráfico de la red extendida y el problema de PD a ser resuelto se puede apreciar en Figura 3, donde con líneas punteadas se grafican los arcos y con líneas continuas una muestra de ruta mínima.

(11)

No ha ocurrido el descanso

. . .

. . .

fuente

Ya han tenido el descanso

. . .

. . .

10 hrs 0 hrs

Turno tarde Turno mañana

sumidero

Tiempo de jornada restante V1 V1 V1

V2 V2 V2

Vk Vk Vk

Vm Vm

Vn Vm

Vn Vn

Vm

Vm

V3

V3 V3

V2

V3

V2 V2

V3

Vi Vi Vi Vi

Vk

Vm

Vn Vn

Vz Vz Vz

Vk

Vm

Vn Vn

Figura 3. Red extendida del problema de Programación Dinámica.

Para mejorar el desempeño computacional, algunos nodos en la red extendida como definida antes no son incluidos en la red que efectivamente se usa ya que son dominados por otros nodos de la red. Los nodos de la red extendida que son finalmente considerados cumplen con lo siguiente:

• Se genera nodos cuyo valor de jornada sea lo suficiente para alcanzar a realizar el viaje en cuestión.

• Se genera nodos con turno de mañana (t = 1) si al realizar el viaje, suponiendo que la jornada comenzó en H1, no se excede la duración máxima de la jornada (10 hrs.)

• Se genera nodos con turno de tarde (t = 0) si la hora de comienzo del viaje es posterior o igual a H2, y no se excede la duración máxima de la jornada al realizar el viaje.

• Se genera nodos con d = 0 (es decir que no han tenido descanso con anterioridad) cuando no ha transcurrido mucho tiempo de jornada, específicamente cuando el valor de jornada sea mayor a 7 horas2.

• Se genera nodos con d = 1 (lo que significa que el descanso ha ocurrido previamente a la realización del viaje) cuando ya ha transcurrido un tiempo razonable de jornada, específicamente cuando el tiempo de jornada que queda por realizar sea menor o igual a 7 hrs.

• Los nodos son generados en forma ordenada según los siguientes parámetros:

ƒ Creciente en el número de viaje, los que a su vez están ordenados en forma creciente según la hora de salida del viaje.

ƒ Decreciente en el valor de la jornada.

ƒ Creciente en el valor del descanso (primero los nodos que no han tenido descanso y después los que si han tenido).

ƒ Decreciente en el valor del turno (primero los del turno de mañana y después los de la tarde).

2Este valor fue determinado empíricamente en experimentos computacionales preliminares.

(12)

La red extendida obtenida es acíclica y el orden en que son generados los nodos corresponde a un orden topológico para los nodos de esa red. Esto permite la resolución del problema de ruta más corta de manera muy eficiente (Cormen et al. 1990, Sec. 24.4).

El Proceso de Rostering

Una vez definidas las jornadas diarias para cada recorrido, es necesario asignarlas a los distintos conductores para un horizonte de planificación mayor. En nuestro caso, este horizonte es de una semana.

En este nuevo problema de asignación se deben respetar las siguientes restricciones:

• Un conductor no puede trabajar más de 57 horas a la semana.

• Se debe pagar un sobrecargo (por hora extra) si un conductor trabaja más de 45 horas a la semana. Si trabaja menos de 45 horas, sólo se le paga un sueldo fijo.

• Un conductor debe tener 1 día libre a la semana.

• Todos los conductores deben tener, semanalmente, una carga de trabajo similar, tratando de equilibrar las horas de trabajo entre conductores.

Para ello, se ha construido un modelo de programación lineal entera mixta que permite definir la asignación de las jornadas semanalmente.

A partir del modelo de generación y selección de jornadas (descrito anteriormente) se han obtenido conjuntos de jornadas que cubren todos los viajes a ser realizados cada día. Se dan por conocidos para esta nueva etapa entonces, las jornadas, sus duraciones, qué viajes cubren (con su horario de salida y regreso, además desde que terminal y para que recorrido), y cuando ocurre el descanso y su duración.

Además de realizar la asignación de jornadas se debe determinar el número de conductores necesarios para todo la semana. Ideas simples para incluir este valor como variable de decisión llevan a la definición de modelos de programación entera no lineal. Frente a esta situación, se decidió implementar un procedimiento iterativo, donde el número total de conductores es un parámetro fijo en cada iteración. Si el problema de asignación correspondiente a una iteración resulta ser infactible, se iterará aumentando en uno la cantidad de conductores. Este procedimiento continuará hasta encontrar una solución factible. De esta forma se encontrará una asignación semanal factible con el menor número de conductores posible.

De acuerdo con las condiciones del sistema Transantiago se definen tres tipos de días de operación: los días hábiles (lunes a viernes), los sábados y los domingos. Dado que se enfrenta una mayor demanda de viajes durante los días hábiles, el número mínimo de conductores necesarios para estos días es mayor o igual al necesario para los sábados o domingos. De esta manera se decidió tomar como valor inicial para el número de conductores para el proceso iterativo al número mínimo necesario para un día hábil más uno. Si el problema resulta infactible, el número total de conductores se aumenta en uno y se vuelve correr el modelo. Afortunadamente, el número de iteraciones que efectivamente se realizaron hasta encontrar una solución factible no fueron muchas (en promedio 2), por lo que este procedimiento resultó ser muy efectivo.

(13)

Una vez encontrada la solución factible, se sigue aumentando el número de conductores para comprobar si al agregar más conductores los costos totales disminuyen. Al adicionar un conductor, a cada conductor se le asignará un menor número de horas extras, por lo que el pago por este concepto disminuye. Sin embargo se debe incurrir en el costo adicional de un sueldo fijo. Por lo tanto, se aumentará el número de conductores y se correrá el modelo hasta que los costos totales no disminuyan con respecto a la iteración anterior. De esta forma se obtendrá una asignación semanal que minimiza los costos totales.

Para los fines de análisis de la empresa, se generan dos asignaciones semanales, una que minimiza el número de conductores y otra que minimiza los costos totales. El tomador de decisiones deberá seleccionar la que operativamente sea más adecuada. Si se consiguen grandes ahorros al minimizar los costos totales, claramente ésta será la asignación elegida, pero si los ahorros son muy reducidos, o simplemente no se consiguen disminuciones en los costos totales al aumentar el número de conductores, se deberá adoptar la primera asignación.

Para plantear el modelo, es necesario definir los parámetros descritos en la Tabla 4.

Tabla 4. Parámetros del modelo para el proceso de Rostering.

Parámetro Definición

DJj Duración de la jornada j (minutos)

DDj Duración del descanso de la jornada j (minutos)

C Número de conductores a asignar

La interpretación de las variables utilizadas en el modelo se muestra en la Tabla 5.

Tabla 5. Variables del modelo para el proceso de Rostering.

Variable Tipo Interpretación

Xcjd Binaria Si la jornada j es asignada al conductor c el día d (día hábil).

Ycj Binaria Si la jornada j es asignada al conductor c el día sábado.

Zcj Binaria Si la jornada j es asignada al conductor c el día domingo.

Lcd Binaria Si el día d es el día de descanso del conductor c.

Wc Entera no

negativa Total de minutos trabajados por el conductor c.

Hc Entera no

negativa “Holgura” del tiempo total trabajado por el conductor c respecto del máximo legal.

(14)

A partir de estas consideraciones, el modelo planteado es el siguiente:

= C

c

Hc 1

max s.a.

( ) ( ) ( )

∑ ∑

=

⋅ +

⋅ +

=

d s

h j J

j j cj J

j

j j cj

d j J

j j cjd

c X DJ DD Y DJ DD Z DJ DD

W

viernes

lunes

{

C

}

c∈1,2,...,

60 57⋅

c

W c

{

1,2,...,C

}

1

domingo

lunes

=

= d

Lcd c

{

1,2,...,C

}

cd

cjd L

X ≤1− ∀jJh, ∀d

{

lunes,...., viernes

}

c

{

1,2,...,C

}

1 c5

cj L

Y ≤ − jJs, c

{

1,2,...,C

}

.

1 c6

cj L

Z ≤ − ∀jJd, c

{

0,1,2,...,C

}

=1

∈C c

Xcjd jJh, ∀d

{

lunes,...., viernes

}

=1

∈C c

Ycj jJs

=1

∈C c

ZcjjJd

≤1

Jh j

Xcjdc

{

1,2,...,C

}

, ∀d

{

lunes,...., viernes

}

≤1

Js j

Ycjc

{

1,2,...,C

}

≤1

Jd j

Zcjc

{

1,2,...,C

}

c

c W

H =57⋅60− , c

{

1,2,...,C

}

Se define la función objetivo como el máximo de la suma de las holguras con el propósito de obtener una asignación semanal que minimiza el pago total por horas extra.

4. RESULTADOS PRELIMINARES.

Por ahora, los modelos han sido formulados y ejecutados considerando la información de recorridos, restricciones de frecuencia, capacidades y otras, disponibles y establecidas por la autoridad para los distintos servicios que componen las zonas de operación D y F, a cargo de la empresa STP Santiago (que opera del orden de 300 buses).

Los modelos desarrollados permiten obtener frecuencias de recorridos factibles y programación de los vehículos eficiente que aseguran responder a la demanda estimada. Por ejemplo, en la Tabla 6 se muestra la planificación de la flota para el horario punta de un

(15)

servicio particular (204), indicándose los buses necesarios para operar y el itinerario que cada uno de ellos debe realizar.

Tabla 6. Planificación para el recorrido 204 en el horario punta.

Hora Inicio Bus 1 Bus 2 Bus 3 Bus 4 Bus 5 Bus 6 Bus 7

5:39 x

5:48 x

5:57 x

6:09 x

6:18 x

6:30 x

6:42 x

6:54 x

7:03 x

7:12 x

7:21 x

7:33 x

7:45 x

7:48 x

8:00 x

8:12 x

8:24 x

8:39 x

8:51 x

8:54 x

9:06 x

9:18 x

Se aprecia la composición de la flota para el recorrido (7 buses), no necesariamente del mismo tipo. Se sabe además cual es el itinerario que debe realizar cada bus y cuando debe permanecer en el terminal, información que también entrega la modelación. También se puede conocer la frecuencia por hora y las capacidades resultantes. Así, de la tabla la frecuencia resultante es de 5 buses por hora entre las 5:30 y 6:30, de 6 buses por hora entre las 6:30 y 8:30 y de 5 buses por hora entre las 8:30 y 9:30. Por otro lado, apreciando las horas de salida se verá que están distribuidas de una manera uniforme a través del tiempo, lo cual se logra con la restricción de intervalos (headway) mínimos y máximos, ya que de lo contrario podría haber ocurrido que los 6 buses salieran juntos dejando el resto de la hora sin salidas. El modelo respeta las restricciones impuestas por Transantiago, en particular la de frecuencia y capacidad mínima y máxima. En el caso del mismo recorrido 204, la frecuencia que propone el modelo respeta las restricciones, resultando en restricciones activas respecto de frecuencias mínimas en casi todos los casos, tal como se aprecia en Figura 4.

(16)

4 5 6 7 8 9 10 11 12 13 14 15 16

5:30-6:30 6:30-8:30 8:30-9:30 9:30-12:30 12:30-14:00 14:00-17:30 17:30-20:00 20:00-21:00 21:00-23:00 Intervalo de Operación

mero de Buses

Frecuencia Mínima Frecuencia según Modelo Frecuencia Máxima

Figura 4. Frecuencias por Intervalos de Operación para el servicio 204.

Junto con lo anterior se generó modelos que permiten realizar una asignación de los conductores adecuada, de forma tal de minimizar el número de conductores necesarios para responder a la frecuencia de viajes respetando las condiciones contractuales.

Por ejemplo, una parte de la asignación obtenida de un conductor en particular se muestra en la siguiente tabla:

Tabla 7. Asignación del conductor 11 del servicio 202.

Conductor 11

Servicio 202 Salida Regreso Bus Salida Regreso Bus

LUNES Tarde 14:00 23:54 594 17:42 18:16 34 14:58 16:20 B50 18:16 19:48 B6

MARTES Tarde 14:00 23:26 566 18:04 19:04 60 15:20 16:42 B4 16:42 18:04 B4

MIERCOLES Tarde 14:00 23:54 594 17:42 18:16 34 14:58 16:20 B50 18:16 19:48 B6

JUEVES Mañana 5:30 14:58 568 7:26 8:06 40 6:18 7:26 B4 8:06 9:38 B50

VIERNES Tarde 14:00 23:44 584 17:06 18:04 58 15:44 17:06 B7 18:04 19:36 B4

SABADO Mañana 6:30 15:18 528 10:42 11:16 34 7:46 9:02 B79 9:26 10:42 B79

Dia Libre DOMINGO

Comienzo Descanso

Termino Descanso

Duración Descanso

Viajes Turno Comienzo Termino Duración

La asignación realizada define para cada conductor durante cada día de la semana que tipo de turno realizará, en que momento de la jornada tendrá su descanso, y que viajes con sus respectivos buses deberá cubrir.

5. SÍNTESIS Y CONCLUSIONES

En este trabajo se presentan dos modelos de programación entera mixta para la planificación de un sistema alimentador del plan Transantiago. El uso de estos modelos permitirá a la empresa operar de manera eficiente y cumplir con las condiciones impuestas por la administración del nuevo sistema de transporte público en Santiago. El primer modelo integra las decisiones de diseño de flota y horarios de viajes, formulado como un modelo de programación entera mixta. Con los resultados del primer modelo, se desarrolla un segundo modelo que se basa en la técnica de generación de columnas y es utilizado para definir la asignación de conductores a viajes. En toda la modelación se considera las restricciones de frecuencia, capacidad, carga de trabajo y descanso, entre otras, impuestas por la autoridad a cada operador del sistema. Los resultados preliminares obtenidos con ambos modelos

(17)

muestran un potencial de aplicación no sólo a este alimentador en particular, sino que también al resto de los operadores del sistema

Lamentablemente a la fecha de elaboración de este artículo, no ha sido posible comparar los resultados entregados por los modelos con la planificación actual en terreno, debido principalmente a los graves problemas que ha tenido la implementación del proyecto Transantiago, particularmente en relación con los problemas de información de la operación de los buses (localización y carga) que todavía no permiten hacer una adecuada gestión de flota y asignación de conductores. Actualmente en la empresa, la asignación de recorridos y viajes se ajusta manualmente con la experiencia ganada día a día. Los resultados entregados por los modelos muestran que la aplicación de estos permitiría contribuir a la mejora de los problemas de transporte que enfrentan los usuarios durante estos primeros meses de puesta en marcha del Transantiago, pero requieren necesariamente que el sistema de información para gestión de flota esté en funcionamiento, y que al menos los problemas básicos de implementación estén superados.

AGRADECIMIENTOS

Este artículo ha sido parcialmente financiado por el Proyecto FONDECYT 1061261 (CONICYT, Chile), por el Instituto Milenio “Sistemas Complejos de Ingeniería” F-06-04 (ICM, Chile) y la Red Proyecto PROSUL Proc. 490333/2004-4 (CNPq, Brasil).

REFERENCIAS.

Cormen, T., Leiserson, C., Rivest, R. (1990). Introduction to Algoritms, The MIT Press.

Desrochers, M., Soumis, F. (1989). A Column Generation Approach to the Urban Transit Crew Scheduling Problem Transportation Science Vol. 23, No. 1.

Desrosiers, J., Dumas, Y., Solomon, M., Soumis F. (1995). Time Constrained Routing and Scheduling. Handbook in OR & MS, Vol. 8, Chapter 2, 35-139.

Ernst, A.T., Jiang, H., Krishnamoorthy, M., Sier, D. (2004). Staff scheduling and rostering: A review of applications, methods and models. European Journal of Operational Research Vol. 153, 3-27

Forbes, M.A., Holt, J.N., Watts, A.M., (1994). An exact algorithm for multiple depot bus scheduling. European Journal of Operational Research Vol. 72, 115-124.

Fischetti, M., Lodi, A. (2003). Local Branching. Mathematical Programming Vol. 98, 23- 47.

Fischetti, M., Lodi, A. (2006). Repairing MIP infeasibility through Local Branching.

Computers and Operations Research.

Fores, S., Proll, L., Wren, A. (1997). An Improved ILP System for Driver Scheduling.

Computer-Aided Transit Scheduling, 43-61.

(18)

Fores, S., Proll, L., Wren, A. (2002). TRACS II: a hybrid IP/heuristic driver scheduling system for public transport. Journal of the Operational Research Society. Vol. 53, 1093- 1100.

Haase, K. , Friberg, C. (1997). An Exact Algorithm for the Vehicle and Crew Scheduling Problem. Computer-Aided Transit Scheduling. 63-80.

Haase, K., Desaulniers, G. Desrosiers, J. (2001). Simultaneous Vehicle and Crew Scheduling in Urban Mass Transit Systems. Transportation Science, Vol. 35, No. 3,286-303.

Haghani, A., Banihashemi, M. (2002). Heuristic approaches for solving large-scale bus transit vehicle scheduling problem with route time constraints. Transportation Research Vol. 36A, 309-333.

Haghani, A., Banihashemi, M., Chiang K.H. (2003). A comparative analysis of bus transit vehicle scheduling models. Transportation Research Vol. 37B, 301-322.

Hoffman, K., Padberg, M. Solving. (1993). Airline Crew Scheduling Problems by Branch and Cut. Management Science, Vol. 39, 657-682.

Huisman, D., Freling, R., Wagelmans, A. (2003). Multiple-Depot Integrated Vehicle and Crew Scheduling. Econometric Institute Report EI2003-02, Econometric Institute, Erasmus University Rotterdam.

Transantiago (2005), Página Web http://www.transantiago.cl/web2005/lici4.htm

Referencias

Documento similar

La campaña ha consistido en la revisión del etiquetado e instrucciones de uso de todos los ter- mómetros digitales comunicados, así como de la documentación técnica adicional de

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in

This section provides guidance with examples on encoding medicinal product packaging information, together with the relationship between Pack Size, Package Item (container)

que hasta que llegue el tiempo en que su regia planta ; | pise el hispano suelo... que hasta que el

Y tendiendo ellos la vista vieron cuanto en el mundo había y dieron las gracias al Criador diciendo: Repetidas gracias os damos porque nos habéis criado hombres, nos

Entre nosotros anda un escritor de cosas de filología, paisano de Costa, que no deja de tener ingenio y garbo; pero cuyas obras tienen de todo menos de ciencia, y aun

Luis Miguel Utrera Navarrete ha presentado la relación de Bienes y Actividades siguientes para la legislatura de 2015-2019, según constan inscritos en el

Fuente de emisión secundaria que afecta a la estación: Combustión en sector residencial y comercial Distancia a la primera vía de tráfico: 3 metros (15 m de ancho)..