Sei sulla pagina 1di 4

ANÁLISIS DE LA DATA DE UN FLUJO VEHICULAR MEDIANTE LA

CONSTRUCCIÓN DE UN CÓDIGO EN LENGUAJE C


Cabrera Moquillaza, Alisson Victoria
e-mail: alisson270599@gmail.com
Campos Arotinco, Davys Dimas
e-mail: davysdimas908@gmail.com
Maldonado de la Torre, Luis Enrique
e-mail: armak19@hotmail.com
Reyes Barba, Melissa Cila
e-mail: mreyesb@uni.pe

Facultad de Ingeniería Civil


Universidad Nacional de Ingeniería

2 OBJETIVOS
RESUMEN: La Ingeniería Civil tiene como objetivo
primordial proporcionar soluciones a problemas existentes
○ Aplicar los conocimientos aprendidos en el curso
de la vida cotidiana haciendo uso de todas las herramientas de Programación Digital para resolver un problema de
disponibles. En este caso, se realizó una aplicación, que ingeniería.
hace uso del programa Dev c++, una herramienta que nos
○ Determinar el inicio de la hora punta de cada
permitirá analizar de manera más eficiente un conjunto de intervalo requerido.
datos. La presente aplicación tiene como objetivo general
○ Determinar el factor de hora punta de cada
realizar un estudio del tráfico vehicular actual en cierta zona intervalo requerido
conociendo la data de vehículos de la misma, con el fin de ○
identificar los problemas concernientes al tráfico vehicular,
como por ejemplo, el congestionamiento vehicular. Como ○
parte de esta aplicación, se determinaron los volúmenes de
tránsito en las horas punta, la hora punta,etc .Estos
resultados se muestran mediante figuras y tablas.
3 PLANTEAMIENTO DEL
1 INTRODUCCIÓN PROBLEMA
3.1Conceptos Previos
El presente informe se refiere al tema de análisis de la data
de un flujo vehicular mediante la construcción de un código Las siguientes definiciones son comúnmente usadas en
C, que se puede definir como el estudio y análisis del Ingeniería de Tránsito:
conteo vehicular (giros) en una intersección tomados cada
15 minutos obtenidos desde las 06:00 horas hasta las ○ Volumen: Cantidad de vehículos que pasa sobre
21:00 horas de un día, estos datos obtenidos se leerán a una sección de vía durante un periodo
través de un programa (DEV C++) y con la codificación en de tiempo.
lenguaje C se podrá obtener diversos rasgos y ○ Volumen Horario: Es el número de vehículos que
características del comportamiento del flujo vehicular con pasan por un punto en un periodo
los datos recogidos en el conteo vehicular. de tiempo de una hora.
EL objetivo principal es dar a conocer una herramienta para ○ Hora Punta: Es el volumen horario de máxima
poder interpretar datos obtenidos a través de un conteo demanda, es decir, es el máximo número
vehicular para poder conocer la cantidad de vehículos en la de vehículos que transcurren durante 60 minutos
Hora Punta (HP) y el Factor de Hora Punta en la mañana, consecutivos.
tarde y noche . Y así poder tener conocimiento del ○ Factor de Hora Punto (FHP): Es el volumen de la
comportamiento del flujo vehicular durante el dia. hora de máxima demanda horaria, dividido entre el flujo de
15.0 min. de la hora de máxima demanda.

Estos volúmenes proyectados se emplean para planificar


obras,proyectar los detalles geométricos de las vías,
determinar su posible deficiencia en capacidad y planear
programas para regular el tránsito, de acuerdo al nivel de minutos consecutivos hasta formar conteos de una hora
servicio que se le asigne. para cada movimiento y tipo de vehículo. Finalmente se
debe calcular la cantidad de vehículos en la Hora Punta
(HP) y el Factor de Hora Punta (FHP) en la mañana (06:00
3.2Presentación del Problema – 11:00), tarde (11:00 – 16:00) y noche (16:00 – 21:00).

Se tiene en un archivo de texto con los resultados de un Tabla N°2: Definición de HP y FHP.
conteo vehicular.
El conteo de autos se realiza cada 15 minutos siguiendo el
siguiente formato:

