Documentos de Académico
Documentos de Profesional
Documentos de Cultura
FACULTAD DE INGENIERIA
MESO-SIMULACION DE TRAFICO
VEHICULAR
TESIS PROFESIONAL
A,
i
QUE PARA OBTENER EL TITULO DE:
Ny INGENIERO EN COMPUTACION
PRESENTA:
Director de tesis:
Dr. Luis A. Alvarez-Icaza Longoria
DERECHOS RESERVADOS ©
PROHIBIDA SU REPRODUCCIÓN TOTAL O PARCIAL
Todo el material contenido en esta tesis esta protegido por la Ley Federal
del Derecho de Autor (LFDA) de los Estados Unidos Mexicanos (México).
1 Introduccion 1
4 {mplementacién 22
ii INDICE GENERAL
5 Pruebas de simulacién 33
5.1 Actividades en funcién de la velocidad nominal y real... 2... , 33
6 Conclusiones Al
B El parser de SmartCap 61
Capitulo 1
Introduccién
E] propésito del PATH es desarrollar los fundamentos necesarios para la adopcién de tec-
vs nologias avanzadas que permitan mejorar la operacién de los actuales sistemas de transporte
terrestre. Las metas especificas del PATH son: el incremento de la capacidad y seguridad
de las autopistas, asf como la reduccién de congestionamiento. contaminacién del aire y
consumo de energfa. Los beneficios del PATH podrén verse relativamente a largo plazo. El
crecimiento desmedido en la poblacién de las grandes ciudades exigird mayor demanda y
eficiencia en diversos servicios. y uno de ellos seré el transporte. por lo que en un futuro no
muy lejano se requeriran mejores sistemas de transporte y probablemente para ese entonces,
gracias a programas como el PATH, ya se habran implementado las primeras soluciones que
puedan absorber esas demandas.
La importancia en el uso de SmartCap radica en que se trata de una herramienta que permite
disefiar o simular el comportamiento de diferentes sistemas de autopistas. v de esta forma
comparar las diferentes alternativas y elegir el disefio o la forma de control mas eficiente.
Con la ayuda de SmartCap el usuario puede representar la autopista bajo estudio y disefiar
las leyes de control que aprovechen al maximo la capacidad de la autopista. asf como reducir
los tiempos de viaje.
SmartCap permite estudiar los impactos que causarian las leyes de control y nuevas técnicas
sobre los flujos vehiculares. De esta forma se hace posible estudiar los efectos secundarios
2
Capitulo Lo Introduccidn
que podrian generarse en las entradas v/o salidas de la antopista. como son las colas
de
espera y cuellos de botella ocasionados por cambios de carril en seccioues con una
densidad
de flujo vehicular desbalanceada entre los distintog carriles.
Con las simulaciones que ofrece SmartCap ya se han estudiado mevos conceptos
como el
pelotones (platooning), el cual consiste en hacer que los vehiculos viajen en grupos o pelotones
estrechamente espaciados. Con los resultados de las simulaciones se la descubierto que los
tiempos de viaje se reducen significativamente cuando los vehiculos Viajan en pelotones.
y
también que existen limites para el tamatio de los pelotones que hacen que los tiempos
de
viaje sean los éptimos. De aqui que se resalte aun mas los beneficios que pueden obtenerse
del uso de SmartCap para el estudio de nuevos conceptos de sistemas de autopistas.
Una de las mejoras que se hicieron a la versién anterior de SmartCap consistié en modificar la
forma en la que los vehiculos entraban a la autopista. En aquella version el usuario sélo podia
hacer que los flujos vehiculares entraran de forma uniforme. es decir. que en un determinado
intervalo de tiempo el numero de vehiculos que podian entrar era constante. Se agregé
la opcién de especificar que los ftujos vehiculares entraran de acuerdo a una distribucién
exponencial. Esto permitid que la entrada de los vehiculos ocurra de forma aleatoria y de
esta se consiga que la entrada vehicular sea més parecida a lo que sucede en la realidad.
La otra parte del trabajo. donde ocurren las mayores aportaciones de este trabajo, consistid
en mejorar la técnica que se empleaba anteriormente para determinar la velocidad a la que
los vehiculos deberian viajar y aprovechar as{ al maximo el espacio que ofrece la autopista y
conservar siempre un minimo espacio de seguridad.
Este escrito esta organizado de la siguiente forma. En el segundo capitulo se exponen los
conceptos basicos de la teoria de trafico vehicular basada en actividades. En el tercer capitulo
se explica como se mejoré la técnica empleada para calcular la velocidad a la que deben
viajar
los vehiculos. En el cuarto capitulo se explica la forma en la que se implementaron las mejoras
a la mas reciente versién de SmartCap. En el quinto capftulo se encuentran las pruebas de
simulacion para las nuevas implementaciones que se comparan con las que se podian generar
anteriormente. En el apéndice de este trabajo se incluye un breve mauual de usuario donde
se dan las bases para poder compilar y correr SmartCap desde una estacién de trabajo.
Capitulo 2
La teoria de trafico presentada en [1] establece que el paso de un vehiculo a través de una
autopista se puede describir por medio de una serie de maniobras. Estas maniobras se pueden
agrupar en subconjuntos los cuales se definen como actividades. La actividad es un concepto
que se emplea para especificar no solamente este conjunto de maniobras. sino el espacio que
un vehiculo requiere para efectuarlas. Este espacio puede especificarse por unidad de tiempo
ww
o bien, cuando las maniobras toman un tiempo finito menor que el intervalo de simulacién.
darse como un producto de espacio por tiempo.
La teoria relaciona el movimiento individual de los vehiculos con la dinamica del flujo por
medio del espacio requerido por las actividades y del espacio ofrecido por la autopista. Se
pretende conseguir que en ningtin instante de tiempo la suma de los espacios requiridos por
la actividades que ejecutan los vehiculos en la autopista exceda el espacio fisico disponible
en ésta.
La teorfa de flujo vehicular basada en actividades se puede usar como base para un sistema
de control en lazo cerrado que regule el comportamiento del flujo eu una autopista si se
especifican las leves de control para determinar las actividades. velocidades + flujos de entrada
a la autopista de forma tal que no se congestione la autopista ni se exceda su capacidad. A
estas leyes de control se les denominan planes y en conjunto forman lo que se llama centro
de control de trafico o TMC (Traffic Management Center). A continuacidn se explican todos
los elementos que integran el modelado del sistema.
Las actividades permiten diferenciar no solamente conjuntos de maniobras. sino que ademas
pueden definirse en funcién del tipo de vehiculo o del destino final de los mismos. En el
contexto de esta teorfa se denomina tipo de flujo a la combinacién del tipo de vehiculo y de
su destino final de viaje.
4 Captnilo 2. Teoria de trafic vehicular
Autopista
La autopista es vista como la proveedora del espacio que las actividades requieren para
poder llevarse a cabo. Para su andlisis la autopista se encuentra dividida en secciones, y
éstas a su vez se encuentran divididas en carriles. Las secciones v los carriles se encuentran
denotados por x y y, respectivamente. yv la longitud de las secciones se denota por L,, que
es independiente de los carriles, es decir. todos los carriles de una seccién tienen la misma
longitud. La seccién x — 1 se define como la seccién aguas arriba inmediata. o anterior en el
sentido del trafico vehicular.
Existen secciones en la autopista que se usan como estructuras dedicadas para la entrada o
salida de flujos vehiculares. En estas secciones se debe especificar a qué tipo de flujo se le
tiene permitido entrar o salir.
Vehiculos
Se adopta la notacién Noes.2.y para indicar el nimero de vehiculos del tipo @ en la seccién z,
carril y al tiempo ¢. El tiempo se mide en segundos y cada periodo ex de At segundos, los
cuales representan el tiempo de muestreo.
Actividades basicas
Como se mencion6 anteriormente, una actividad representa el espacio que un vehiculo de-
manda a la autopista para realizar una maniobra en un cierto intervalo de tiempo. Es
importante destacar que existen maniobras que para llevarse a cabo necesitan espacio en
otros carriles, tal es el caso de la actividad de cambio de carril. va que requiere de espacio
en dos carriles.
2.2. Modelado de la teoria de trafico vehicular
an
Las actividades basicas son tres v se pueden clasificar de acuerdo al nvimero de carriles a los
que demandan espacio en:
e Actividades de un carril
Cualquier maniobra més compleja se puede reducir a una sucesién de estas tres actividades
basicas para trdfico de vehiculos independientes unos de otros. Los esquemas de trafico mas
complejos que agrupan conjuntos de vehiculos. como el esquema con trafico vehicular en
pelotones, requieren afiadir otras actividades basicas como serian en este caso las maniobras
de unién y separacién de pelotones.
Cada actividad tiene asociada su respectiva demanda de espacio Aot.ry. la cual es una funcién
no lineal creciente con la velocidad. Esta funcién dgt.2,, representa la distancia que debe
existir entre los vehiculos y depende, ademas de la velocidad. de otros par4metros como
el maximo par de frenado del vehiculo, la superficie de la carretera. las condiciones de los
neumaticos. etcétera. Estos pardmetros no se incluyen en la notacién con el fin de no hacerla
mas complicada.
Se define a V,2,,At/Lz como la proporcién de los vehiculos que salen de la seccién x,y al
término del intervalo de tiempo t + At, y a su complemento 1 — Very At/L, como la fraccién
de vehiculos que permanecen en la seccién. Por consiguiente. si \;,,\f/L, = 0.75, significa
que el 75% de los vehiculos de la seccién alcanzaron a salir al final del tiempo de muestreo.
6 Capitulo 2. Teorta de trifico vehicular
Como la proporeién de los vehiculos que abandonan la seccién sdlo puede adquirir valores
en el rango
se debe asegurar que los elementos de la expresién tomen los valores adectiados. Para hacer
que se cumpla lo anterior es necesario determinar el rango en el que la velocidad se puede
encontrar, esto es
donde
Vinaz < min{L,}/At. (2.2)
En la Fig. 2.1 se encuentra ilustrada la forma general en la que los vehiculos abandonan
el carril y en una seccién 7. También se encuentran representados los flujos de entrada
provenientes de la seccidén aguas arriba inmediata y carriles laterales. Ahora. al consideraro
la Fig. 2.1 y las restricciones (2.1) y (2.2), se puede establecer la expresién que representa la
dindmica de la conservacién de vehiculos como
At At
Notratcy = Notcy (a -(l- Moen) 7 -View) + Netr-1y - Magr-tu)F——Mirty
—Tlat.r.yNasry + Uo tey—1-Notey—1 + Notry-tVernyat + Doty
—46.t,2,y: (2.3)
donde Ho,.z, es la proporcién de vehiculos que dejan el carril y debido a cambios de carril.
To,¢,2,y—-1 Y Ue,t,2,y+1 Son las proporciones de vehiculos que pasan de los carriles y-lyytl
al carril y, respectivamente. Qo, ¥ 90,t,2,y Son el numero de vehiculos que ingresan o aban-
donan la autopista al tiempo ¢, de acuerdo a un plan de entrada o salida respectivamente!.
Debido a que las actividades representan un conjunto finito, la ecuacién (2.3) se somete a la
restriccién de actividades
VS bewy = 1, (2.4)
Va
donde 7,,,,, es la proporcién vehiculos del tipo que realizan la actividad a en la seccién
z, carril y al tiempo ¢. Las proporciones de vehiculos que realizan una actividad Tétcy en la
1Estos planes sélo aparecen en la ccnaci6n cuando x,y es una rampa de entrada o salida,
2.3. Centro de control de triifico
~!
Eq. (2.4) v las proporciones Totcrys Tor uy—1 ¥ Tatargyet en la Eq. (2.3) se pueden relacionar
mediante
Tlator.y = > TG tay (2.5)
Waec
la cual indica que el total del espacio requerido por los vehiculos que realizan actividades en
la seccién x, carril y no debe exceder la longitud de la seccién.
Vie
06, A+try = Noazry ( z +) (2.9)
iz
donde ¢9,1..,, es e] numero de vehiculos del tipo @ que salen de seccién -r. carril y al final del
intervalo de tiempo At.
Una vez que se adopta la ecuacién (2.3) para propésitos de modelado de flujos vehiculares,
el problema de analizar la capacidad de la autopista se reduce al problema del disefio de los
planes del TMC.
Plan de actividades
ve
Plan de velocidades
te
Este plan consiste en un conjunto de velocidades V,zy, las cuales son independientes de los
tipos de flujo vehicular y destinos’. Los calculos de esas velocidades se hacen de acuerdo a
la técnica conocida como la regla voraz o greedy rule, llamada asi debido a que la estimacién
de las velocidades se hace de tal forma que se aproveche al maximo todo el espacio que la
autopista ofrece. Esta técnica parte del hecho que las secciones de salida tienen asignadas
sus respectivas velocidades y maximas capacidades. Se hace un barrido hacia atrés para ir
determinando las velocidades para las secciones restantes. haciendo que se cumpla en todo
momento con la ecuacién de conservacién de vehiculos y las restricciones de capacidad de la
autopista. En la siguiente seccidn se explica la técnica de la regla voraz para autopistas de
uno o mas carriles.
Plan de entrada
Este plan consiste en determinar la cantidad de flujo que puede ingresar a la autopista por
una rampa de entrada, de tal forma que la restriccién (2.8) sea respetada. De nuevo se
emplea el criterio de la regla voraz para ocupar el espacio libre en la rampa de entrada, y
2Por ejemplo el de pelotones 0 cl de vehiculos independientes.
3Velocidad maxima o Var.
4Esto es debido a que se asume que los vehiculos cn una misma seccién y¥ carril viajau en promedio
a la
misma velocidad.
2.3. Centro de control de trefico 9
cuando el espacio de ésta no es lo suficientemente grande para alojar a todo el flujo vehicular
que demanda entrar se forma una cola de espera. Es importante aclarar que existe una cola
de espera o buffer por cada flujo vehicular de entrada.
Capitulo 3
Cada tipo de estructura tiene a su vez dos formas distintas de solucién. una consiste en que
el cdlculo de la velocidad se haga al considerar que los vehiculos que realizan un cambio de
carril adopten la velocidad del carril destino. y la otra consiste en que el cdlculo se haga a
partir de la consideracién de que los vehiculos que cambian de carril conservan la velocidad
del carril de origen. A estos casos se les ha denominado caso de las velocidades desacopladas
y de las velocidades acopladas. respectivamente. La razon quedara aclarada mas adelante
cuando se formulen los calculos correspondientes.
En la Fig. 3.1 se encuentra representada parte de una autopista de tres carriles donde se
toma a la seccién z. carril y como punto de referencia. Los carriles estan referenciados por
y+ j, donde j = 0.....n, con n como el nimero de carriles menos uno.
Las flechas representan los flujos de vehfculos que pasan de una secci6n a otra ¥ que cambian
10
3.1, Técnica de la regla voraz para cl caso desacoplado
ll
xy sty [>
t £ = 2.
xytl Hy xLytl
t £ = x.
xyt2 L—» xryt2 b>
de carril.
Fraestyty =
ztlyty jAt
Vere
Loy -j1- Fy pty). (3.1)
Lost
donde
—_ et
Ae evtysj = Di Notatiys iTS ett yep Aenrs ty)
ve
tNo tet iy ti-i 76 et yt j—1 AO rel
—_cr
j
el
+No i 24iytj+t *Ot,c+Lytjtl Notre tyes) (3.2)
Por otro lado, el espacio de los vehiculos que salen de x,y + j hacia «+1. y+ j esta dado
por
Ut nytj = (At/La) Vir ysj Ary sj: (3.3)
Oreyti =
At
—(Bi Viwwes
3 + Bovey
2
+ ByVi yey). (3.4)
L,
12
Capitulo 3. Técuica de la regla voraz
Si 7 = 0 entonces
Notrtty-1M
bt cety-1kod = OY Nogay 178) 4y-1Kay = 0.
0 si j = n entonces
acl
Ni hablytn+l Ot n+1ytnt hoi _=0y :Notrytn+1 TG
cl om
ry —ne kad = 0.
Para que todo el espacio liberado en z + 1, y + j sea aprovechado por los vehiculos que
alcanzan a salir de x.y + j se obliga a que Feaviysj = Utxy+). Si se asume que se conoce
V, 2+1,y+j, entoces el espacio libre en la Ec. (3.1) es conocido v la velocidad buscada
Vi raytj
se obtiene al resolver la ecuacién cibica
L,
BV
er yaj + Beings + Bi ays; — Pertiuti ty = 0. (3.5)
Al resolver la ecuacién (3.5) pueden obtenerse tres valores reales para Vi 744).
y de suceder
esto se elige al minimo positivo. En el caso que se obtengan dos raices complejas y
una real
se elige esta ultima. El valor de la velocidad calculada se debe de encontrar en el
rango
(2.1), por lo que si al resolver (3.5) se tiene que Vizg+y < 0. entonces Viry4; = 00
si
Vi2y+j > Vaz, se asigna la velocidad mdxima a x,y + Jj. Estas
consideraciones se deben
hacer para todos los cdlculos de las velocidades, tanto para e] caso desacopl
ado como el
acoplado.
3.1, Técnica de la regla voraz para cl caso desacoplado
13
Para el caso de que los carriles de la seccién x se encuentren vacios. los coeficientes
A; vy B,
se hacen cero, y no se puede emplear la ecuacién (3.5). por lo que se les asigna la
velocidad
maxima.
xy e| xtLy t+»
f t t +
xytl by oxthyt] be
—_—__—.
xyt2 :
El espacio liberado en +1. y+1 esta dado por Fretiys1 y el liberado en x, y+2 por
Fiay+2;
donde cada uno se calcula nuevamente por (3.1).
- ~ ~ L,
Beyer + Bove ys + BsVe cya — Furstvti ag = 0. (3.6)
INotese que la demanda de espacio de los vehiculos que quieren entrar ar. y+ 2 se calcula
a partir de la
velocidad del carril destino.
14 Capitulo 3. Vécnica de la regla voraz
, At.
Siny+l = Fo Mery (C1 Veen? + CV
x ysv — C3).
donde
—cor ~
C= s Notay+ 1700 ys 1X0:
ve
Al igualar S).441 con Fie,s2. y dejar en términos de Vizgtt: s¢ tiene
Cada ecuacién, (3.6) y (3.8). se resuelve cuidando que la solucién esté deutro de los limites
antes descritos.
Con el fin de no sobrepasar la capacidad de x + 1.y +1, nila de x. y+ 2. el valor final para
V.,2,y-1 Va a ser el menor de las soluciones de (3.6) y (3.8), es decir
En la Fig. 3.3 se encuentra representada la estructura de entrada para nna autopista de dos
carriles, donde la velocidad V,,,y se obtiene si se resuelve como un caso de la estructura
normal.
KY xtLy >
= 2 z 2
nytl tt xtLytl b>
¥
xt] yt2
Las secciones z,y+1y 2+1.y+2 estan colocando vehiculos en + + 1.y +1, por lo que hay
una competencia por el espacio libre Fi.241,41, nuevamente calculado por (3.1).
2Nétese que la demanda de espacio de los vehiculos en 7 + lly + 2. que descan entrar a z+ ley +1,
nuevamente se calcula a partir de la velocidad del carril destino.
3.1. Técnica de la regla voraz para el caso desacoplado 15
donde
+ cl .
C= » Notr+1y+276,t,0¢1y4oK01-
ve
El espacio que se mueve de x.y +1laz+1,y+1 estd dado por Uy yy41. ¥ se determina por
medio de (3.4). Debido a que se libera el espacio Fasiy+t ¥ hay vehiculos en las secciones
z,yt+lyx+1,y+2 que demandan entrar en él, se debe establecer tna forma que permita
indicar qué proporcién de Fi241y41 se les va a asignar a los vehiculos que se encuentran en
el tramo principal y a los que quieren entrar por x + 1,y +2.
Las ecuaciones (3.12) y (3.13) permiten generar una ecuacién ciibica v otra lineal que pueden
resolverse por separado, lo que da como resultado las velocidades para vr. y+1 vit ly+2.
esto es
BF tyti Dott
Viet Ly +2 =
(CVE yse + CoVererysa + C3) At
Generalmente la distribucién del espacio debe ser de tal forma que se dé mas preferencia de
entrada a x+1,y+ 1 a los vehiculos que se encuentran en el tramo principal. por lo que los
valores para @ oscilan comtinmente entre 0.70 y 0.95, dependiendo de la prioridad que se le
quiera otorgar a los vehiculos.
Cuando la densidad de los flujos vehiculares que quieren entrar a x + 1. y +1 son significati-
vamente diferentes, surge un nuevo problema que hace necesaria una nueva distribucién del
espacio libre F)41341, la cual se explica a continuacién.
16
Capitulo 3. Tecnica de la regla voraz
Una vez que se hacen los calculos de Vinge ¥ Vietty+2 para una estructura de entrada como
la de la Fig. 3.3, se pueden tener las siguientes dos situaciones:
Si Veyer = Vor ¥ Vietty+2 < Vinaz; quiere decir que con los valores de a y 3 selecciona-
dos, el flujo vehicular @:.y41 no alcanza a Ilenar el espacio reservado. mientras que
el flujo
vehicular @;.+1,+2 no puede acomodarse totalmente. Esta situacién indica que
se puede
recalcular el espacio real que toman los vehiculos provenientes de x. y +1 asignar el exce-
dente integramente a los que provienen de x +1,y +2. Si se hace esto no hay desperdic
io de
espacio disponible. E} nuevo espacio disponible, denotado por Fisted. para los vehiculos
provenientes de x + 1, y + 2, esta dado por
donde Orn ytt es el espacio de los vehiculos en x, y + 1 que pasan a wt + l.y+lala maxima
velocidad. Con la expresién anterior lo que se logra es que el espacio que no ocuparon
los
vehiculos que alcanzaron a salir de z,y + 1. sea ocupado por los veliiculos que demandan
entrar por z+ 1,y+2.
Por otro lado, si Vizyi1 < Viner ¥ Vieviy+2 = Viner S€ presenta la situacién contraria,
En
este caso es posible acomodar mas vehiculos provenientes de xr. y +1 si se recalcula el espacio
que realmente usardn los que acceden por x + 1,y+2. El nuevo espacio libre. denotado por
Feastiy4i- que se le puede asignar a los vehiculos de Z,y +1 que demand
an més espacio es
Frrttyt1 = Frtty+t _ Startiy2-
Viet yp gat
Fratiytj = cout 7 (: _ FA pt ysy:
Lat
3.2. Técnica de la regla voraz para cl caso acoplado
17
= NO st
A pt tiysj = Do Nes rtt yt X8 rt lay Men: ua)
vé
—cr
Tt Notre tytj-¥ 094 yey 1 M0 tre lLyeyel
ae
+ Notre tytj TA tot tiytjt1AOrr~lyej—t)> (3.14)
al desarrollar la Ec. (3.14), sustituir, y ordenar términos semejantes
se tiene
1- ViesiyrjAt
Fy et tytj = Lyi ( } (Aer tyes + AQVy petiynj
cnt) + dy + BW? +l ytj—1
2
+ BV et tytj—l + Bs + Ci Vere lye jel + CoVh rw tiynyol + C3). (3.15)
donde
= —st
Ay = Do Nosrtiy iF eres ye kon-
va
Ahora, el espacio que ocupan los vehiculos que salen de z. yt+y hacia +1. y+ 7 esta dado
por
Oh ay sj = (At/Le)Vizytj Ht ryt)-
so st
A; ~ Not cvts™ 6 enysskos-
ve
ft T cr
By = DY Notaytj-17F 2. y4;-1K09-
ve
po el
Ci = Do Noseutis1T Ota yaystkan.
ve
Al igualar la Ec. (3.15) con la Ec. (3.16) y dejar todos los términos de
un solo lado de la
ecuacién resultante, se obtiene la funcién G;. que depende de las velocidades de
los carriles
contiguos al j-ésimo carril, esto es
Si se desarrolla la Ec. (3.17) paraj = 0,.... se tiene entonces un sistema de tantas ecuacione
s
como carriles. que debe resolverse para determinar las velocidades para cada carril de
la
seccién x. E] sistema acopla la solucién para velocidades de carriles coutiguos, En el
siguiente
capitulo se describe el método numérico empleado para solucionar un sistema de ecuacione
s
no lineales.
El calculo de la regla voraz para una estructura de salida puede manejarse como un caso
particular de la estructura normal.
xy — xthy [>
t i t 2
xytl + xtlLytl b>
7
xtLy+2
Los espacios liberados en los carriles de la secci6n x + 1 estan dados por Frrtiys Fertiy+l
Y Froaty+2 ¥ al desarrollar (3.17) para 7 = 0,1 se obtiene el sistema de dos ecuaciones
formado por*
! r ype L,
Go = Ai Voy + AWVeny + A View + (Ci Vey + CMa + C3)4 tury 7 Api tatty:
: L
Gy = ay Vee yet + a ee + a3Vi nyt + (BYVey + BYiry + B3)Vi nye _ Ay Faetiwet:
3Los coeficientes a’ de G) estdn escritos en mintisculas para no confundirlos con los cucticientes A’ de Go.
3.2. Técnica de la rogla voraz para el caso acoplado
19
Go = Aj Vey
L
+ ABV? y + AGVi rw + (Ci Veet + CMe nyt + Cyn try ~ Ay tern: (3.18)
y
- . boys
G.= Ave
L
yet + Vey at + a3\ trytl + (By Vy + Bry + B, NV haga) OR Feat lut:
(3.19)
Go se obtuvo a partir de la ecuacién (3.17), mientras que G, implicé
otras consideraciones
que se muestran a continuacién.
Vix At
Fraesiyst = Lr - (: - Hagen) Hy pe ty-t-
ze+1
donde?
= r st
Aer tyet = DV Noteetyt Te eat ya Nor, r—liytl
ve
tNotctiyMte¢lyAOtrtly
+Notctiyt2Aoee+1ye1)- (3.20)
Si se desarrolla (3.20) y se sustituve en la ecuacién anterior se Nega a
Freeigtt =
l- Viersiy4i At » 172 soy ”
Ley — ( } {A Vee ly + AMM ety + .A"3
Las
Ahora el espacio de los vehfculos que van a entrar a la autopista por + 1.y+ 2 esta dado
por
Statige2 = (At/Leii)Viesiy+2 > Not 1.y+2A0.t.re bya:
vO
4Notese que mediante la expresion No.t.2.41.y~2A0.t.2+1,y-+1 Se esta consider
ande el espacio de los vehiculos
en z+1,y+ 1 que entraron por r+1,y+ 2.
20
Capitulo 3. Técnica de la regla voraz
Stortig+2 = (At/ Leas Vireiysa(C’ Vet yan FON re tyns $C). (3.22)
donde
Cn = YO Nor estyaokan
vA
y al sustituir (3.22) en (3.13). v dejar en términos de Viety+2 Se Hega a la ecuacién
cibica
. eyed — Ly.
Cc Venti y a2 +C Vee y4e + O° ct iye2 — OF ested — = 0, (3.23)
y la velocidad para los vehiculos en x + 1,y + 2 se obtiene al resolver esta
ultima ecuacién.
Por ultimo. se toma en cuenta que en caso de que las densidades de los flujos
sean con-
siderablemente desproporcionadas. se aplica nuevamente el criterio de
la redistribucién del
espacio visto en la estructura de entrada para velocidades desacopladas.
que se entre con una actividad diferente, como por ejemplo cr.
dependicudo de la estructura
de la autopista. Por lo anterior se puede decir que la activid
ad de entrada depende de la
topologia de la carretera bajo andlisis.
Cuando Ut ny S Fray se concluye que la rampa de entrada puede alojar a los vehiculos
que demandan entrar, y por lo tanto se les da el paso a
todos ellos. Pero. si Urey > Feary.
implica que la rampa de entrada es insuficiente para alojar a
todos los vehiculos, por lo tanto
se le debe permitir la entrada sélo a los vehiculos para los
que hay espacio y con los que no
alcancen a entrar se debe formar en una fila de espera 0
buffer de acuerdo al tipo de flujo
vehicular.
Implementacién
En el capitulo anterior se desarrollé la técnica de la regla voraz para cl caso de las velocia
des
desacopladas y acopladas. En cada uno de ellos el problema se reducia a dar solucié
n a
un polinomio de tercer grado. o bien a un sistema de ecuaciones collpuesto también
por
polinomios de tercer grado. En el presente capitulo se expone la forma en que se disefiar
on
las soluciones a esos problemas. ademas se describe cémo se implementé la entrada
de flujo
con distribucién exponencial.
22
4.1. Revision de la ccuacién de couservacion
23
Finalmente el numero de vehiculos que salen del carril esté dado por
_ a r
Nout = Nota a
> Tat cy Very At/ Ly + Notzy > Terry t Notry >
Vaes
76 taeay
VaeL VaER
Ahora. al comparar las ecuaciones anteriores en conjunto con la ecuacién
(2.3) se puede
concluir que son equivalentes. pero es necesario indicar que el término 96.4.7, S@ encuentra
incluido en Nour, por lo que no aparece de forma explicita
en las expresiones obtenidas a
partir del cddigo fuente de SmartCap.
1Se puede tomar nuevamente como referencia la Fig. 2.1 mostrada con antertoridad,
24
Capitulo ttmplementacion
La funcién que mejor se ajusté a la demanda de espacio asociada a cada actividad pudo
determinarse gracias a que se contaba con un conjunto de puuitos de la grafica de dicha
funcién, obtenidos de las especificaciones de un plan de actividades de trabajos anteriores.
En la tabla 4.1 se muestra la distancia de z metros que debia nantener un vehiculo del tipo
automoévil con el de enfrente. de acuerdo a la velocidad Y de metros por segundos a la que
viajaba.
Automévil
Dist. x | Vel. Y
0.0 0.0
20.0 29.0
30.0 47.0
40.0] 104.0
Tabla 4.1: Distancia con el vehiculo de enfrente
Existen diversos métodos numéricos que permiten obtener puntos de ima curva. por medio
de la interpolacién de otros puntos va conocidos. De entre ellos el método que se eligié fue el
que se basaba en el polinomio de Lagrange, debido a que con él se pudo llegar a la ecuacién
algebraica con la que se pudieron recuperar los puntos de la tabla 4.1.
Yiy=
.
04 TT HOW),
(x —2;)
m m
donde el par ordenado (z;, y;) representa un punto conocido en la grafica vy m—1es el grado
de la ecuacidén deseada.
_ Ya
A= Gna
_ Ya
(x2 — x1)(t2 — 23)’
4.2. Demanda de espacio en funcion de la velocidad real 25
t<
C= ¥3
(23 — ry) (t3 — 2)
Ahora, al sustituir A. B y C en (4.5). desarrollar. y ordenar términos semejantes se llega a
Y¥ (x) = [x? — (xg + x3)a + rors) + [x? ~ (2, +.23)2 + rps Bt? = (ry target xyrC,
y si se factoriza
Y(e) = (A+ B+C)z? — (A(c2 +23) + Bla +23) +C(art wo) t+ (Avy + Bay)z3 4+ Cary 29.
ki = (A+ B+C).
Debido a que se contaba con cuatro puntos, y la ecuacién (4.6) solo requeria tres de ellos, se
hicieron combinaciones para ver cual era la que producia el menor margen de error. En la
Fig. 4.1 se muestran las curvas obtenidas al emplear algunas combinaciones de puntos de la
tabla 4.1.
Avtomovs
120
° s 10 1s 70 28 30 36 4
valocuted [mveeg]
La diferencia entre las dos curvas obtenidas pudo notarse en sus respectivas ordenadas al
origen. Una de ellas indicaba que para una velocidad de cero se deb{a guardar una distancia
26
Capitulo 1. fplementacién
de seguridad de 110 metros. lo cual hizo que ésta fuera deseartada. La otra curva parecid
ser la mds adecuada. va que tenia ordenada al origen nula y permitia qne se asignara mayor
espacio para vehiculos con una velocidad mayor. Al obligar a que las ordenadas al origen
de
cada tipo de vehiculos fueran nulas. la ecuacién (4.6) se redujo a
Se siguid el mismo procedimiento para los tipos de vehiculo restantes con base en
la tabla
siguiente.
Vel. Y
Dist. z | Camién | Autobus
0.0 0.0 0.0
20.0 67.0 88.0
30.0 140.0 193.0
40.0 249.0 339.0
Tabla 4.2: Distancia con el vehiculo de enfrente
Las funciones de demanda de espacio para cada tipo de vehiculo estuvieron entonces
dadas
por:
Se puede apreciar en la Fig. 4.2 que los vehiculos mas pesados deben mantener una
mayor
distancia por motivos de seguridad. Finalmente como el espacio que el vehiculo ocupa
a lo
largo debe ser incluido en (4.7) se llega a
donde ky es la longitud del vehiculo. Esta ultima ecuacién es el modelo matematico buscado
que representa la demanda de espacio en funcién de la velocidad.
Demanda de expacre
~ aimed
+ remoneta
aumebuy,
20 35 40
veloceiad [miseg]
daba de forma directa las raices. Ambas podian implementarse de forma sencilla, pero la
primera consumia mds tiempo de ejecucion debido a que se trata de nn proceso iterati
vo,
y ademas debia considerarse que si se elegia un valor
inicial tnuy alejado de la solucién, el
proceso tardaba mas en converger. Por estas desventajas
resulté mds conveniente optar por
la segunda solucidn. la cual se explica en las siguientes Iineas.
w+ pr+q=0, (4.10)
donde
pee 3
y
_ 2 3,
I o77 ~ ate
En [8] se explica con detalle como es que (4.10) tiene por una
de sus rafces a
r=~3.9
\ , atyat
/70, RB ri 4 a7gq fqVotep
(4.11)
Para implementar el caso de £2 + & 3 < 0 es necesario. expresar
(4.11) en notaciénae de nime
,
ros
complejos, o sea
r= (a+ 65) + (a — By), (4.12)
donde
28
Capitulo lmplementacion
donde
6 = arccos (a/r)
r= Va?+ 6?
fi(zi, 22)
fo(21, £2, 3)
F(X) = {sta 2,24) (4.15)
vy
Mo
3
X=] 7. (4.16)
tp-1
Xn
fi
fo
rixy= | #8
fa-1
fa
Nint = X; — (DF(X,))"'F(N,).
(4.17)
donde i es la i-ésima iteracién y DF(X;) es la matriz jacobiana
de F(X) valuada en X;. es
decir,
gh oh g 9g 0 0 0 |
0 0
0 58 ga 2h... 9 0 0
DF(Xi) = : : : Doo, : : : (4.18)
0 0 0 0 -- Qe Bf vex
la cual es una matriz tri-diagonal. ya que cada f; depen
de de Uj-1. Uj ¥ X41. La obtencién
de cada elemento de la matriz (4.18) no representa
gran dificultad. ya que son derivadas
parcia les de ecuaciones algebraicas de tercer grado.
alguno de ellos se encuentra vacio se le asigna la maxima velocidad. v esto provoca que se
despeje una de las incdégnitas del sistema. Esto hace que cl orden del sistema se reduzca
tantas veces como carriles vacios se tengan.
La reduccién del sistema consiste en que si a wv; se le asigna la inaxiina velocidad, entonces
los valores de zr; y f; deben excluirse de las matrices X vy F(X} respectivamente, en tanto
que para el jacobiano se deben cancelar el renglén y Ja columna que involucran directamente
of.
a atk
ge:
Por ejemplo, considere que (4.17) se desarrolla a partir de un sistema de cuatro ecuaciones,
esto es
a 2 a .
xy se a 0 9 Ai
22 ee BO fr
3 Org O23 Ora 13
x4 0 0 24
Org
gh
«Org :
fy
si a x3 se le asignara la velocidad maxima, entonces el sistema se tendria que reducir a
2h 8 g J h
7 oa Qe
Xwr= | t2|-| 52 22 0 fa [. (4.20)
x4 0 0 Ox, Sa
Debido a que éste es un método iterativo, las operaciones anteriores deben repetirse hasta
que los valores de Xj4) sean aproximadamente iguales a los de Y,. es decir. hasta que la
diferencia entre éstos tienda a cero.
Para que los vehiculos entren de acuerdo a una distribucién exponencial. la expresién (4.21)
se debe dejar en términos de la proporcién de vehfculos
1
l= ~ int — F(z)), (4.22)
4.5. Entrada vehicular con distribucion exponencial 31
sujeta a la restriccién
0 < Flr) <1. (4.23)
La proporcién de vehiculos que arriban al final del tiempo de mnestreo esta dado por rAt.
por lo que al emplear la ecuacién (4.22) se llega a
En la Fig. 4.3 se muestra la grafica del comportamiento de (4.24) para ¢ = 2.65 y At = 15.3.
or,
de venteuae
2.8.3.
Numero
$
4
~~
|
4|
‘
or 02 03 O« 05 06 27 (Oe 38 t
Propapiesad de arrtson
fue la que permitio que la probabilidad de arribos F(x) fuera aleatoria v que se respetara la
restriccién (4.23). El empleo de la funcién rand de C permitio generar wna serie de ntimeros
pseudo-aleatorios a partir de un valor inicial o semilla.
Para conseguir que la serie de nimeros fuera completamente aleatoria se consiguié que la
semilla se obtuviera de acuerdo al reloj de la maquina donde se corria el sistema. Para ello
se empleé la funcion srand:
32
Capitulo t. Tmplementaciou
Este renglén fue agregado a la seccién main que se encontraba en cl archivo main.c de
SmartCap.
Pruebas de simulacién
En el presente capitulo se presentan las pruebas de simulacién hechas con el fin de probar que
las nuevas funciones que se implementaron ofrecen ventajas sobre las de la versién original.
Para todas las simulaciones de prueba se tomaron flujos de entrada con distribucién uni-
forme, pues esto permitia no tratar con la aleatoriedad del flujo de entrada con distribucién
exponencial y evitaba hacer un andlisis tipo Monte Carlo para concluir correctamente.
En estar prueba se querian estudiar las diferencias del comportamiento vehicular derivadas
del caso de las actividades en funcién de la velocidad nominal { AVN) ¥ velocidad real (AVR).
Para estas pruebas de simulacién se empled una autopista de un carril. dividida en cinco
secciones como la mostrada la Fig. 5.1.
En ambos casos de estudio se colocé a la entrada de la carretera un flujo uniforme que arribé
durante los primeros 1000 segundos de simulacién. El tiempo total de sinwlacién fue de 2500
segundos con pericdos de muestreo de 15.3 segundos.
Los resultados obtenidos se muestran en la Fig. 5.2. En ellos se puede observar que la veloci-
dad a la que se viajaba en la primera seccién para el caso de AVN, decay6é repentinamente
33
Capitule 3. Pruebas de sinulacion
Velocddades
a
3 r
20 | 1
it ‘ fo \
. |: poh
:
i$a
Zan '
2Pl of
2 1 ,
Xft
yt
' i ;
,' :
\
' tof :‘ :
{
:
‘ c
' :
28 : /
‘' sol ' -
aspi-------
, '
; '
hasta los 25 m/seg, y se mantuvo asi hasta que los vehfculos en la fila de espera terminaron
de entrar. Para el caso de AVR la velocidad fue bajando de forma gradual hasta que se
cumplieron los 1000 primeros segundos de simulacién, y con una desaceleracién repentina
debida a una saturacién en la rampa de entrada. Finalmente se presentaron una aceleracién
y desaceleracién mas pronunciadas antes de que la cola de espera desapareciera. Las veloci-
dades para el caso AVR resultaron ser mas altas que para el caso AVN. debido a que en
el primero los vehiculos sdlo reservaban el espacio estrictamente necesario. y en el segundo
todos los vehiculos reservaban el espacio que habrfan de requerir a la maxima velocidad, sin
importar que se encontraran desplazando lentamente.
Para esta prueba se consideré una pequefia autopista de dos carriles dividida en cinco sec-
ciones, cada una de 500 metros de largo, como la mostrada la Fig. 5.3.
A la entrada del cartil de la izquierda se colocé un flujo vehicular con nua densidad muy
grande, con el propdsito de originar un congestionamiento ¥ conseguir la formacién
de una
cola de espera. Por la entrada del otro carril se hizo pasar un flujo con una densidad
menor
a la del primero. v se obligé a que un 45% de los vehiculos en la seccion 3. carril 1, pasaran
a la derecha. Todo esto. para ver los diferentes efectos causados por cl empleo del concepto
de las velocidades desacopladas (CVD) y el de las acopladas (CVA) cuando hav cambios de
carril en secciones con densidades desbalanceadas de flujo vehicular.
El tiempo total de la simulacién fue de 2000 segundos con flujos vehiculares de entrada
uniforme, y el ingreso de estos por la primera seccién fue sélo durante los primeros 1000
segundos.
Para el caso acoplado. en el carril 2 de la seccidn 3, el espacio demandado por los vehiculos
provenientes del carril izquierdo que hacian la actividad de cr. estaba en funcién de la
velocidad del carril de origen. la cual era muy baja. lo que hacia que los vehiculos requirieran
poco espacio y por lo tanto se podia alojar a nimero mayor de éstos.
Lo contrario sucedfa para el caso desacoplado: el espacio demandado por lo vehiculos que se
encontraban realizando cambio de carril hacia la derecha estaba en funcion de la velocidad del
carril destino. Como esta velocidad era mds alta se demandé mas espacio. ¥ por consiguiente
se alojaron menos vehjiculos. y al ser alojados menos vehiculos la velocidad a la que podian
viajar resulté ser mas alta en comparacién con el caso acoplado.(Ver Fig. 5.4).
Vemculos Velocidacen Flue vancuier
38) 3s 14
voctcoe \
‘
sof y—___.._ 1
30 12
i
2s} '
8 +
i ‘\
i20) Fa) ‘ 4
3
eye 1 }
ig 1s wets ‘ —----- ,
10 10. o4
vehicular fue mayor debido a que los vehiculos viajaban a una mavor velocidad. pero esto no
significd que se redujera la fila de espera a la entrada del carril 2. al contrario. la fila de espera
era mas grande que para el CVA. Lo que sucedfa era que al viajar a ama mayor velocidad se
debia guardar una mayor distancia de seguridad entre los veliculos. v esto ocasionaba que
se colocaran menos vehiculos en el carril 2 v que la fila de espera fuera grande,
Con el aumento del ntimero de vehiculos que entraban a la carretera se reducia la fila de
espera. pero se obligaba a que se viajaran a una menor velocidad. lo que provocaba mayor
congestionamiento. (Ver Fig. 5.5).
Secerin t caret Secewn 1. carl 2
600) 180
180
s00|
140
400 120
i
8 900)
i.
2
& ae
200) o
“0
100
20
Los efectos en las velocidades de las secciones del carril izquierdo fueron los mismos para
el CVD y el CVA, debido a que a ninguna seccién de dicho carril entraban vehiculos por
medio de cambios de carril. y por lo tanto el flujo vehicular y la fila de espera formada fueron
iguales para ambos casos.
Con los resultados de estas pruebas, para estas densidades de entrada en particular, se pudo
notar que cuando se trataba de aprovechar al maximo la capacidad en el carril destino al
mismo tiempo se aumentaban los tiempos de viaje, ya que se disminufan las velocidades a
las que se debia transitar.
Es necesario aclarar que el usuario es el encargado de decidir cual de los dos criterios se
adapta mejor a lo que constituye un cambio de carril en su diseno de AHS.
El CVD y el CVA pueden considerarse como dos casos extremos. va que un conductor decide
si adopta o no la velocidad del carril destino durante el intervalo de muestreo, o bien puede
ser un caso intermedio, es decir, puede ser que al inicio del periodo de muetreo el conductor
entre al carril con la velocidad de origen, y que acelere o desacelere para que al final del
periodo adopte la velocidad del carril destino. La solucidn de este caso no se exploré en este
trabajo dedibo a que quedaba fuera de los objetivos de esta tesis. pero conduce también a
un sistema de ecuaciones acopladas, cuyos coeficientes no son dificiles de calcular una vez
5.3. Salida de una autopista 37
Cuando hay cambios de carril. v los vehiculos que pasan a través de ellos viajan a las mismas
velocidades, el resultado del calculo de la regla voraz mediante cualquiera de los dos criterios
es el mismo. En cambio, cuando en los carriles se viaja a velocidades considerablemente
diferentes. los cambios de carril influyen de forma directa sobre los Hujos vehiculares. y por
consiguiente sobre los congestionamientos y las colas de espera.
Para esta prueba se consideré una topologia como la mostrada en la Fig. 5.6.
Sas. 252
-{ h_
El tiempo total de simulacién fue de 1800 segundos con flujos de entrada uniforme que
arribaron a la entrada de la autopista en los primeros 1000 segundos de la simulacién. Para
los dos experimentos se redujo el flujo vehicular a Ja salida de la seccién 6. con el propésito
de que el carril se congestionara y de esta forma poder ver los efectos a partir de CVD y
CVA.
Los resultados de las simulaciones indican que se siguiéd el mismo patron que fue observado
en el cambio de carril en la estructura normal.
Para el CVA. los vehiculos en 3. 1 que hacian cambio de carril a la derecha demandaban mas
espacio en el carril 2, ya que su calculo estaba en funcién de la velocidad a la que se viajaba
en el carril 1, y dicha velocidad era la maxima. Al reservarse mas espacio. la velocidad en el
carril de destino decrecid, lo que provocéd un mayor congestionamiento. (Ver Fig. 5.7).
Si se compara el CVD con el CVA segin las grdficas de la Fig. 5.7. en el primero se originé
un menor congestionamiento en el carril de salida debido a que las velocidades resultantes
fueron mayores. En términos del flujo vehicular se pudo apreciar que éste fue mayor para el
CVA, debido a que salia un mayor numero de vehiculos de la seccién 3.2. pero a una menor
velocidad que para el CVD.
También se pudo observar que poco antes de los primeros 500 segundos las velocidades en
el carril de salida (seccién 5) empezaron a decaer de forma similar para el CVA y el CVD.
Esto origind que las graficas de los flujos vehiculares fueran muy parecidas para ambos casos
de estudio.
38 Capitilo 3. Prnohas de simulacion
— tv i
~~ ova! ||
32 ||
3
2
33
$ 55t'C
8 é
3 10) ~
sI .
0
0 500 tee 1500
tempo [seg] tiempo (ses?
Seccién 5 Secciin5
% 35 }
3
30 ry
33 3$05
3” | 3°
3 Lal 04
33 3B$15} =503
5 Bg: 33
3 103 £02
g
| 8 Sot
0!
0 500 10001500 q 500 10k 15000
tiempo (seg) tiempo [seg"
Para esta prueba de simulacién se empleo la topologia mostrada en la Fig. 5.8. En el tramo
principal se colocé un flujo vehicular mayor al que se hizo pasar por el carril de la seccién
4. El tiempo total de la simulacién fue de 1500 segundos. con periodos de muestreo de 13.5
segundos, y los dos flujos vehiculares entraron durante los primeros 700 segundos. Para
permitir que un mayor numero de vehiculos del tramo principal tuviera acceso a 3, 1 se eligis
un valor de a = 0.9 para la restriccién del espacio disponible.
En este experimento se logré observar que el empleo de los conceptos ocasionaron diferentes
comportamientos sobre el tramo principal y el carril de entrada. ¥ por consiguiente en la
formacidn de filas de espera. (Ver Fig. 5.9)
5.1. Entrada a una autopista
39
Seccion Seccion 4
ov " '
-- CVA 3 ‘
i it
3 it
£10 1)
0 Loy) 3 1
=
1 500 1000 1500 050010001500
Seccidn 3 carl 1 Section 3 carr 1 Seccicr 3 sat *
20 15
=
0 S
- y | (Fr.
Sally \
3H En 2 | ‘
3 3
a 3 $ my
3210 3 10
9
34
>
=
6 0
0 500 1000 1500 0
Seccién
3 carrd 2
04
3H .
3 03
3%
> E Q
= 2) ‘
3 1 q g02 °
£10
| haSn S01
eel
4 Q 0
0 500 1000 15000 50 00015000 1acd
tiempo (seg) tiempo [segt temps
Para el caso del CVD se formé un mayor congestionamiento en el tramo principal, debido
que el espacio de los vehiculos que salian de 3, 2 estaba en funcidn de la velocidad en 3. lla
cual result6 ser baja. v por consiguiente los vehiculos demandaban poco espacio y se lograba
colocar a un mayor numero de ellos en 3, 1.
Las ventajas del CVA se tradujeron en una fila de espera nula a la entrada del tramo principal.
y un menor congestionamiento en éste. Pero. al permitir que en el traimo principal se viajara
con mayor fluidez. se provocé que el carril de entrada se congestionara y se originara una
cola de espera.
En cuanto a los flujos vehiculares del tramo principal, seccién 3. 1. se pudo observar que para
el CVD empezé a decrecer aproximadamente a los 650 segundos del tiempo de simulacién.
incluso llegando a ser menor que el flujo para el CVA. Esto se debié a que en 3, 1, para el
CVD. se empezé a alojar a un mayor mimero de vehiculos. pero saliendo a una velocidad tal
que permitia una circulacién de forma fluida. Esto origindé que los vehiculos que tenfan que
40 Capitulo 5. Prncbas de simulacion
Las pruebas de simulacién para las entradas de tipo uniforme y con distribucién exponencial
se llevaron a cabo al considerar nuevamente la autopista de un carril mostrada en la Fig. 5.1.
El tiempo total de la simulacién fue de 2500 segundos. con periodos de muestreo de 15.3
segundos y para ambos tipos de entrada se empleé una taxa promedio de arribos de 50
vehiculos por minuto. Los resultados de dichos experimentos se pueden ver en la Fig. 5.10.
3: :Bis0 ‘
mk
2:
Erol: : :
e '
.
'
50
'
°. Oo ' \L _.
500, 1000 1500 2000-2500. % 500 1000 1800-2000 2500
tempo ‘sag terres 909;
En las grdficas de la Fig. 5.10 se muestra el mimero de vehiculos que arribaban a la rampa de
la autopista para una entrada uniforme (UNIF) y otra con distribucién exponencial (EXP).
Se puede observar que efectivamente se pudo conseguir hacer que la eutrada vehicular fuera
un fendmeno aleatorio. y de esa forma hacer que la simulacién se acercara mds a lo que
sucederfa en una situacion real.
Conclusiones
En esta tesis se expuso la teorfa de trdfico vehicular basada en la abstraccién de que los
vehiculos que circulan a través de una autopista lo hacen con base en una serie de maniobras
denominadas actividades. Con ayuda de estas actividades se representa el espacio que fos
vehiculos demandan para poder alojarse en la autopista. Este espacio se calcula para incluir
el espacio de seguridad que se debe conservar entre vehiculos. Asimisnio se expuso la técnica
de la regla voraz o greedy rule. ideada con el propdsito de controlar los flujos vehiculares. de
tal forma que se aprovechara eficientemente el espacio ofrecido por la carretera, tratanto con
ello de reducir a la vez los tiempos de viaje.
En esta tesis se realizan algunas modificaciones al céddigo SmartCap. que es una aplicacién
de simulacién que se deriva de dicha teorfa de trdafico. La versién anterior de SmartCap
presentaba la desventaja de que el calculo de la demanda de espacio estaba en funcién de la
velocidad maxima. Esto provocaba un gran desperdicio de espacio debido a que al momento
de hacer los cdlculos para la regla voraz. se consideraba que todos los vehiculos sin excepcion
viajaban a la velocidad maxima permitida, y por ello se demandaba mis espacio del necesario.
originando que los resultados arrojados por las simulaciones fueran conservadores.
Para eliminar esa desventaja se decidid modelar el espacio que demandan las distintas ac-
tividades como una funcién de la velocidad real a la que viajaba cada vehiculo. Al modelar
el proceso de cambio de carril se lleg6 a dos casos. Al primero de ellos se le denominé de
caso de velocidades desacopladas (CVD) y surge de considerar que los vehiculos que hacen
actividades que implican cambio de carril adoptan la velocidad del carril de destino. Al
otro caso se le denominé de las velocidades acopladas (CVA) v se derivé de asumir que los
vehiculos conservan la velocidad del carril de origen durante las actividades de cambio de
carril.
Las modificaciones hechas en el presente trabajo mostraron los diferentes impactos sobre
las colas de espera y flujos vehiculares originados por los CVD v CVA. Es necesario aclarar
que no existe un criterio que nos indique que una consideracién es mejor que la otra por
41
42
Capitulo 6. Conchisiones
el simple hecho de obtener una mayor reduccién en la cola de espera v mejores tiempos de
viaje. El encargado de determinar cual es la consideracién que mejor se ajusta al sistema de
autopistas bajo estudio es el misino disenador.
Otro aspecto que es muy importante remarcar es que cuando se tienen altas demandas para
entradas vehiculares. la regla voraz trata de maximizar la ocupacidn del expacio disponible +
puede llegar a permitir exceso de entrada lo que conduce a congestionamientos que reducen
sensiblemente la velocidad de los vehiculos en la carretera. Es por ello que se debe tener
especial atencién con la forma de disenar los planes de entrada v procurar el diseho de otras
reglas de control de la velocidad que no tengan este tipo de problemas.
La otra mejora realizada a SmartCap fue implementar una entrada vehicular aleatoria. Se
optd por tomar una distribucién de probabilidad de tipo exponencial pues ésta representa
apropiadamente los fenédmenos de espera en colas. Esta modificacion permitié que las si-
mulaciones fueran mas realistas pues consiguen reproducir el fendmeno aleatorio de arribo +
salida de vehiculos a las rampas de entrada.
Como se indica al inicio de este trabajo. la principal justificacién de desarrollar una herra-
mienta de simulacién como Smart Cap radica en el permitir predecir. lo mas aproximadamente
posible, el comportamiento de un sistema de autopistas. Las modificaciones implementadas
en SmartCap permiten mejorar esta capacidad de prediccién. Con base a los resultados
de las simulaciones se puede concluir que se cumplieron con los objetivos establecidos en
el trabajo. ya que se cubrieron algunas de las carencias mas importantes detectadas en la
version original de SmartCap.
Bibliografia
[1] M. Broucke and P. Varaiva. A theory of traffic flow in antomared highway system.
Transportation Research. Part C: Emerging Technologies. 4(4):181-210. 1996.
[2] Luis Alvarez. Activity based highway capacity analysis: A case study. Proceedings of
IEEE Conference on Intelligent Transportation Systems. pp. 153-158. 1997.
[7] Shoichiro Nakamura. Andlisis numérico y visualizacién. Prentice Hall. México. primera
edicion. 1997.
43
Apéndice A
El cddigo fuente de SmartCap fue escrito en lenguaje C estdndar v puede correr tanto en
estaciones de trabajo como en computadoras personales.
El presente capitulo es un breve manual del usuario que tienc la inteucién de ser un com-
plemento de [3] y {4]. En este manual se exponen las bases necesarias para poder editar los
archivos que contienen los planes TMC y el archivo tipo make necesario para la compilacion
de esos archivos. También se incluyen algunas funciones que va existian en la versién ante-
rior, asf como las nuevas funciones que se emplean cuando las actividades son funcion de la
velocidad real!.
Los archivos que integran SmartCap se encuentran distribuidos en los siguientes directorios:
Ver capitulos 2 y 3.
44
A.2. Compilacion 45
A.2 Compilacién
SmartCap se compila desde el directorio scap/src/user empleando un archivo tipo make que
debe editarse cada vez que se implemente un nuevo plan TMC. Cada que se crea un archivo
tipo make se deben de especificar los nombres de los archivos donde =e escribieron los planes
de actividades, velocidades v de entrada. asi como el nombre ¥ la ruta de acceso donde se
guardara el archivo ejecutable. Debido a que cada vez que xe compila se requieren cuatro
archivos, se sugiere que cada uno de ellos tenga un prefijo que corresponda con el archivo
de] que se trate. Para ilustrar esto. considérese que se tiene un archivo tipo make al cual se
le ha denominado makeEjemplo. vy que en una parte de él se encuentran las siguientes lineas:
ACT = actEjemplo.c
TMC = tmcEjemplo.c
DEST = ${BASE}/bin/sun/exeEjemplo.exe
VEP = vepEjemplo.c
actEjemplo.c es el nombre del archivo fuente donde se definen las actividades para una
determinada simulacién. tmeEjemplo.c es el archivo fuente donde se encuentra especificado
el plan de actividades. que en vepEjemplo.c se encuentran los planes de velocidades y de
entrada. DEST determina el nombre y el directorio destino del ejecutable. En el ejemplo
anterior sdlo se muestran las cuatro lineas que deben ser modificadas en el archivo tipo make
y es recomendable que las demas sean dejadas de la misma forma en que fueron encontradas.
make -f MakeEjemplo
A.3 Ejecucion
Una vez que se genera el programa ejecutable. se requiere que el archivo de usuario esté
ya editado con las especificaciones de la topologia de la autopista. tipos de flujo vehicular,
condiciones iniciales. etcétera.
SmartCap se corre con el comando scap desde el directorio data. que es el lugar donde se
debe encontrar el archivo de usuario.
Ejemplo:
donde ezeEjemplo es el nombre del programa ejecutable sin la extensién exe e inEjemplo es
el nombre del archivo de entrada.
SECTION SMARTCAP
Esta expresién indica el comienzo de la seccién SmartCap y esta compuesta por los pardmetros
TIME, STEPTIME. FLOWOUT, ACTOUT. COMPOUT, DEBUG, VMAX y ROOM. explicacos a continuacién.
SmartCap interpreta que lega al final de una seccién cuando encuentra nuevamente la pa-
labra SECTION.
TIME [Duracién]
STEPTIME [1]
Esta sentencia define que el tiempo de muestreo de cada simulacién cs de T segundos. Hay
que recordar que el tiempo de muetreo debe de cumplir con la restricvi6n (2.2),
FLOWOUT [Bandera]
Esta sentencia ordena al simulador que genere el archivo de salida con terminacion *_f.m’.
ACTOUT [Bandera]
Esta sentencia ordena al simulador que genere el archivo de salida cou terminacién 'a.m’.
COMPOUT [Bandera]
Esta sentencia ordena al simulador que genere el archivo de salida con terminacién ‘_c.dat’.
DEBUG [Bandera]
Esta sentencia ordena al simulador que genere el archivo de salida cou terminacién ‘_af.m’.
VMAX [Velocidad]
Esta sentencia especifica la maxima velocidad a la que pueden viajar los vehiculos.
ROOM [roon]
Esta sentencia se emplea para evitar que exceda la capacidad de algina seccién de la au-
topista debido a una imprevista demanda de espacio por parte de las actividades. Se incluye
pues algunas actividades complejas. por ejemplo. la actividad de separacion de pelotones
pueden producir que al pasar de una seccidén a otra, el mismo niimero de vehiculos ocupe
mayor espacio. Aunque una modificacién al plan de actividades podria resolver este problema
la variable ROOM permite reservar una proporcidn de espacio para este tipo de situacién.
48 Apendice A. SinartCap: Mannal del nsnario
SECTION LP
Esta expresién indica el inicio de la seccién LP que esta integrada por LPNTIMES. LPTIME y
LPV. los cuales son pardmetros para la solucién de la programacidn lineal implementada en
SmartCap. En este trabajo estos pardAmetros no se utilizan. para mavores detalles consultar
[2].
SECTION CARTYPE
Esta expresion indica el inicio de la seccidn CARTYPE y se encuentra formada por los parametros
CARTYPE, LENGHT. WIDTH. AMAX. AMIN. COEF1 v COEF2. Estos pardmetros declaran las carac-
teristicas de los tipos de vehiculos que van a intervenir en la simulaciéu v son explicados a
continuacién.
CARTYPE [Nombre]
Esta sentencia indica el nombre que se le va a dar al tipo de vehiculo qne se esta declarando.
El nombre debe ser especificado por medio de una cadena de caracteres.
LENGHT [Largo]
Esta sentencia indica cuanto mide de largo el vehiculo que se esta declarando. Esta distancia
se debe especificar en metros.
WIDTH [Ancho]
Esta sentencia indica cuanto mide de ancho el vehiculo que se esta declarando. Esta distancia
se debe especificar en metros.
AMAX [Aceleracién]
Esta sentencia indica la maxima aceleracién permitida para el vehiculo que se esté declaran-
do. Las unidades de esta especificacién estan en metros por segundo.
A.d. El archivo de entrada 19
AMIN [Aceleracién|
Esta sentencia indica la minima aceleracién permitida para el vehienlo que se esta declarando.
Las unidades de esta especificacion estan en metros por segundo.
Esta sentencia indica el valor del coeficiente kg, cuando se considera que las actividades
estan en funcidn de la velocidad real.
COEF2 [coeficiente]
Esta sentencia indica el valor del coeficiente kg2 cuando se considera que las actividades
estan en funcidn de la velocidad real.
SECTION HIGHWAY
Esta expresién indica el comienzo de la seccién HIGHWAY. la cual est formada por los
pardmetros HIGHWAY. LANE. GEOMETRY. PIN, y CONNECT. Los pardimetros referentes a la forma
de la seccién no influyen de forma directa en la simulacién cel trafico vehicular. ya que sdélo
son empleados por una aplicacién denominada SmartPath. la cual coustruve una grafica de
la topologia de la autopista.
HIGHWAY [secNon]
Esta sentencia indica el nombre que se le asigna a Ja seccién que se esta declarando.
Esta sentencia define las caracteristicas del carril perteneciente a la seccién que se esta
declarando. numCarr es el ntimero con el cual se identifica a un carril dentro de una seccién,
en orden de izquierda a derecha. Modo indica el tipo vehiculos que van a pasar por el carril. es
decir, vehiculos bajo control automatico. manual o transitorio. los cuales se pueden especificar
respectivamente por AUTOMATED. MANUAL o TRANSITION. Tipo indica si el carril tiene barreras,
sélo algunas o ninguna y la forma de especificarlo es mediante ALL_BARRIERS. SOME_BARRIERS
o NONE_BARRIERS. El parametro OrigDest puede estar especificado por SOURCE o SINK. esto
50 Apéndice A. SmartCap: Maimial del usuario
con el fin de indicar si se trata de un carril por donde se va a iugresar o salir de la autopista.
respectivamente.
Esta sentencia indica que la seecién que se esta declarando es recta v que su longitud medida
en metros esta especificada por el paradmetro Longitud.
Esta expresidn indica que la seccién que se esta declarando tiene una curvatura con un Arco
(medido en radianes) con direccién a la izquierda (L) 0 a la derecha (R).
Después de que todas las secciones hayan sido declaradas se debe especificar un punto que
sirva de referencia. y la forma de hacerlo es mediante la sentencia PIN. El pardmetro secNom
es el nombre de la secci6n y X. Y y Z son sus coordenadas cartesianas. Comtnmente el punto
de referencia es el origen, es decir (0, 0,0).
Esta sentencia sirve para indicar que el carril k de la seccidn secA esta conectado al carril
m de la seccién secB, y que el carril k+1 de secA esta conectado al carril m+1 de secB, y
asi sucesivamente hasta llegar a que el carril 1 de secA esta conectado al carril n de secB.
Hay que sefialar que secA es la seccién aguas arriba, en tanto que la otra es la secci6n aguas
abajo.
SECTION FLOW .
Esta seccién indica el inicio de las seccién FLOW, la cual a su vez esta compuesta por
pardmetros que inician con la palabra FLOW y que definen los tipos de fAlujos vehiculares.
A.d. El archivo de cutrada 51
FLOW [Nombre][tipo]/secNom][numCarr]
Esta sentencia define un tipo de flujo vehicular. donde argumento Nombre cs el nombre con
el cual se le va a distinguir de los demas flujos. el argumento tipo pnede ser cualquiera de
los tipos de vehiculos especificados en la seccién CARTYPE. Los pardmetros secNom y numCarr
se refieren a la seccidn y carril de origen. respectivamente.
SECTION INFLOW
Esta expresién indica el inicio de la seccion INFLOW, la cual esta compucsta por pardémetros
que inician con la palabra FLOW y que definen caracteristicas de los Hujos vehiculares. Es
importante aclarar que estas caracteristicas sirven como informacion complementaria a la
secci6n FLOW anteriormente descrita.
Esta sentencia afade las caracteristicas complementarias que posee el Hujo identificado por
Nombre, definido con anterioridad en la seccién FLOW. Los parametros tI v tF corresponden
al los tiempos inicial y final. respectivamente. en que va a estar entrado el flujo vehicular. El
pardmetro tasa se refiere a la tasa promedio de arribos a una secciou de entrada, mientras
que modo se refiere al tipo de vehiculos que van a entrar (manual o automated) y tipo ala
forma de entrada. la cual puede ser uniforme o exponencial (UNIF. EXP).
SECTION OUTFLOW
Esta expresién indica el inicio de la seccién OUTFLOW, la cual esta compuesta por pardametros
que empiezan con la palabra OUTFLOW.
Esta sentencia especifica los pardmetros para las secciones de salida de la autopista. secNom
y numCarr se refieren a el nombre de la seccién y el numero de carril. respectivamente. de la
autopista. El parametro Max se refiere al rango maximo de salida. el cnal va a estar medido
en vehiculos por hora. mientras que modo se refiere al tipo de vehiculos que van a circular
(manual 0 automated).
52 Apeéndice AW SimartCup: Mannal del usnario
Las funciones que se exponen a continuacién pueden ser enipleadas al momento de implemen-
tar los planes de velocidades v entrada que el usuario esté disefiando para la antopista bajo
estudio. Las funciones que tienen entre paréntesis la palabra roid no reciben argumentos.
GetTime(void)
Esta funcién devuelve el ntimero de segundos transcurridos desde que dio inicio la simulacién.
GetTimeStep(void)
Esta funcién devuelve el tiempo de muestreo que fue especificado en el archivo de entrada.
GetNumActivities(void)
Esta funcién devuelve el ntimero de actividades que fueron declaradas en el plan de activi-
dades.
GetNumTheta(void)
GetNumF (void)
GetSectionName(int hwLaneId)
GetFSectionName(int fId)
GetThetaName(int thetaId)
Esta funcion devuelve el nombre del flujo correspondiente al identificador de tipo de flujo
thetald.
Esta funciéu devuelve el nombre del flujo correspondiente al identificador de flujo fId v de
tipo de flujo fThetaId.
Esta funcion devuelve el identificador del carril destino correspondiente al flujo que tiene por
nombre thetaName.
GetLaneOffset(int hwLaneId)
GetFLaneOffset(int fId)
Get VNominal(void)
Esta funcidén devuelve la velocidad maxima permitida en todas las secciones de la autopista.
GetVehicleLength(char *vehicleType)
Esta funcién devuelve la aceleracién minima permitida para un vehicnlo del tipo vehicleType.
Esta funcién devuelve la aceleracion maxima permitida para mn vehiculo del tipo vehicleType.
Esta funcién devuelve el coeficiente kg. para un tipo de vehiculo especificado por el pardmetro
vehicleType. cuando las actividades estan en funcidn de la velocidad real.
Esta funcién devuelve el coeficiente kg para un tipo de vehiculo especificado por el parémetro
vehicleType, cuando las actividades estan en funcién de la velocidad real.
Esta funcién devuelve la longitud en metros de la seccién con nombre secName y nimero de
carril laneOffset.
A.5. Funciones de usitario
en
o
GetFdemand(char *secName, int laneOffset, char *thetaName)
Esta funcién devuelve la proporcién de vehiculos por segundo que demandan entrar a la
autopista por la seccién de entrada que lleva por nombre secName v utimero de carril
laneOffset.
Esta funcién devuelve el niimero de vehiculos del tipo thetaName que ne alcanzaron a entrar
a la autopista por seccion de entrada secName y niimero de carril laneOffset.
Esta funcién devuelve el ntimero de vehiculos del tipo thetaName que se encuentran en la
seccién de nombre secName v niimero de carril laneOffset.
Esta funcidn devuelve la propocidén de vehiculos del tipo thetaName qne se encuentran rea-
lizando la actividad activityName en la seccién secName y niimero de carril laneOffset.
Esta funcion devuelve el identificador del carril a la derecha. seccién aguas abajo inmediata,
de la seccién secName y nimero de carril laneOffset.
Esta funcién devuelve el identificador del carril a la izquierda. secciéu aguas abajos inmediata,
de la seccién secName y numero de carril laneOffset.
56 Apéndice A. SmartCap: Manual del usuario
Esta funcién devuelve el identificador del carril a la derecha de Ja seccidn secName ¥ ntimero
de carril laneOffset.
Esta funcién devuelve el identificador del carril a la izquierda de la seccién secName y nimero
de carril laneOffset.
Esta funcién devuelve el identificador del carril a la derecha. seccién aguas arriba inmediata.
de la seccién secName v numero de carril laneOffset.
Esta funcién devuelve el identificador del carril a la izquierda. seccién aguas arriba inmediata.
de la seccién secName y niimero de carril laneOffset.
Esta funcién asigna la velocidad a la que se debe viajar en las secciones aguas arriba de
la seccién secName, carril laneOffset, para una estructura normal como la mostrada en
la Fig. A.1. El pardmetro numSec indica el numero de secciones conectadas en serie a las
que se les habra de asignar velocidades de acuerdo al concepto de las velocidades acopladas.
El otro parametro, room, indica la proporcién de espacio libre que puede ser empleado
por los vehiculos que demandan entrar a una determinada seccién. Por ejemplo. la veloci-
dad en la seccién secB, carril 2 de la figura se asigna mediante la instruccién NormalSec-
tion(secA,2.1,1.0), y se considera que la velocidad en secA.2 ya ha sido asignada.
Esta funci6n realiza el calculo de la velocidad a la que se debe viajar en secB.1 para una
estructura de salida como la mostrada en Fig. A.2. Ese calculo se hace de acuerdo al concepto
A.5. Funciones de usuario
on
Figura A.1: Flujos vehiculares v espacios en movimiento considerados
Esta funcidn realiza el cdlculo de velocidades a las que se debe viajar en secA.2 y secB.1, para
una estructura de entrada como la mostrada en la Fig. A.3 El cdlculo de dichas velocidades
se hace de acuerdo al criterio de las velocidades acopladas , v se considera que la velocidad de
secA,1 ya ha sido asignada. El pardmetro alpha corresponde a la proporciéu del espacio libre
en secA,1 que va a poder ser aprovechado por los vehiculos que salen de secB.1. y el espacio
restante es para los provenientes de secA,2. Por ejemplo. para calcular las velocidades a
las que se debe circular en secB.1 y secA,2, con un valor de alpha del 70%. se emplea la
instruccién InputSectioVA(secA.1.0.7,RIGHT.1.0).
Esta funcién asigta las velocidades a todos los carriles en las seccioues aguas arriba de la
seccién secName para una estructura normal como la mostrada en la Fig. A.1. El calculo de
las velocidades se hace de acuerdo al concepto de las velocidades desacopldas. En compara-
cién con NormalSectionVA. esta funcidn no recibe como arguimento al carril de la seccién
bajo andlisis. debido a que simultaneamente hace el célculo de Jax velocidades de todos los
carriles que conforman la seccién. Por ejemplo, para asignar lax velocidades en los carriles
de la seccién secB se emplea la sentencia NormalSectionVD(secA.1.1.0). + se considera que
las velocidades de todos los carriles de secA ya han sido determinadas.
Esta funcién realiza el cdlculo de las velocidades en todos los carriles de secB. para una
estructura de salida como la mostrada en la Fig. A.2. El cileulo se hace de acuerdo al
concepto de las velocidades desacopladas. Por ejemplo, para calcular la velocidad de todos
los carriles en la seccién secB. se emplea la sentencia ExitSectionV
Di secB. 1.0). ¥ se considera
que las velocidades en secA.1 v secC.1 ya han sido determinadas.
Esta funcién realiza el cdlculo de las velocidades en secB.1. secA.2 v secC.1. para una es-
tructura de entrada como la mostrada en la Fig A.3. Los cdlculos de dichas velocidades
se hacen a partir del concepto de las velocidades desacopladas. Por ejeniplo. considérese la
Fig A.3, para hacer asignar las velocidades a secB, secC y secA.2. se emplea la sentencia
ExitSectionVD(secA.1.0). y se considera que la velocidad en sec.A.1 va ha sido determinada.
Las actividades deben definirse en un archivo por separado. en el cual deben de incluirse
tres secciones indetificadas por las palabras ACTFILE, ACTIVITY v CODE. La primera seccién
define el nombre del archivo donde se especifican las actividades. el cal debe de concordar
con el archivo especificado tanto en el archivo tipo make. como en el archivo de entrada.
Ejemplo:
#ifdef ACTFILE
ActivityFile( actEjemplo )
#endif
ESTA TESIS NO SALE
A.6. Especificacion de Actividades DE LA BIRIIOTECA aq
Sak
En Ja secci6n ACTIVITY se definen el nombre y tipo de las actividades que van a poder
realizar los vehiculos. Ejemplo:
#ifdef ACTIVITY
Activity( Nombre, tipo)
#endif
El argumento Nombre debe ser una cadena de caracteres que sirva para distinguir una activi-
dad de las demas que se estén definiendo. El parémetro tipo. como su nombre lo indica, sirve
para definir el tipo de actividad. el cual puede ser straight. changeright o changeleft.
El primer tipo se refiere a que la actividad que realiza el vehiculo solo demenda espacio en
el carril donde se encuentra. Los dos tipo restantes se refieren a las actividades que implican
cambio de carril a la derecha o a la izquierda. respectivamente. y por lo tanto demandan
espacio en dos carriles. En la seccién CODE se especifican la cantidad de espacio y tiempo
que demanda cada actividad definida en la secci6n ACTIVITY. Cabe aclarar que el espacio se
refiere a la distancia (en metros) que la actividad requiere en un carril. + que el tiempo son
los segundos que la actividad toma para realizarse.
Las adiciones que se hicieron a SmartCap requieren que en esta parte también se especifiquen
los coeficientes kp»; cuando se desea que las actividades sean funcion de la velocidad real.
Ejemplo:
#ifdef ACTIVITY
Activity( cruise, straight)
#endif
#ifdef CODE
void
cruise( ActivityData *a)
{
a->s = 10 * a->T;
a->sRight = 0;
a~>sLeft = 0;
a->duration = a->T;
a->coef1 = GetVehicleCoef1( a->vehicleType );
a->coef2 = GetVehicleCoef2( a->vehicleType );
a->coef3 = GetVehicleLenght( a->vehicleType );
}
Como se habra notado. todos los datos referentes a las actividades se encucnutran almacenados
en una estructura Hamada ActicityData. la cual se va actualizando en cada tiempo de
muestreo para cada tipo vehiculo. Otros datos que podrian ser importantes v que pueden
obtenerse de ActivityData son:
Como se vio en el capitulo 2. el centro de control de trafico o TMC esta integrado por los
planes de actividades. velocidades y entrada. El usuario es el encargado de disefiar dichos
planes, procurando que se respeten las restricciones referentes a la proporcién de actividades
y capacidad de la autopista bajo estudio.
Las implementaciones de los disefios de los planes TMC de SmartCap se hacen mediante
las funciones de usuario expuestas en este capitulo, las cuales fneron escritas en lenguaje C
estandar. Los planes TMC también se escriben en C. lo cual representa una gran ventaja, ya
que hace posible que se puedan emplear todas las herramientas de programacién ofrecidas
por este lenguaje.
Ademias de las funciones de usuario ya mencionadas. existen dos macro-instrucciones que son
de gran utilidad para la implementacidn de los planes TMC. La primera macro-instruccién
es HW_FOR_ALL_SECTIONS (secId). la cual equivale a un ciclo for. donde el pardémetro secId
representa el identificador de una seccién dentro de la autopista. La otra macro-instruccién
que permite hacer ciclos en una seccién definida por secId. carril laneId es
HW_FOR_ALL_LANES_IN.SECTION(secId,laneId,j). donde j es el indice del numero de ca-
triles, empezando de cero.
e <m
Apéndice B
El parser de SmartCap
Los pardmetros bajo los que se hacen las simulaciones son especificados en un archivo ASCII
denominado archivo de entrada.
SmartCap cuenta con un analizador sintdctico o parser que se eucarga de validar el archivo
de entrada. Cada vez que se requieren cambiar los pardmetros de ese archivo es necesario
modificar el cédigo fuente del parser, con la finalidad de que las nuevas validaciones sean
tomadas en cuenta.
El archivo de entrada se encuentra dividido en 7 secciones y cada una de ellas empieza con
la palabra SECTION. seguida por otra cadena que representa el nombre de la seccién que se
quiere declarar. Cada seccion cuenta con su propia estructura o notacién. la cual se explica
detalladamente en el apéndice B. Los comentarios inician con // v terminan hasta el primer
final de linea.
En la primera etapa se abre el archivo de entrada para verificar que todas las secciones
declaradas sean validas: se analiza palabra por palabra para ir separando en tokens e iden-
tificar de qué tipo se trata. Los tipos de tokens que pueden ser ideutificados son ntiimeros
enteros 0 reales, palabras reservadas y cadenas.
El parser ignora los comentarios. y a lo que sea diferente a éstos lo compara con una tabla
de tokens!, y si encuentra correspondencia con alguno lo valida y va en busca el siguiente.
Cuando no hay correspondencia con alguno de la tabla no se asigna valor. y se manda un
mensaje que notifica que se ha encontrado un error en dicha seccién del archivo de entrada.
v se cancela la simulacién.
ee
61
62 Apéndice Bo EL parser de SmartCap
En la segunda etapa: se verifica que la estructura de cada seccion esté correcta para inieializar
los parémetros de la simulaciéu. Una vez que se identifica ima seccidu se deben de leer los
valores de los parametros que la componen. El mimero v tipo de los pardmetros varian de
acuerdo a la seccién que se trate. por ejemplo. en la seccidn HIGHWAY los pardmetros de
entrada pueden ser cadenas cle caracteres v enteros. los cuales podrian definir el nombre de
la seccién. el nimero de carriles que la conforman. longitud. etcctera.
El hacer que las actividades fueran funcidn de la velocidad real y que la entrada vehicular
tuviera una distribucion exponencial. exigid modificar el céddigo fuente de SinartCap. debido
a que se planted implementarlos como nuevos parametros en el archivo de entrada.
En la primera modificacién mencionada se dispuso que los coeficientes hai. Ke.2 ¥ keg de la
ecuacion (2.10) se especificarfan como pardmetros dentro de SECTION CARTYPE de la siguiente
forma.
SECTION CARTYPE
CARTYPE passenger
LENGTH 5
WIDTH 3
AMAX 5
AMIN -5
VMAX 30
COEFi 0.036667
COEF2 0.166667
En este ejemplo COEF1, COEF2 y WIDTH representan respectivamente a los coeficientes kg.
ke2 y kez. WIDTH ya podia especificarse en la versién original de SmartCap. y para hacer
posible que COEF1 y COEF2 fueran correctamente reconocidos se les tuvo que anadir a la tabla
de tokens validos, localizada en 20.h.
"SECTION", /* 1 */
"COEF1",
"COEF2",
3;
Y de igual forma tuvieron que ser agregados los valores de dichos tokens en el mismo archivo.
#define I0_COEF1 94
#define I0_COEF2 95
63
i La estructura. localizada en user.h. donde se guardarian esox parametros también tuvo que
ser modificada. para que pudieran ser recuperados cada vez que se fuera requerido.
typedef struct
{
double t;
double coef1;
double coef2;
double coef3;
} ActivityData;
Por otro lado. para saber si el usuario queria que un determinado flujo entrara uniformemente
o con distribucién exponencial. se afiadid un indicador que especificaba precisamente esa
opcién. Para esto se plante6 que si un usuario deseaba una entrada vehicular con distribucién
exponencial. lo unico que tenia que hacer era escribir UNIF como tiltimo pardmetro de la
secci6én FLOW.
Para hacer posible lo anterior fue necesario agregar el campo *distribution a la estructura
donde se almacenaban las caracteristicas de cada flujo de entrada’.
typedef struct
{
int hwLanelId;
int *distribution;
double v3
double rho;
} ScF;
Y para poder leer las especificaciones del archivo de entrada. xe anadieron las siguientes
lineas a la funcién ParseInput localizada en el archivo utils.e.
else
{
printf("\nBad inflow distribution");
exit (0);
+
Las anteriores modificaciones hicieron posible que las sirmulaciones pudieran realizarce bajo
los nuevos conceptos planteados en esta tesis.