DISEÑO DE UN PROTOTIPO DE SOFTWARE PARA EL USO DEL SISTEMA INTEGRADO DE TRANSPORTE PÚBLICO (SITP), EN TIEMPO REAL
EN LA LOCALIDAD DE CHAPINERO
GUILLERMO EDUARDO PALOMINO CONTRERAS 20082020069
PEDRO LUIS PINEDA ACERO 20082020074
DIRECTORA. ING LILIAN ASTRID BEJARANO GARZÓN
REVISOR. DOC JULIO BARON VELANDIA
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS FACULTAD DE INGENIERÍA
PROYECTO CURRICULAR DE INGENIERÍA DE SISTEMAS
2
REVISIÓN DEL DOCUMENTO
Fecha Versión Autores Revisor
25/05/2016 1.0 Guillermo Eduardo Palomino Contreras
Pedro Luis Pineda Acero
Ingeniero:
3
TABLA DE CONTENIDO __________________________________________________________________
Introducción………... 6
PARTE I. CONTEXTUALIZACIÓN DE LA INVESTIGACIÓN CAPITULO 1. DESCRIPCIÓN DE LA INVESTIGACIÓN………….……….. 7
1.1. Planteamiento del problema……….. 7
1.2. Objetivos………..………... 8
1.2.1 Objetivo general……… 8
1.2.2 Objetivos específicos……….. 8
1.3. Justificación de la investigación………..……… 8
1.4. Hipótesis………..………... 9
1.5. Marco referencial………..……….. 10
1.5.1 Marco teórico………... 10
1.5.2 Marco conceptual………... 18
1.5.3 Marco espacial………. 19
1.5.4 Marco temporal……… 20
1.6. Metodología de la investigación………..………….. 21
1.6.1 Tipo de estudio……… 21
1.6.2 Métodos de investigación……… 21
1.7. Estudios de sistemas previos………. 22
PARTE II DESARROLLO DE LA INVESTIGACIÓN………. 23
CAPÍTULO 2. DEFINICIÓN DEL PRODUCTO A OBTENER……….. 23
2.1 Descripción detallada.……… 23
2.1.1 Alcance del sistema………. 23
2.1.2 Restricciones y suposiciones……….……….. 23
4
CAPÍTULO 3. REQUERIMIENTOS ESPECÍFICOS DE INTERFACES…………. 25
3.1 Interfaz de usuario……….………….………. 25
3.2 Interfaz de software……….……… 25
3.3 Protocolos de comunicación……….……….. 25
3.4 Requerimientos de persistencia……….………. 25
CAPÍTULO 4. CARACTERIZACIÓN DEL PRODUCTO DE SOFTWARE……… 26
4.1 Tabla de requerimientos funcionales………. 26
4.2 Diagramas de casos de uso……….. 27
4.2.1 Actores……… 27
4.2.2 Especificación de casos de uso en formato extendido………. 28
4.2.2.1 Módulo búsqueda de rutas………. 28
4.2.2.2 Módulo gestión de rutas almacenadas.……….. 37
4.2.2.3 Módulo sistema de gestión de novedades.……… 40
4.2.2.4 Diagrama de navegación………. 42
4.3 Requerimientos no funcionales.……….. 43
CAPÍTULO 5. MODELO DE RED NEURONAL……… 44
5.1 Selección tipo de red neuronal……… 44
5.2 Definición de las partes de la red neuronal artificial………. 45
5.2.1 Neuronas………. 45
5.2.1.1Cuerpo o soma……….. 45
5.2.1.2 Dendritas………... 55
5.2.1.3 Axón……….. 55
5.2.1.4Sinapsis………... 58
5.3 Formulación del modelo…...………. 58
5.3.1 Entrenamiento……… 59
5.3.2 Explicación……….. 60
CAPÍTULO 6. MODELO ESTRUCTURAL... 62
6.1 Definición de clases y objetos candidatos... 62
6.2 Diagrama general de clases... 64
6.3 Diccionario de clases... 65
6.3.1 Capas de atributos... 65
5
CAPÍTULO 7. MODELO DE PERSISTENCIA... 76
7.1 Modelo de datos... 76
7.2 Diccionario de datos... 77
CAPÍTULO 8. CASOS DE USO DESARROLLADOS EN EL PROTOTIPO……. 82
8.1 Selección de Casos de uso a implementar……….. 82
CAPÍTULO 9. DIAGRAMAS DINÁMICOS DE LOS MÓDULOS DESARROLLADOS………. 83
9.1 Diagramas dinámicos..………... 83
CAPÍTULO 10. SIMULACIÓN……… 86
10.1 Planteamiento de la simulación……….. 85
10.2 Datos de la simulación... 86
10.3 Resultados de la simulación……… 95
PARTE III CIERRE DE LA INVESTIGACIÓN………. 99
CAPÍTULO 11. RESULTADOS Y CONCLUSIONES……… 98
11.1 Resultados……….. 98
11.2 Verificación, contraste y evaluación de los objetivos………. 98
11.3 Trabajos o publicaciones derivadas... 99
11.4 Conclusiones……… 100
BIBLIOGRAFÍA……….……….……….101
6
INTRODUCCIÓN
Las grandes ciudades del mundo apuntan a tener un sistema de transporte público unificado que permitan agilizar el desplazamiento de sus habitantes minimizando costos pero maximizando resultados en cuanto a eficiencia; Bogotá es una ciudad que no es ajena a la pretensión de desarrollo en cuanto a movilidad.
Diseño de un prototipo de software para el uso del sistema integrado de transporte público (SITP), en tiempo real en la localidad de Chapinero de Bogotá, es una investigación que pretende demostrar que se pueden implementar sistemas de información en la ciudad que hagan posible organizar el transporte público de una manera óptima que beneficie tanto a los usuarios como a los prestadores del servicio.
La característica principal del prototipo es la aplicación de la teoría de las redes neuronales artificiales, donde tanto pasajeros, localidades, barrios, buses y paraderos serán representados por neuronas que uniéndolos se convertirán en una neurored que permita al sistema crecer, aprender y funcionar cada vez mejor.
A través de la caracterización del sistema de transporte público como un sistema de red neuronal artificial, se pretende dar solución a la congestión de usuarios que se genera en los paraderos del SITP, debido a la especulación en cuanto a la demora de los buses y el tiempo que tardan los mismos en hacer sus respectivos recorridos; NEUROSITP es un prototipo de software que pretende brindar datos precisos en tiempo real a los usuarios en cuanto al tiempo de tardanza de cada uno de los buses a los respectivos paraderos y el tiempo estimado del recorrido hasta el destino seleccionado.
El uso de la aplicación es muy sencillo; el usuario ubicado en la localidad de Chapinero tan solo tiene que ingresar el barrio de destino y el sistema se encargará de retornar información ordenada con las posibles rutas que se pueden tomar para llegar al destino en el menor tiempo posible
7
PARTE I. CONTEXTUALIZACIÓN DE LA INVESTIGACIÓN
CAPITULO 1. CONTEXTUALIZACIÓN DE LA INVESTIGACIÓN 1.1 Planteamiento del problema
La avenida carrera 13 es una de las vías principales de la localidad de Chapinero para dirigirse de norte a sur ya que esta se encuentra ubicada en un sector muy concurrido de la ciudad, este es un factor influyente para movilizar la mayoría de buses del SITP del sector, además ofrece varias vías alternas para la movilización, todo esto conlleva a que sea una de las vías más transitadas y por ende la más congestionada de la localidad.
Los usuarios de transporte público que deseen movilizarse desde este sector enfrentan dos tipos de inconvenientes: La demora en la llegada a los paraderos de los buses, y la falta de información de una ruta óptima tomando en cuenta las variables: tiempo de espera de los buses y situación vial en tiempo real de las calles de la localidad; estos problemas pueden ser causados por la insuficiencia en el número de buses destinados a una determinada ruta, en los intervalos de tiempo y las escasas herramientas tecnológicas (aplicaciones) como por ejemplo googletransit, moovit, etc, las cuales les permitan a los usuarios seleccionar la mejor opción de ruta con base a su destino.
“El Distrito anunció que desde el 1ro
de Julio del año 2015 el transporte tradicional urbano no deberá prestar el servicio y “los buses del SITP tendrán la cobertura total de las rutas que actualmente están en funcionamiento” (EL TIEMPO, 2015), se prevé un colapso en el sistema debido a la gran cantidad de pasajeros que esperan en los paraderos que no alcanzan a abordar los autobuses, ya que estos vehículos arriban con muy baja frecuencia y con alto número de pasajeros haciendo seleccionar a las personas otros medios de transporte, como taxis y vehículos particulares para poder dirigirse a su destino los cuales saturan las vías ocasionando un flujo vehicular lento en la ciudad.
8 1.2 Objetivos
1.2.1 Objetivo general
Proponer un prototipo de aplicación informática que brinde soporte logístico a la asignación de rutas factibles de movilización mediante la sinergización de algoritmos de optimización y tecnologías de información y comunicación pertinentes.
1.2.2 Objetivos específicos
Desarrollar un prototipo de software para dispositivos móviles, mediante la implementación computacional utilizando el enfoque de programación orientado a objetos que permita a los usuarios del SITP seleccionar las rutas de manera amigable en tiempo real.
Suministrar información a los usuarios acerca de las posibles rutas de servicio urbano del SITP que pueden tomar para llegar a su destino, utilizando la combinación de distintas fuentes de información y las aplicaciones de las redes neuronales para agilizar el desplazamiento de las personas que se encuentren en la localidad de Chapinero.
Ofrecer pronósticos con un alto porcentaje de factibilidad acerca de las condiciones viales en tiempo real, proporcionando a los usuarios datos como tiempos, distancias y recorridos, para facilitar a los usuarios la toma de decisiones en cuanto a movilizarse en el transporte público SITP.
Facilitar a los usuarios con discapacidad visual el uso del sistema a través de estímulos auditivos en el dispositivo tanto del usuario como del autobús, brindando información referente a la proximidad de los vehículos, para que el servicio no sea excluyente con este tipo de población.
1.3 Justificación de la investigación
9
usuarios conocer tiempos de trayecto con el fin que la persona interesada en acceder al sistema de transporte pueda saber cuál es la mejor opción de ruta para desplazarse en los buses de servicio urbano del SITP, desde la localidad de Chapinero-Bogotá. Este prototipo se diseña con el propósito de ser implementado informáticamente para dispositivos Android, mediante la programación en lenguaje Java; debido a que la mayoría de usuarios del SITP en sus dispositivos móviles cuentan con este sistema operativo.
El resultado de la investigación es un modelo matemático que muestra datos en tiempo real, para efectos prácticos de la investigación los datos se ingresarán mediante simulaciones y los resultados se reflejarán en estas mismas; La simulación verifica la eficacia del modelo por lo tanto se pretendería que la implementación informática sea posteriormente aplicada a otras localidades de la ciudad de Bogotá.
La finalidad de la investigación consistirá en que los usuarios puedan elegir de una manera más simple las rutas que le permitirán llegar más rápido a su lugar de destino, ya que no existe en la actualidad una herramienta que lo pueda lograr con gran precisión; para ello el sistema debe permitir retroalimentarse de información cada vez que haya un cambio significativo de la movilidad en las vías a través de las neuronas interconectadas en el modelo planteado.
Los resultados se verán reflejados al final de la simulación cuando se haga las respectivas comparaciones de tiempos con datos de diferentes rutas con un mismo destino del aplicativo. Está también será una solución concreta a problemas socio-económicos que permitirán mejorar la experiencia en el uso del sistema.
1.4 Hipótesis
10 1.5 Marco referencial
1.5.1 Marco teórico
Generalidades de las neuroredes.
Una neurored es un procesador de información de distribución altamente paralela, constituida por muchas unidades sencillas de procesamiento llamadas neuronas (Olmeda & Barba Romero, 1993, p18). Las características más relevantes de las neuroredes son:
a) Habilidad de aprendizaje a través de la experiencia mediante el peso relativo de las conexiones.
b) Alta plasticidad y gran adaptabilidad. c) Capacidad de tolerancia hacia los fallos.
d) Comportamiento no lineal y procesamiento de este tipo de información.
El soma es el núcleo de la neurona, en él se ubican otras estructuras que son importantes para el funcionamiento de la neurona; las dendritas son prolongaciones cortas que se originan del soma neural; su función es recibir impulsos de otras neuronas y enviarlas hasta el soma de la neurona. El axón es una prolongación única y larga en algunas ocasiones puede medir hasta un metro de longitud. Su función es sacar el impulso desde el soma neuronal y conducirlo hasta otro lugar del sistema.
11
Gracias a la plasticidad el cerebro realiza acciones que un computador en la actualidad tardaría mucho más tiempo en realizar, como por ejemplo reconocer a una persona en un tiempo que oscila entre los 100 y 200 milisegundos, esto sucede debido a la aplicación de un patrón de información tridimensional; mientras que las neuronas se podrían comparar con los chips de silicio, sin embargo el procesamiento de un evento es procesado tres veces más rápido (1019 milisegundos en el silicio a comparación de 1015 milisegundos de las neuronas); no obstante el cerebro compensa esta lentitud con un gran número de neuronas y con millones de conexiones sinápticas entre ellas.
Una sinapsis es la interconexión entre dos neuronas; la mayoría de neuronas codifican sus salidas como una breve serie de pulsos periódicos llamados potenciales de acción que se originan cercanos al soma de la célula y se propagan a través del axón. El botón sináptico es el término del axón de una neurona pre-sináptica y la dendrita es la correspondiente de una neurona post-sináptica., como se puede dilucidar en la siguiente figura:
FIGURA 1.2 Sinapsis en una neurona (Izaurieta & Saavedra)
Los dos comportamientos más importantes de una neurona en primer lugar es que el impulso que llega a una sinapsis y el que sale de ella no son iguales en general. El tipo de impulso que saldrá depende muy sensiblemente de la cantidad de neurotransmisor que es la sustancia que se libera luego de un proceso de sinapsis. En segundo lugar en el soma se suman todas las entradas de todas las dendritas, si estas entradas sobrepasan cierto umbral entonces se transmitirá un pulso eléctrico a lo largo del axón, en caso contrario no se transmitirá.
Modelo Neuronal
Un modelo neuronal sirve para representar las características más importantes de las neuronas para que puedan interactuar en una red. En la siguiente figura se toma como neurona interés Yj, las neuronas x1…Xn están enviando señales de
entrada como valores numéricos de algún suceso. Los valores Wj representan los
12
FIGURA 1.3 Modelo neuronal básico (Izaurieta & Saavedra)
Para la notación , el primer índice corresponde al de la neurona hacia donde se dirige la información y el segundo corresponde al de la neurona donde procede la información. El pero sináptico multiplica a su entrada correspondiente y define la importancia relativa de cada entrada. En el soma de la neurona se suman todas las entradas correspondientes de las dendritas.
La entrada total de la neurona Yj es El índice in indica input o
entrada, Cuando pasa el umbral y se activa la neurona se aplica una función de activación que puede ser escalón o sigmoidea, entonces la salida de la neurona
es:
Las funciones de activación se dividen en dos tipos: bipolares o asimétricas y binarias. En las primeras se tiene como dominio –a, Yj a siendo generalmente a=1,
y en las segundas el dominio va desde 0 hasta 1. A menudo se suele usar como función de activación la función identidad para neuronas de entrada a la red o sensores, ya que para este tipo de situaciones se espera que se indique precisamente lo que se está percibiendo. Si la función de activación de una neurona es lineal entonces se denomina neurona lineal y se representará por un cuadrado, de lo contrario se dice que es una neurona no lineal y se representará por un circulo.
A menudo es necesario modificar el umbral de activación, para esta tarea se añade una neurona de inclinación X0 a la que se le asigna un valor fijo X0 y un
peso sináptico X0; a la neurona Yj le asignamos un umbral de i = Wj0 que será fijo
de cero.
13
FIGURA 1.4 Función lineal del comportamiento de la función AND (Izaurieta & Saavedra)
La frontera X1 + X2 = 2 es a razón la función de entrada = X1 + X2 i 2, y si su
respuesta se ubica en la clase uno producirá una salida de 1, de lo contrario la salida será de 0
Cuando se usa una gran cantidad de neuronas a menudo se ordenan aquellas que tienen comportamientos similares, por ello se usan subíndices para las neuronas. Cada capa corresponde a un vector de neuronas como por ejemplo en la siguiente figura:
14
Se acostumbra a no contabilizar la capa de entrada, por ende la anterior era una red unicapa y únicamente puede resolver problemas linealmente separables; sin embargo se pueden agregar más capas como en la siguiente figura:
FIGURA 1.6 Red Multicapa (Izaurieta & Saavedra)
A este tipo de red se le denomina multicapa y es capaz de resolver problemas más complejos (no lineales), además se puede observar más fácil la idea de paralelismo al notar que cada neurona de una capa puede trabajar individualmente sin la colaboración del resto de neuronas de la misma capa.
El aprendizaje en una neurored
“El aprendizaje es la clave de la plasticidad en una neurored y esencialmente es el proceso en el que se adaptan las sinapsis, para que la red responda de un modo distinto a los estímulos del medio. El aprendizaje se divide en dos tipos: aprendizaje con profesor o supervisado y aprendizaje sin profesor o no supervisado”. (Izaurieta & Saavedra, Redes neuronales artificiales, p.7)
El proceso de aprendizaje con profesor se hace totalmente análogo a enseñarle algo a un niño, los pasos del proceso son los siguientes:
El profesor dispone de un conjunto de N pares de entrenamiento, ,
15
Se introduce una de las entradas y se espera que la red responda.
La red responde mediante una salida .
Luego se compara ambas señales, la respuesta deseada y la respuesta de
la red creando una señal de error, .
Luego de la señal de error , se corrige la sinapsis mediante algún algoritmo
de corrección como por ejemplo el algoritmo perceptrónico o retropropagación de error, etc.
La secuencia completa de los n pares de entrenamiento es conocida como una época, en general pueden haber muchas épocas y el aprendizaje se detiene cuando la red responda correctamente a todos los pares de entrenamiento.
El algoritmo de Dijkstra.
“El algoritmo de Dijkstra es utilizado para encontrar la ruta óptima de un nodo determinado a otro nodo, recibe como entrada un grafo dirigido de n vértices con pesos positivos con a como nodo inicial y z como nodo final, en donde a y z son distintos tales que existe algún camino entre a y z” (S,A,H. Acerca del algoritmo de Dijkstra). Como salida el algoritmo debe generar el peso de un camino de coste mínimo entre a y z. Para llegar a este objetivo el algoritmo sigue los siguientes pasos:
Definimos y . Asignamos a cada vértice v en V una etiqueta como
sigue: L(v) = 0 si v=a y L(v) = para v a.
Para i=1,2,…n; supongamos que hemos construido los conjuntos .
Hacemos . Si definimos y se detiene la construcción
16
Se define , , (se dice que entra),
y para cada vértice en adyacente a se cambia su etiqueta por
la nueva etiqueta :
Si i=n definimos y se detiene la iteración. Si i<n se hace i=i+1 y se realiza
el paso anterior.
El algoritmo termina en el momento en que se encuentra el índice m para el cual
. En ese momento .
Soluciones planteadas para planificar rutas de transporte
A continuación se presentarán algunas soluciones planteadas para la resolución de la planificación de rutas en el transporte público:
En la solución más primitiva al problema, el usuario del transporte público realiza todas las tareas de planificación de rutas del transporte público]. Mediante el uso de fuentes estáticas de información, el usuario se comporta como un optimizador, realiza tareas cognitivas y encuentra una opción de ruta para viajar entre dos puntos dados (Pereira & Barreto). Sin embargo, este enfoque tiene limitaciones claras. El principal problema es que, por lo general, los seres humanos no se desempeñan bien en la búsqueda de la mejor opción ruta entre dos puntos dados. Este problema se vuelve más complicado cuando la complejidad de la disposición de opciones aumenta.
“Una evolución en soluciones con tecnología de última generación fue presentada por la introducción de sensores infra-estructura de los operadores en las redes de transporte público por ejemplo, el sistema de la ubicación geográfica” (Transit), el “Bus Rastreador CTA” (RATP, 2010) y el tubo electrónico muestra para Londres (TFL). Por lo general, estos sensores captan información sobre el medio ambiente.
17
todavía realiza las principales tareas en la búsqueda de la mejor opción de la ruta. Aunque, la probabilidad de error es aún elevada y puede conducir a la mala toma de decisiones.
Con el crecimiento de la popularidad de Internet, la aparición de planificadores de rutas basados en Internet para el transporte público era inminente (por ejemplo las aplicaciones Google Transit (Google Transit, 2010) o Journey Planner (Transport for London - Plan a Journey). Sin embargo, la necesidad de una conexión a Internet es una limitación importante. Ya que los optimizadores de rutas son más útiles cuando los usuarios están viajando o a punto de tomar los viajes, el uso de tales sistemas viene a menudo con un considerable costo, tanto en términos de uso del servicio de datos y en consumo de batería. Además, estos sistemas a menudo no utilizan información en tiempo real acerca de la red de transporte. Por lo tanto no reflejan los efectos de eventos como accidentes, trancones y las interrupciones del servicio en las sugerencias de planificación de rutas.
Bases de datos
A continuación se presenta una configuración de bases de datos representada para un servicio de trenes que se asemeja a una configuración de transporte público de buses con paraderos:
18
En la figura anterior, la base de datos central está conectada a las bases de datos locales, a internet y a otros subsistemas de información, su función principal es proveer los datos globales del sistema, es decir la cantidad de vehículos con que cuenta una ruta por ejemplo, la cantidad de estaciones, etc.
Por su parte las bases de datos locales se encuentran en las estaciones, proveen la información geográfica del lugar, los datos en tiempo real de la ruta que se encuentra en la estación, las rutas próximas en llegar y las que salieron hace poco tiempo.
Estas bases de datos se proveen de fuentes de información estáticas o dinámicas, las fuentes estáticas muestran las características de un lugar en específico, necesariamente estos deben encontrarse en las estaciones o en puntos estratégicos como tiendas, restaurantes etc. Las fuentes dinámicas muestran las características de varios lugares en un intervalo de tiempo y el estado del vehículo en tiempo real (tiempos de llegada, retardo, cantidad de pasajeros etc), son brindadas por los vehículos y también por los usuarios mediante sus terminales móviles.
Por último las terminales móviles representan los usuarios y tienen entre otras las funciones de recuperar los datos de acuerdo con las peticiones del usuario, crear un plan de viaje que satisfaga las necesidades del usuario y ofrecer mensajes de guía apropiados mediante la integración y personalización de la información para el usuario.
1.5.2 Marco conceptual
A continuación se definirán los términos que se usaron en la investigación:
Algoritmo FIFO: (First Input, first output/ Primero en llegar primero en ser atendido) Con este esquema se asigna primero CPU al proceso que primero lo solicite (Silberschatz)
19
Computación ubicua: La computación ubicua es un mecanismo por el cual se facilita el uso de computadores, haciendo que en nuestro entorno existan múltiples sistemas de computación, pero siendo estos <<imperceptibles>> para el usuario. De esta forma el entorno se transforma en un entorno inteligente capaz de responder a nuestros requerimientos (Barro, Bugarindiz, & J).
Grafo ponderado: Es un grafo en el cual a las aristas se les asigna un valor que se llama ponderación que representa la distancia o costo que hay entre un nodo y otro (Jiménez, 2001)
Plasticidad: Plasticidad cerebral se refiere a la adaptación que experimenta el sistema nervioso ante cambios en su medio externo e interno, además puede reflejar la adaptación funcional del cerebro para minimizar los efectos de las lesiones estructurales y funcionales. (Izaurieta & Saavedra, Redes neuronales artificiales)
Redes tolerantes al retraso: DTN es el área de las redes que se ocupa de desafíos en las redes perturbadas desconectados sin conexión de extremo a extremo. DTN está diseñado para funcionar con eficacia en distancias extremas, como las que se encuentran en comunicación espacio o en una escala interplanetaria. (Vasilakos)
Simulación: Es una técnica numérica para realizar experimentos en una computadora digital. Estos experimentos involucran ciertos tipos de modelos matemáticos y lógicos que describen el comportamiento de sistemas de negocios, económicos, sociales, biológicos, físicos o químicos a través de largos periodos de tiempo. (Bu)
Sistema descentralizado: Son aquellos sistemas donde el núcleo de comando y decisión está formado por varios subsistemas. En dicho caso el sistema no es tan dependiente, que puede llegar a contar con subsistemas que actúan de reserva y que sólo se ponen en funcionamiento cuando falla el sistema que debería actuar en dicho caso. (Bertalanffy)
1.5.3 Marco espacial
20
FIGURA 1.7 Mapa de la localidad de Chapinero (Google Maps)
En esta localidad se encuentran algunos puntos con mucha afluencia de personas como son la zona rosa, el parque de la 93, el parque Lourdes, también cuenta con gran afluencia de comunidad universitaria ya que se encuentran principales universidades como la universidad Javeriana, la universidad de La Salle, la universidad Distrital sede Ingeniería, la universidad Piloto y la universidad Católica. Además este sector cuenta con una de las zonas comerciales más concurridas por la población bogotana. (Bogotá, 2016)
1.5.4 Marco temporal
21 1.6 Metodología de la investigación
1.6.1 Tipo de estudio
La investigación ha llevado a hacer una aproximación por primera vez al conocimiento del problema, dado que las redes neuronales han sido una interesante forma de abarcar distintos problemas no lineales lo cual se relaciona con el sistema de transporte público debido a su alto grado de complejidad.
Para la implementación de un prototipo de software para el uso del sistema integrado de transporte público SITP en la localidad de Chapinero, el tipo de estudio que mejor se ajusta a la investigación es el correlacional; ya que este tiene el propósito de medir el grado de relación que existe entre 2 a más conceptos o variables, y en la investigación las principales variables son: los usuarios, los autobuses y las vías entre otras, donde se van a interrelacionar para su respectivo funcionamiento.
Se hace una recopilación de tipo teórica debido al déficit de herramientas tecnológicas que puedan brindar mayor certidumbre en los datos del sistema. Este trabajo puede servir como antesala a la ampliación geográfica del prototipo planteado o la implementación en otros tipos de transporte como Transmilenio, rutas de trenes, rutas de metro e incluso para transporte aéreo. El problema abarca comportamientos de tipo social de una colectividad como lo son los usuarios de buses urbanos del SITP en Bogotá, debido a que la baja calidad en la prestación del servicio puede generar un impacto negativo en el comportamiento de los usuarios como por ejemplo protestas y bloqueos que muestren la inconformidad de las personas.
1.6.2 Métodos de investigación
22 1.7 Estudios de sistemas previos
Para el desarrollo de la investigación “Diseño de un prototipo de software para el uso del sistema integrado de transporte público (SITP), en tiempo real en la localidad de chapinero” tiene en cuenta dos estudios de sistemas de transporte público; el primero es Easy-City: a route search system for public transport users - Fábio Pereira and João Barreto el cual es un modelo desarrollado en la Universidad de Lisboa en Portugal en el año 2011 que plantea que hay tres tipos de nodo: usuarios, vehículos y paradas. Los nodos de usuario y del vehículo son móviles. Representan, respectivamente a los usuarios del transporte público y los vehículos de transporte público. Los nodos de parada son una representación de un punto de parada específica sobre la red de transporte (estaciones, muelles, las paradas de autobús). Los nodos son capaces de comunicarse en corto alcance interacciones oportunistas a través de algún protocolo de comunicación inalámbrica, tales como Bluetooth. Como los nodos usuario se mueven a través de la red de transporte, estos enfoques se detienen y entran en vehículos. Cuando los usuarios se cruzan en los nodos parada, reciben mensajes en tiempo de ubicación. Localización en tiempo en los mensajes tienen un lugar asociado a un instante temporal. Un mensaje en tiempo de ubicación informa de que un usuario, que recibe ella, está de pie en el lugar reportado, sobre el instante del informe
A New Passenger Support System for Public Transport Using Mobile Database Access - Koichi GOTO, Yahiko KAMBAYASHI es un estudio realizado en Tokio Japón en el año 2001; esté es un nuevo sistema de apoyo para el transporte público de pasajeros mediante el uso y el acceso a bases de datos móviles. Este estudio dice que las tecnologías informáticas móviles están creciendo rápidamente y la difusión de su campo de aplicación, especialmente en el apoyo a las actividades humanas cotidianas, A medida que los sistemas de transporte público tienen papeles muy importantes para las actividades humanas al aire libre especialmente en las ciudades, es indispensable que los sistemas informáticos de apoyo tengan funciones móviles para la utilización de los sistemas de transporte público.
23
PARTE II. DESARROLLO DE LA INVESTIGACIÓN
CAPITULO 2. DEFINICIÓN DEL PRODUCTO A OBTENER 2.1 Descripción detallada.
2.1.1 Alcance del sistema
El aplicativo NEUROSITP permitirá acceso a todas las personas que posean un Smartphone con sistema operativo Android y que tengan conexión a Internet al instante de ejecutar la aplicación, que previamente hayan descargado e instalado satisfactoriamente la aplicación de la tienda virtual de google (play store). A continuación se listarán las acciones que los usuarios podrán realizar:
Ingresar el nombre del barrio de destino del recorrido mediante listas desplegables (Autocomplete)
Ingresar un paradero de inicio de ruta mediante listas desplegables (Autocomplete) (OPCIONAL)
Buscar rutas factibles
Ver el listado de buses que pasan por el paradero inicial seleccionado
Mostrar detalles de una ruta seleccionada
Mostrar detalles de una ruta guardada
Programar un viaje de las opciones que ofrece el panel de rutas factibles
Ver novedades de la ruta seleccionada en tiempo real
Guardar una ruta para ser recordada
Cancelar viaje programado
Eliminar una ruta guardada de la lista de rutas guardadas previamente
Configurar la alarma de llegada del bus seleccionado
2.1.2 Restricciones y suposiciones Restricciones:
24
datos SQLite, haciendo uso de JPA (JAVA PERSISTENCE API), el cual proporciona facilidad para la integración, comunicación y mapeo de los datos.
La aplicación desarrollada estará cobijada bajo la especificación de software libre.
La herramienta usada para la creación del diseño funcional del producto software es Enterprise Architech versión 8.0, dado que permite la integración de datos con otros frameworks de diseño.
Suposiciones:
Los usuarios deben haber descargado e instalado satisfactoriamente con anterioridad la aplicación en sus dispositivos móviles.
Los usuarios deben tener conexión a Internet al momento de ejecutar la aplicación.
2.1.3 Objetivos del sistema a implementar
Implementar una aplicación informática que brinde soporte a la elección de rutas factibles de movilización mediante la sinergización de redes neuronales, algoritmos de optimización y algunas tecnologías de información y comunicación (TIC´s) pertinentes
Objetivos específicos:
1 Solicitar al usuario el barrio de destino mediante listas desplegables (Autocomplete)
2 Mostrar lista de rutas factibles según el barrio de destino
3 Desplegar información en tiempo de rutas según estado de las vías en tiempo real
4 Desplegar información de proximidad de la ruta seleccionada por el usuario 5 Generar una notificación a la proximidad del bus seleccionado
6 Actualizar la información contractual de los servicios basado en el estado de las vías
7 Guardar la información de las rutas que el usuario considere conveniente 8 Mostrar información detallada acerca de una ruta seleccionada
25
3. Requerimientos específicos de interfaces 3.1 Interfaz de usuario
El aplicativo requiere presentar una interfaz gráfica amigable con el usuario, siendo clara y de fácil manejo, acoplada a la funcionalidad que presentan los smartphone.
3.2 Interfaz de software
No aplica.
3.3 Protocolos de comunicación
El aplicativo está diseñado para ser implementado en dispositivos móviles con sistema operativo Android, por lo tanto se usará un protocolo a nivel de aplicación sobre TCP/IP.
3.4 Requerimientos de persistencia
El aplicativo se fundamenta primordialmente en la gestión y manejo de la información en tiempo real, basado en consultas de información, almacenamiento y borrado de algunos datos; por lo cual es necesario el uso de un motor de bases de datos que soporte de manera eficaz dichos requerimientos de persistencia, garantizando además un alto nivel de fiabilidad e integridad en los datos almacenados y manejo de los mismos; bajo los anteriores parámetros, SQLite es la herramienta que se adecua a los requerimientos mencionados debido a sus características en cuanto a confiabilidad y agilidad al momento de hacer consultas.
26
CAPITULO 4. CARACTERIZACIÓN DEL PRODUCTO DE SOFTWARE 4.1 Tabla de requerimientos funcionales.
Identificador del
Requerimiento Descripción
REF 1
Desplegar en pantalla una lista de barrios los cuales permitan capturar el lugar de destino, si el usuario desea también puede ingresar el paradero inicial (OPCIONAL)
REF 2 Filtrar las rutas dependiendo tanto del sector de inicio como del barrio final
REF 3 Clasificar y ordenar listado de rutas filtradas dependiendo de su tiempo estimado
REF 4 Estimar tiempo de rutas con base en la información de la red neuronal
REF 5 Configurar red neuronal que brinde datos del tránsito en tiempo real
REF 6 Abstraer información de los buses y paraderos anteriores al punto de partida
REF 7 Detectar la proximidad del vehículo seleccionado a una distancia de paradas con anterioridad la cual se puede modificar
27
REF 9 Solicitar información de las vías a través de la red neuronal cuando el usuario lo solicite
REF 10 Desplegar en pantalla listado de paradas filtrado por una ruta seleccionada
REF 11 Consultar rutas que se detengan en un paradero
especifico
4.2. Diagramas de Casos de Uso
Para garantizar el desarrollo y funcionamiento sostenible de NEUROSITP se propone dividir el prototipo en 3 módulos que cumplan con los principios básicos del modelado de software. A continuación se enunciarán los actores que hacen uso del sistema con los respectivos casos de uso.
4.2.1 Actores
Usuario: Actor que hace uso de la aplicación de tal manera que puede hacer consultas, personalizar rutas y temporizadores.
28
4.2.2 Especificación de casos de uso en formato extendido
Después de hacer el respectivo análisis del prototipo a desarrollar se definieron tres módulos para el adecuado funcionamiento del mismo.
4.2.2.1 Módulo búsqueda de rutas
Figura 4.2 (Autores, 2015)
Nombre del Caso de
Uso CU_BR01 Desplegar Interfaz
Resumen Cargar los elementos gráficos con los que interactuará el usuario..
Puntos de Extensión CU_BR02
Precondiciones Ninguna
29
Figura 4.3 (Autores, 2015)
Nombre del Caso de
Uso CU_BR02 Obtener listado de rutas filtrado por ubicación y destino
Resumen Mostrar un listado de rutas factibles para el usuario
Puntos de Extensión CU_BR03
Precondiciones El usuario debe llenar correctamente el campo: Barrio de destino
30
Figura 4.4 (Autores, 2015)
Nombre del Caso de
Uso CU_BR03 Calcular tiempo de rutas basado en paraderos
faltantes
Resumen Aplicar un cálculo (Distancia / Velocidad promedio) para mostrar el tiempo que demora cada bus en llegar al paradero solicitado.
Puntos de Extensión CU_BR04, CU_BR06, CU_BR07, CU_BR08
Precondiciones Ninguna
PostCondiciones Se muestra un listado de rutas factibles con sus respectivos tiempos
31
Nombre del Caso de
Uso CU_BR04 Solicitar información de paraderos a la red
neuronal
Resumen Requerir a la neurored datos acerca del flujo vehicular
Puntos de Extensión CU_BR09
Precondiciones Haber realizado una consulta de tiempos de destino
PostCondiciones Ninguna
32
Nombre del Caso de
Uso CU_BR05 Actualizar red neuronal a través de aprendizaje
Resumen Cargar la información de la base de datos para dar un pronóstico más acertado del tiempo de recorrido de cada una de las rutas factibles
Puntos de Extensión N/A
Precondiciones Los paraderos y los buses deben retroalimentar de información a las neuronas
PostCondiciones Ninguna
33
Nombre del Caso de
Uso CU_BR06 Guardar ruta en lista de favoritos
Resumen Almacenar una ruta en un listado de fácil acceso para el usuario
Puntos de Extensión CU_BR03
Precondiciones La ruta debe existir en una búsqueda
PostCondiciones Se muestra mensaje “Su ruta ha sido guardada exitosamente“
Figura 4.8 (Autores, 2015)
Nombre del Caso de
Uso CU_BR07 Programar rutas para su posterior aviso
Resumen Almacenar ruta que genere una alarma a la llegada del bus al paradero seleccionado
Puntos de Extensión CU_BR03, CU_BR11
Precondiciones El usuario debe llenado correctamente el campo de barrio de destino
34
Figura 4.9 (Autores, 2015)]
Nombre del Caso de
Uso CU_BR08 Estimar tiempo de los buses en una ruta
seleccionada
Resumen Hacer el cálculo del tiempo que demora una ruta en hacer el recorrido completo
Puntos de Extensión CU_BR03, CU_BR09
Precondiciones Haber seleccionado una ruta con anterioridad.
35
Figura 4.10 (Autores, 2015)
Nombre del Caso de
Uso CU_BR09 Estimar tiempo de aproximación de buses
Resumen Obtener tiempo que el bus tarda en hacer el recorrido
Puntos de Extensión CU_BR04
Precondiciones El usuario debe haber seleccionado la ruta con anterioridad
PostCondiciones Muestra el tiempo total de recorrido de una ruta
36
Nombre del Caso de
Uso CU_BR10 Generar alarma cuando le bus se encuentre en la parada
Resumen Alertar a la llegada del bus seleccionado, el paradero donde ejecute la notificación es ajustable.
Puntos de Extensión Ninguno
Precondiciones Es necesario haber programado la ruta con anterioridad
PostCondiciones Se muestra una alarma indicando la proximidad del bus
37
Nombre del Caso de
Uso CU_BR11 Actualizar ubicación del bus más cercano
Resumen La aplicación actualiza en tiempo real la ubicación del bus seleccionado por el usuario con respecto al paradero solicitado
Puntos de Extensión CU_BR10
Precondiciones El usuario debe haber programado la ruta con anterioridad
PostCondiciones N/A
Figura 4.13 (Autores, 2015)
4.2.2.2 Módulo Gestión de rutas almacenadas
38
Nombre del Caso de
Uso CU_GRA01 Gestionar rutas almacenadas
Resumen Mostrar el menú principal del módulo de gestión de rutas almacenadas
Puntos de Extensión CU_BR07, CU_GRA02
Precondiciones Haber seleccionado la opción de gestionar rutas almacenadas
PostCondiciones Muestra la interfaz del módulo de gestión de rutas almacenadas
39
Nombre del Caso de
Uso CU_GRA02 Borrar ruta guardada
Resumen Borrar una ruta de la lista de favoritos
Puntos de Extensión CU_GRA01
Precondiciones La ruta debe existir entre las rutas almacenadas
PostCondiciones Mensaje “Su registro de ruta ha sido eliminado exitosamente”
40
4.2.2.3 Módulo sistema de gestión de novedades
Figura 4.17 (Autores, 2015)
Nombre del Caso de
Uso CU_GN01 Mostrar novedades de rutas programadas
Resumen Despliega un listado de noticias en tiempo real con respecto a la ruta programada
Puntos de Extensión CU_GN02, CU_BRA04
Precondiciones Haber seleccionado la opción de mostrar novedades de rutas programadas y haber programado una ruta con anterioridad
PostCondiciones Despliega un listado de novedades tanto del bus como de la vía
41
Nombre del Caso de
Uso CU_GN02 Consultar información de la ruta programada
Resumen Permite ver datos de una ruta seleccionada, Lugar de inicio, lugar de final, paraderos por los cuales transita, tiempo promedio del recorrido etc.
Puntos de Extensión N/A
Precondiciones Haber programado una ruta con anterioridad
PostCondiciones Muestra detalles de la ruta, en cuanto a paraderos, tiempos promedio etc.
42 4.2.2.4 Diagrama de navegación
43 4.3 Requerimientos no funcionales
A continuación se procede a listar los principales requerimientos no funcionales para el desarrollo de la aplicación NEUROSITP
Disponibilidad: El aplicativo debe estar disponible para su utilización todo el tiempo, salvo sea por un daño externo ajeno al sistema.
Facilidad de uso: La aplicación debe ser amigable para los usuarios, mostrando interfaces claras, sin complicaciones, manejo por módulos y control de errores.
Modularidad: Se manejara el aplicativo por medio de módulos, de tal manera que cada uno de los módulos maneje una funcionalidad diferente.
44
CAPITULO 5 MODELO DE RED NEURONAL ARTIFICIAL 5.1 Selección tipo de red neuronal
Para la aplicación NEUROSITP se ha decidido implementar una red neuronal de tipo BACKPROPAGATION ya que es una red para la clasificación de información (Véase tabla 5.1); esta red llevará tres capas, una capa de entrada de la información, una capa invisible que se encargará de procesar las entradas de datos y la capa de salida que mostrará los resultados. A su vez llevará un aprendizaje no supervisado, debido a que el factor de aprendizaje se tomará como un valor constante.
45
5.2 Definición de las partes de la red neuronal artificial
A continuación se definirán las partes que interactuarán con el prototipo basados en el modelo de red neuronal propuesto.
5.2.1 Neuronas: El prototipo plantea hacer división de toda la ciudad en pequeños tramos, sectores, localidades y barrios; los cuales se llamarán neuronas, a su vez serán parte de ellas todos los elementos que interactúen con el sistema, tales como son buses, avenidas y paraderos.
5.2.1.1Cuerpo o soma: Para efectos de integridad en cuanto a la implementación la localidad de chapinero se dividirá en pequeños sectores geográficos, comprendidos por la totalidad de las calles de oriente a occidente y de sur a norte, delimitados por las principales calles que representen vías de evacuación de la localidad.
A continuación se enunciarán todas las neuronas de la localidad de Chapinero que se representarán por las letras CH con un número indicativo
CH1: De occidente a oriente desde la:
Av. Caracas Hasta la Av. Circunvalar, de sur a Norte desde la:
Av. 39 hasta la calle 45
Figura 5.1 (Google Maps)
CH2: De occidente a oriente desde la:
Av. Caracas Hasta la Av. Circunvalar, de sur a Norte desde la:
Calle 45 hasta la calle 49
46
CH3: De occidente a oriente desde la:
Av. Caracas Hasta la Av. Circunvalar, de sur a Norte desde la:
Calle 49 hasta la calle Av. Calle 53
Figura 5.3 (Google Maps)
CH4: De occidente a oriente desde la:
Av. Caracas Hasta la Av. Circunvalar, de sur a Norte desde la:
Calle 57 hasta la calle 60
Figura 5.4 (Google Maps)
CH5: De occidente a oriente desde la:
Av. Caracas Hasta la Av. Circunvalar, de sur a Norte desde la:
Calle 60 hasta la Av. Calle 63
Figura 5.5 (Google Maps)
CH6: De occidente a oriente desde la:
Av. Caracas Hasta la Av. Circunvalar, de sur a Norte desde la:
Av. Calle 63 hasta la calle 67
47
CH7: De occidente a oriente desde la:
Av. Caracas Hasta la Av. Circunvalar, de sur a Norte desde la:
Av. Calle 67 hasta la Av. calle 72
Figura 5.7 (Google Maps)
CH8: De occidente a oriente desde la:
Av. Caracas Hasta la Av. Circunvalar, de sur a Norte desde la:
Av. Calle 72 hasta la calle 76
Figura 5.8 (Google Maps)
CH9: De occidente a oriente desde la:
Av. Caracas Hasta la Av. Circunvalar, de sur a Norte desde la:
Calle 76 hasta la Av. calle 85
Figura 5.9 (Google Maps)
CH10: De occidente a oriente desde la:
Autopista norte Hasta la Av. Circunvalar, de sur a Norte desde la:
Av. calle 85 hasta la diagonal 92 con calle 94
48
CH11: De occidente a oriente desde la:
Autopista norte Hasta la Av. Carrera 7ma, de sur a Norte desde la:
Diagonal 92 y calle 94 hasta la Av. Calle 100
Figura 5.11 (Google Maps)
Para efectos de flexibilidad en cuanto al desarrollo de la aplicación la ciudad se dividirá en pequeños sectores geográficos llamados localidades.
A continuación se enunciarán las neuronas de la ciudad que se representarán por dos letras iníciales de la localidad y un número correspondiente a la respectiva localidad:
Usaquén: (US1) La localidad de Usaquén tiene una extensión total de 6.531,32 hectáreas, se ubica en el extremo nororiental de la ciudad y limita, al occidente con la Autopista Norte, que la separa de la localidad de Suba; al sur con la Calle 100, que la separa de la localidad de Chapinero; al norte, con los municipios de Chía y Sopó y al oriente, con el municipio de la Calera. (Usaquen, 2016)
49 Santa Fe: (SF3) La localidad Santa Fe es la número 3 de la ciudad, limita al norte con la localidad de Chapinero, al sur con la localidad de San Cristóbal, Antonio Nariño, al oriente con el municipio de Choachí y al occidente con las localidades de Teusaquillo, Mártires y Antonio Nariño (SantaFe, 2016)
Figura 5.13 (Google Maps)
San Cristóbal: (SC4) San Cristóbal es La localidad número 4 está ubicada en el suroriente de Bogotá, entre las localidades de Santa Fe (norte), Usme (sur), Rafael Uribe Uribe y Antonio Nariño (occidente) y por el oriente es límite metropolitano con los municipios de Choachí y Ubaque. (Cristobal, 2016)
Figura 5.14 (Google Maps)
Usme: (US5) La localidad de Usme es la número 5 de la capital. Limita al norte con las localidades de San Cristóbal, Rafael Uribe y Tunjuelito; al sur con la localidad de Sumapaz; al oriente con los municipios de Ubaque y Chipaque y al occidente con la localidad de Ciudad Bolívar y el municipio de Pasca. (Usme, 2016)
50 Tunjuelito: (TU6) Tunjuelito limita al norte con las localidades de Bosa, Kénnedy y Puente Aranda, al sur con Usme, al oriente con la localidad Rafael Uribe, Uribe y Usme y al occidente con Ciudad Bolívar.
(Tunjuelito, 2016)
Figura 5.16 (Google Maps)
Bosa: (BO7) Bosa es la localidad número 7 de Bogotá. Está ubicada en el extremo suroccidental de la ciudad, Su extensión es de 2.466 hectáreas, correspondiente a un 2.87% del total del territorio del Distrito.
Limita al sur con la Autopista Sur, la localidad de Ciudad Bolívar y el municipio de Soacha; al occidente con los municipios de Soacha y Mosquera; al norte con Mosquera y el río Bogotá; y por el oriente con las localidades de Ciudad Bolívar y Kénnedy. (Bosa, 2016)
Figura 5.17 (Google Maps)
51
Figura 5.18 (Google Maps)
Fontibón: (FO9) La localidad de Fontibón es la número 9 de la ciudad,
Su extensión es de 3.327,2
hectáreas, representando el 3.9% del distrito. Limita al norte con la Autopista El Dorado, al oriente con la carrera 68, al sur con la Avenida Centenario y al occidente con el Río Bogotá (Fontibón, 2016)
Figura 5.19 (Google Maps)
Engativá: (EN10) La localidad de Engativá es la número 10 de Bogotá, está ubicada al noroccidente de la capital y limita al norte con el río Juan Amarillo, el cual la separa de la localidad de Suba, al Oriente está bordeada por la Avenida del Congreso Eucarístico o Avenida 68, límite con la localidad de Barrios Unidos; al sur con la Avenida Jorge Eliécer Gaitán o Autopista El Dorado y el antiguo camino a Engativá, el que la separa de Fontibón y al occidente limita con el Río Bogotá. (Engativá, 2016)
Figura 5.20 (Google Maps)
Suba: (SU11) Suba limita al norte con el municipio de Chía; al sur con la localidad de Engativá; al Oriente con la localidad de Usaquén y al Occidente con el municipio de Cota.
52
Figura 5.21 (Google Maps)
Barrios Unidos: (BU12) Se ubica en el noroccidente de la ciudad y limita, al occidente, con la Avenida carrera 68, que la separa de la localidad de Engativá; al sur, con la calle 63, que la separa de la localidad de Teusaquillo; al norte con la calle 100, que la separa de la localidad Suba y, al oriente, con la Avenida Caracas, que la separa de la localidad de Chapinero. (BarriosUnidos, 2016)
Figura 5.22 (Google Maps)
TE13: Teusaquillo es la localidad número 13 del Distrito. Se encuentra ubicada en el centro geográfico de la
ciudad. Es un territorio
completamente urbanizado, cuenta zonas verdes en sus parques
metropolitanos, la Ciudad
Universitaria y en algunas avenidas principales. (Teusaquillo, 2016)
53 Los Mártires: (LM14) La localidad de Los Mártires limita al norte con la localidad de Teusaquillo, al sur con la localidad de Antonio Nariño, al oriente con la localidad de Santa Fe y al occidente, con la localidad de Puente Aranda. (Martires, 2016)
Figura 5.24 (Google Maps)
Antonio Nariño: (AN15) La localidad Antonio Nariño está ubicada en la parte suroriental de la ciudad, limita por el nororiente con las localidades de Santa fe y Los Mártires, por el noroccidente con la localidad de Puente Aranda y por el suroccidente con las localidades de Tunjuelito y Rafael Uribe Uribe, por el suroriente con la localidad de San Cristóbal.
(AntonioNariño, 2016)
Figura 5.25 (Google Maps)
Puente Aranda: (PA16): Puente Aranda limita al norte con la localidad de Teusaquillo, al sur con la localidad de Tunjuelito, al oriente con las localidades de Los Mártires y Antonio Nariño y al occidente con las localidades de Fontibón y Kennedy.
(PuenteAranda, 2016)
54 La Candelaria: (LC17) La Candelaria está ubicada en el sector centro– oriente de Bogotá, su área está destinada para la construcción de equipamientos de nivel urbano y metropolitano, y no cuenta con zonas de tipo rural. La localidad está conformada por los barrios Belén, Las Aguas, Santa Bárbara, La Concordia, Egipto y Centro Administrativo.
(Candelaria,2016)
Figura 5.27 (Google Maps)
Rafael Uribe: (RU18) Rafael Uribe es la localidad número 18, una de las
más jóvenes de Bogotá. Se
encuentra ubicada al sur oriente de la ciudad, limita con las localidades de San Cristóbal al oriente, Tunjuelito por el occidente, con Antonio Nariño al norte y al sur con Usme. (RafaelUribe, 2016)
Figura 5.28 (Google Maps)
CB19: La localidad Ciudad Bolívar es la número 19 de Bogotá, es la tercera localidad más extensa después de las localidades de Sumapaz y Usme, se ubica al sur de la ciudad y limita al norte, con la localidad de Bosa; al sur con la localidad de Usme; al oriente con la localidad de Tunjuelito y Usme y al occidente con el municipio de Soacha. (CiudadBolivar, 2016)
55 SU20: La localidad de Sumapaz es la número 20 de la ciudad. La única netamente rural del Distrito Capital, cuenta con una extensión de 78.000 Hectáreas, está conformada por los
corregimientos de San Juan,
Nazareth y Betania, con sus respectivas veredas. (Sumapaz, 2016)
5.2.1.2 Dendritas: “En las neuronas biológicas las dendritas son las encargadas de recibir las señales de las neuronas adyacentes y las transmiten en forma de señal” (Glover & Ghaziri), es decir los elementos que representen entradas en el sistema.Para el desarrollo de NEUROSITP los elementos encargados de recibir las señales de neuronas contiguas son los usuarios, los buses con sus respectivas rutas, celulares con la aplicación instalada y los paraderos
5.2.1.3 Axón: “El axón en las neuronas biológicas es una fibra nerviosa con
longitud que puede variar entre unos milímetros y varios metros, este se ramifica y dirige el impulso a varias neuronas vía sinapsis”. (Gómez Quezada, Fernandez, López Bonal, & Diaz-Marta, p 15).En otras palabras se hace referencia
al canal, llevando este concepto al prototipo a desarrollar se define como elemento axón las vías, avenidas, o calles que conectan los barrios y localidades.
56
A continuación se muestra el listado de rutas que hacen el recorrido desde la localidad Chapinero hasta los barrios seleccionados de la localidad Kennedy, se listarán las avenidas principales por las cuales circulan cada uno de los buses.
RUTA Boita - Porciúncula
56A AVENIDAS PRINCIPALES
KRA11
RUTA Bachué - Ciudad Kenndedy
108 AVENIDAS PRINCIPALES
KRA11
RUTA Jacqueline - Bosque Popular
135 AVENIDAS PRINCIPALES
KRA 13
RUTA Metrovivienda - Porciúncula
166 AVENIDAS PRINCIPALES
AK 7
RUTA Catalina - Unicentro
192 AVENIDAS PRINCIPALES
KRA11
RUTA San Bernardino - Porciúncula
107A AVENIDAS PRINCIPALES
57 RUTA Villa del Río - Porciúncula
C11 AVENIDAS PRINCIPALES
KRA11
RUTA Bosa San Pedro - Chapinero
C15 AVENIDAS PRINCIPALES
KRA 13
RUTA La chucua - Chapinero E26A AVENIDAS PRINCIPALES
KRA11 E72 AVENIDAS PRINCIPALES
KRA11
RUTA Catalina - Unicentro
C52 AVENIDAS PRINCIPALES AC 82
RUTA Compartir - Marly
C15 AVENIDAS PRINCIPALES
58
A continuación se procede a listar los barrios seleccionados de la localidad de Kennedy con sus respectivas rutas de SITP y las vías principales por las cuales transita cada ruta en el recorrido desde la localidad de Chapinero hasta los lugares de desino escogidos de Kennedy.
Ruta sinapsis se da cuando se cumple el objetivo de evacuar el mayor número de personas de la localidad de Chapinero en el menor tiempo posible a través de los buses urbanos del SITP.
5.3 Formulación del modelo
59
5.3.1 Entrenamiento
En el entrenamiento de una red neuronal backpropagation se usa el algoritmo de corrección de error multinivel. (Véase figura 5.30)
Figura 5.30 (Autores, 2015)
Lo que se hace es observar el error en la capa de salida (a), se ajustan los pesos en W0 y W1; se observa el error en las capas ocultas para re calcular
los pesos en Wij.
A continuación se presenta el algoritmo de corrección de error multinivel para redes neuronales tipo backpropagation:
Error de salida:
EK= (Tk-OK)* Ok*(1-Ok) [64]
| Donde: Tk=Salida correcta
60
Pesode la capa oculta:
WJK= WJK + L*EK* OJ [64]
Donde: WJK= Peso desde J hasta K
L= % Aprendizaje
OJ = Entrada al nodo K desde J
Nota: Por definición se dejara el nivel de aprendizaje en 50%, es decir una entrada igual a 0.5 ya que es el nivel intermedio y por consiguiente nos proveerá un pronóstico más acertado
Error en la capa oculta:
EJ= OJ *(1-OJ) * Ʃ EK * WJK [64] Peso en la capa de entrada
WIJ= WIJ + L * EJ*Oi [64]
Donde: Oi= Entrada desde el nodo I desde J
5.3.2 Explicación
NEUROSITP es un sistema para dispositivos móviles para el uso del SITP Urbano basado en el concepto de Redes Neuronales Artificiales, la lógica del sistema es fácilmente comparable con una red de tipo backpropagation, es decir una capa de entradas al sistema (las 11 neuronas pequeñas dentro de la localidad de Chapinero), una capa oculta (las 7 neuronas que representan las localidades por las que transitan los buses para llegar a la localidad de Kennedy) y una capa de salida (Los 6 barrios de la localidad de destino seleccionados)
61
una velocidad constante de 30 Km/h). Se procede a aplicar la respectiva fórmula para corrección de error en la capa de salida; ese valor se pasa por la siguiente transformación matemática para nuevamente ajustar el peso; posteriormente se aplica la fórmula para la capa de entrada donde nuevamente se ajusta el tiempo para que sea el óptimo. El anterior proceso nos lleva a minimizar los tiempos de cada una de las rutas para por último ordenarlas en forma ascendente.
A continuación se presenta el modelo de red neuronal artificial tipo backpropagation para NEUROSITP
SF3
T13
LM14BU12
EN10
FO9
PA16
62 6. Modelo estructural
6.1 Definición de clases y objetos candidatos
NOMBRE DESCRIPCIÓN ¿ES CLASE?
Localidad
Es la agrupación de varios barrios
contiguos SI
Vía
Es el canal por donde se transportan los automóviles para ir de un lugar a otro SI desde la localidad de Chapinero al cual se pretende beneficiar con la
implementación del prototipo SI
Paradero
Es el lugar donde llegan los buses para
recoger y dejar a los pasajeros SI
Ruta prolongaciones que tienen como finalidad transmitir información SI Novedad
Es un suceso que indica cambio en una
acción que se esta ejecutando NO
Dispositivo móvil
Elemento tecnológico diseñado para
hacer interactuar la información NO
Barrio
Es un conjunto de casas, vías y
paraderos de un mismo sector SI
Dendrita
Prolongaciones protoplásmicas ramificadas bastante cortas de la neurona dedicadas principalmente a la
63 Sinapsis
Región de comunicación entre la neurona o prolongación citoplásmica de una neurona y las dendritas o el cuerpo
de otra NO
sujeto para lograr un objetivo NO
Capa
Es la representación de un espacio en los diagramas encargados de recibir
información SI
Peso
Es el valor numérico que se le da a un
objeto NO
Profesor
Es el sujeto encargado de supervisar el
aprendizaje de la red neuronal NO
Nodo
llamados aristas NO
Notificación
Se refiere a un aviso que genera un
objeto para indicar una novedad NO
Tránsito
64 6.2 Diagrama general de clases
65 6.3 Diccionario de clases
6.3.1 Capa de atributos
Neurona
Gestionar todos los datos de tiempos de recorridos de los buses y de errores
VISIBILIDAD NOMBRE TIPO DE DATO
respuesta a una consulta
Numérico con decimales > 0
Dendrita
Mantiene la información, de usuarios y buses con sus respectivas rutas
VISIBILIDAD NOMBRE TIPO DE
Contienen la información de las distintas vías que se van a utilizar
66 Bus
Contienen la información de cada uno de los buses que prestan el servicio
VISIBILIDAD NOMBRE TIPO DE DATO
SEMÁNTICA DOMINIO
Private velocidad float Tiempo de velocidad
promedio de la vía o del bus
Numérico con decimales > 0
Paradero
Contienen la información de cada uno de los buses que prestan el servicio
VISIBILIDAD NOMBRE TIPO DE
DATO
SEMÁNTICA DOMINIO
Private velocidadPromedio double Tiempo de
velocidad
Contienen la información de cada uno de los buses que prestan el servicio
VISIBILIDAD NOMBRE TIPO DE DATO
Clase encargada de crear objetos de sub-jerarquía de clases
VISIBILIDAD NOMBRE TIPO DE DATO
SEMÁNTICA DOMINIO
Private dendrita Dendrita Identifica los elementos dendrita de la neurored
Un objeto de tipo Dendrita Private neurona Neurona Identifica los elementos
neurona de la neurored