4 DESCRIPCIÓN DE LA SOLUCIÓN

4.1FUNCIONES UTILIZADAS EN EL PROGRAMA


C:

● FUNCIÓN void leer(int x[65][100])


Lo que esta función hace es leer los datos en el archivo de
texto guardandolos en un arreglo de la siguiente manera:
El elemento x[j][k] guarda info del conteo dependiendo de
los valores de j y k

cuando k=0
x[j][0]=guarda las rutas a los cuales corresponden los datos
Figura N°1 : Gráfica para el entendimiento de la data x[j][k]
proporcionada.
para k>0 y j que va desde 1 a 16
Los movimientos vehiculares se contabilizan desde donde x[j][k] es el conteo número k por la ruta x[j][0] del vehículo 1
ingresan a la intersección (1: Norte, 2: Sur, 3: Este 4: Oeste)
hacia donde salen de la misma (O: vuelta en U. 1: izquierda,
para k>0 y j que va desde 17 a 32
2: Frente, 3: Derecha).
x[j][k] es el conteo número k por la ruta x[j][0] del vehículo 2
para k>0 y j que va desde 33 a 48
Para nuestro problema se consideran 4 tipos de vehículos x[j][k] es el conteo número k por la ruta x[j][0] del vehículo 3
y se les dio la siguiente numeración:
para k>0 y j que va desde 49 a 64
x[j][k] es el conteo número k por la ruta x[j][0] del vehículo 4
1: Auto
2: Camioneta Rural (combi),
3: Microbus (coaster)
4: Bus. ● FUNCIÓN void vehiculos ( int x[5][100] )
Lo que esta función hace es leer los datos en el archivo de
texto guardandolos en un arreglo de la siguiente manera:
Donde cada uno de estos vehículos tiene su equivalente en El elemento x[j][k] es la cantidad total de móviles tipo ‘j’ que
UCP (unidad en coche patrón) según la siguiente tabla. han pasado en el conteo número ‘k’ sin considerar el tipo
de ruta que hizo este
Tabla N° 1: Unidades coche patrón para cada vehículo. Donde para
j=1 representa un auto
j=2 camioneta rural
j=3 microbús
j=4 bus
Cuando
k=1 conteo correspondiente a la 6:00
k=2 conteo correspondiente a la 6:15
k=3 conteo correspondiente a la 6:30
….
al leer el archivo del conteo los primeros 128 números no
Los conteos vehiculares obtenidos son desde la 06:00 guardan información de conteo, solo guardan las
hasta las 21:00 de un día. Se pide calcular la cantidad de
vehículos en UCP en la intersección por intervalo de tiempo
(15 minutos). Luego se agruparan los intervalos de 15
direcciones por lo tanto no los guardamos en la matriz sino cada conteo usando la siguiente relación y los guarda en el
en una variable cualquiera que no analizaremos. arreglo n[100]
1 auto = 1 unidad patrón
● FUNCIÓN int Thn (int x, int y) 1 camioneta = 1.5 unidad patrón
Como vimos en nuestra anterior función se guardó el 1 microbús = 2 unidad patrón
conteo en un arreglo clasificándolos por tipo de móvil y 1 Bus = 3.5 unidad patrón
número de conteo pero si nosotros queremos saber
cuántos microbús pasaron de 7:00 a 7:15 tendríamos que ● FUNCIÓN int hp(float n[100],int a,int b)
llamar el arreglo como x[3][5] donde el ‘3’ representa el Esta función halla la hora punta desde ‘a’ hacia ‘b’ donde
microbús y ‘5’ las hora de las 7:00 “a” y “b” son las horas (ingresadas como número) en la cual
pero para evitar el cálculo innecesario de a qué número le se limitará nuestro análisis de la hora punta
corresponde cada hora se creó esta función qué función Esta función retorna un número que representa la hora en
así: la cual iniciara la hora punta.
x:la hora Ejemplo si de 6:15 a 9:30 (2 a 15) la hora punta comienza
y:los minutos a las 7:30 (7)
La función retorna el número que le corresponde la hora La función será : hp(n,2,15)=7.
ejemplo :
Thn(7,0)=5 ● FUNCIÓN float fhp(int x,float n[100])
Thn(8,15)=10 Si x es la hora punta esta función retorna el factor hora
punta de x.
● FUNCIÓN int Tnh (int m, int n) Ejemplo:
Esta función llega a ser la inversa de la anterior, lo que hace si a las 7:30 (7) pasaron 15 coche patrones
es ingresar un numero y que nos devuelva la hora. si a las 7:45 (8) pasaron 17 coche patrones
Funciona de la manera siguiente si a las 8:00 (9) pasaron 32 coche patrones
m:el número el cual se quiere saber que hora representa. si a las 8:15 (10) pasaron 13 coche patrones y en 7:30 inicia
n: toma valores de 1 y 2 la hora punta entonces el factor de hora punta será :
para n=1 la función retorna la hora Donde Q es el flujo total=15+17+32+13=77
para n=2 la función retorna el minuto Q15 max=32

ejemplo:
Tnh(10,1)=8
Tnh(10,2)=15
Lo que quiere decir .que el número 10 representa la hora
08:15.

● FUNCIÓN void ucp(int m[5][100],float FHP=0.602


n[100])
Lo que hace esta función es leer el arreglo (m[5][100]) 4.2PROCEDIMIENTO DEL PROGRAMA
donde está guardando el conteo de los 4 tipos de móviles
y halla cuántos autos patrones han pasado en total para
Se procede a leer los datos con la función leer (
datos[65][100] ) guardando los datos en un arreglo
bidimensional,
imprimimos estos datos “datos[i][k]” desde i que va desde 1
hasta 16 multiplicando por su factor de conversión a UCP.
Haciendo lo mismo para los demás móviles obtendremos
la impresión de todos nuestros moviles en UCP para
intervalos de 15 min, hacemos los mismos pero ahora
sumando 4 datos consecutivos de tal manera que
tendremos los resultados de los móviles para las 16 rutas
pero en intervalo de 1 hora.

Luego leemos nuestros datos nuevamente pero los


guardamos en un formato distinto con la función
vehiculos(conteo[5][100]) guardando los datos en un
arreglo bidimensional le aplicamos la función void UCP
para obtener un arreglo CochePatrón[100] le aplicamos la
función HP=hp(cochepatron,Thn(6,0),Thn(11,0)), luego
aplicamos la función fhp(HP,cochepatron), obteniendo el
factor de hora punta, ahora solo imprime esta info para que
pueda ser consultada por el lector y las volvemos a aplicar
en los demás intervalos pedidos.

5 RESULTADOS

Los resultados obtenidos en la hora punta en cada uno de


los intervalos de tiempo pedido son:

Tabla N° 3: Resultados obtenidos con el código elaborado.

6:00-11:00 11:00-16:00 16:00-21:00

HP 9:00 11:00 17:00

FHP 0.966 0.918 0.959

Autos 1400 764 1328

Camionetas 270 247 300

Microbus 178 116 215

bus 110 36 145

6 CONCLUSIONES

● La interpretación de los resultados obtenidos del


programa C, nos permitió detectar el inicio de la hora en
cada intervalo de tiempo en el cual hubo mayor congestión
vehicular.
● La data y los resultados obtenidos pueden ser
aplicados en los estudio previos a obras posteriores en
dicha zona.
● La interpretación de los resultados obtenidos
permitió detectar las horas de mayor congestión vehicular.
● La aplicación del análisis de datos mediante el
Dev c++ podría permitir generar estrategias adecuadas
para la optimización del flujo de tránsito, la predicción de
embotellamientos y de tráfico a corto plazo.

7 REFERENCIAS
[1]
http://148.204.63.111/SABERv3/Repositorios/webVerArchivo/258
26
[2] https://sjnavarro.files.wordpress.com/2008/08/apuntes-
ingenieria-de-transito.pdf
[3]
http://repositorio.upao.edu.pe/bitstream/upaorep/4178/1/RE_ING.
CIVIL_CHRISTOPHER.PEREDA_MARIO.MONTOYA_OPTIMIZA
CION.DE.LA.RED_DATOS.pdf