Você está na página 1de 166

TESIS PUCP

Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No comercial-Compartir bajo la misma licencia 2.5 Per. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/

PONTIFICIA UNIVERSIDAD CATLICA DEL PER


FACULTAD DE CIENCIAS E INGENIERA

DESARROLLO DE UN SISTEMA DE GESTIN DE SERVICIO DE TAXIS QUE OPTIMIZA RUTAS DE TRANSPORTE

Tesis para optar por el Ttulo de Ingeniero Informtico, que presenta el bachiller:

Miguel ngel Ortega Bulnes

ASESOR: Dra. Nora Bertha La Serna Palomino

Lima, Noviembre del 2010

Resumen
El presente proyecto de fin de carrera se dedica a desarrollar un sistema de informacin de gestin de servicio de taxis que optimice las rutas de transporte, el cual comprender los mdulos de seguridad, mantenimiento, recepcin y asignacin de servicios, y apoyo a la gestin. Bsicamente, el sistema permitir registrar las solicitudes de servicios de taxi y atenderlos eficientemente asignando la mejor ruta. De esta manera las empresas de taxi podrn ahorrar tiempo y dinero a la hora de ofrecer un servicio desde un lugar a cualquier otro punto de la ciudad, mejorando la atencin al cliente mediante una respuesta rpida. Para llevar a cabo el proyecto se ha hecho uso de un algoritmo de optimizacin apropiado al contexto del problema, adems de haberse utilizado software libre para la elaboracin del sistema. Por otro lado, se ha aplicado una metodologa de desarrollo que toma como base el Proceso Unificado Racional (Rational Unified Process RUP), as como tambin se ha empleado la gua estndar para la gestin de proyectos (Project Management Body of Knowledge PMBOK). Finalmente, resulta conveniente mencionar que durante el proceso de desarrollo de la tesis, se aplicaron en gran parte los conocimientos adquiridos durante los aos de estudio de la carrera, por lo que el proyecto informtico desarrollado es el resultado de competencias y habilidades del aspirante al ttulo de ingeniero.

Dedicatoria
A Dios por darme salud y a mi familia por darme fuerzas para seguir adelante.

Agradecimientos
A mi asesor por su disponibilidad y consejos, y a las personas que hicieron posible este trabajo.

Tabla de Contenido
Introduccin Captulo I: Generalidades 1.1. Definicin del Problema 1.2. Marco Conceptual 1.2.1. Sistema de Informacin (SI) 1.2.2. Tipos de Sistema de Informacin 1.2.3. Optimizacin Combinatoria 1.2.4. Algoritmos Exactos y Aproximados 1.2.5. Algoritmos Meta heursticos 1.2.6. Algoritmos Bio-inspirados 1.2.7. Optimizacin Colonia de Hormigas 1.3. Estado del arte 1.3.1. Problema del camino ms corto (Shortest Path Problem) 1.3.2. Objeto de estudio: Problema del camino ms corto s-t 1.3.3. Algoritmos que resuelven el problema 1.3.4. Soluciones existentes y estudios relacionados 1.4. Plan del proyecto 1.4.1. Metodologa de gestin 1.4.2. Etapas del proyecto 1.5. Descripcin y sustentacin de la solucin 1.5.1. Componentes 1.5.2. Ventajas Captulo II: Anlisis 2.1. Metodologa de desarrollo del proyecto 2.2. Identificacin de requerimientos 2.2.1. Diagramas de caso de uso I. Catlogo de actores II. Casos de uso 2.3. Anlisis de la solucin 2.3.1. Viabilidad 2.3.2. Anlisis Tcnico y Econmico 2.3.3. Asignacin de Funciones 2.3.4. Restricciones de Costo y Tiempo 2.3.5. Diagrama de clases de anlisis 2.3.6. Diagrama de paquetes Captulo III: Diseo 3.1. Arquitectura de la solucin 3.1.1. Tecnologa Requerida 3.1.2. Diagrama de Despliegue 3.1.3. Diagrama de Componentes 3.1.4. Modelo de base de datos 3.2. Diseo de Interfaz Grfica 3.2.1. Principios Bsicos 3.2.2. Sobre el diseo en general 3.2.3. Diseo de pantallas Captulo IV: Construccin 4.1. Construccin 4.1.1. Tecnologa usada 4.1.2. Algoritmo de optimizacin propuesto 4.2. Pruebas 4.2.1. Pruebas de aceptacin 4.2.2. Casos de pruebas 4.2.3. Catlogo de pruebas Captulo V: Observaciones, Conclusiones y Recomendaciones 5.1. Observaciones 5.2. Conclusiones 5.3. Recomendaciones Bibliografa Anexos 7 9 9 10 10 11 14 15 15 17 19 25 25 25 26 28 30 30 36 38 38 39 40 40 44 48 48 49 56 56 56 57 58 59 59 60 60 62 62 63 64 67 67 67 68 72 72 72 75 84 84 84 85 87 87 88 88 89 92

ndice de Figuras
Figura 1.1 Tipos de Sistemas de Informacin. Figura 1.2 Plan de Proyecto: Administracin de la Integracin del Proyecto. Figura 1.3 Plan de Proyecto: Administracin del Alcance del Proyecto. Figura 1.4 Plan de Proyecto: Administracin del Tiempo del Proyecto. Figura 1.5 Plan de Proyecto: Administracin de la Calidad del Proyecto. Figura 1.6 Estructura de descomposicin del trabajo: EDT. Figura 2.1 Metodologa base para el proyecto: Estructura del RUP. Figura 2.2 Catlogo de actores. Figura 2.3 Diagrama de casos de uso del mdulo de Seguridad. Figura 2.4 Diagrama de casos de uso del mdulo de Mantenimiento. Figura 2.5 Diagrama de casos de uso del mdulo de Mantenimiento. Figura 2.6 Diagrama de casos de uso del mdulo de Mantenimiento. Figura 2.7 Diagrama de casos de uso del mdulo de Recepcin y Asignacin. Figura 2.8 Diagrama de casos de uso del mdulo de Recepcin y Asignacin. Figura 2.9 Diagrama de casos de uso del mdulo de Recepcin y Asignacin. Figura 2.10 Diagrama de casos de uso del mdulo de Apoyo a la Gestin. Figura 2.11 Diagrama de Paquetes. Figura 3.1 Arquitectura de la solucin. Figura 3.2 Diagrama de Despliegue. Figura 3.3 Diagrama de Componentes. Figura 3.4 Diagrama Entidad Relacin: Esquema Negocio. Figura 3.5 Diagrama Entidad Relacin: Esquema Grafo. Figura 3.6 Ventana Autenticacin de Usuario. Figura 3.7 Ventana Principal del sistema. Figura 3.8 Ventana de Mantenimiento Estndar. Figura 3.9 Ventana de Registro Estndar. Figura 3.10 Ventana de Reporte Informativo de Solicitudes. Figura 3.11 Ventana de Reporte Estadstico de Solicitudes. Figura 4.1 Acotacin del espacio de bsqueda. 11 32 33 34 35 37 41 48 50 51 51 52 53 53 54 55 59 61 63 64 65 66 69 69 70 70 71 71 76

ndice de Tablas
Tabla 1.1 Tabla de aplicaciones de algoritmos meta heursticos. Tabla 1.2 Tabla comparativa de aplicaciones y trabajos informticos existentes. Tabla 2.1 Mdulo de Seguridad. Tabla 2.2 Mdulo de Mantenimiento. Tabla 2.3 Mdulo de Recepcin y Asignacin de servicios. Tabla 2.4 Mdulo de Apoyo a la Gestin de servicios. Tabla 2.5 Requerimientos No Funcionales. Tabla 2.6 Presupuesto para el desarrollo. Tabla 3.1 Arquitectura de la solucin. Tabla 3.2 Descripcin de los nodos. Tabla 4.1 Clases equivalentes Actualizar Contrasea. Tabla 4.2 Casos de Pruebas Actualizar Contrasea. 17 29 44 45 46 47 47 57 62 63 85 86

Introduccin
El presente proyecto de fin de carrera o tesis de pregrado se centra en desarrollar un sistema de informacin que apoye la gestin de servicio de taxis, dicho sistema busca mejorar el servicio de taxi que se les ofrece a los clientes empleando determinadas tecnologas informticas. Para llevar a cabo el desarrollo del sistema mencionado se empez por identificar la problemtica que le da origen, siendo sta el tiempo que se pierde en la trayectoria del servicio de taxi y que por consiguiente deja a un cliente insatisfecho con el servicio proporcionado. A partir de este planteamiento se propuso el desarrollo de un sistema de informacin que d solucin a la necesidad de brindar un servicio de mejor calidad para los clientes. Es por ello que se ha realizado el anlisis, diseo e implementacin del sistema de gestin de servicio de taxis, que soporte los siguientes procesos: el registro de solicitudes, seguimiento y control de las unidades, asignacin eficiente del servicio, obtencin de la ruta ptima del servicio y generacin de reportes con datos confiables y actualizados. A la vez, es importante mencionar que para el desarrollo del presente proyecto se ha contado con una empresa usuaria que proporcione la informacin necesaria de la lgica del negocio, con el propsito de realizar un trabajo objetivo. Asimismo, cabe indicar que en este trabajo no slo se implement un algoritmo de optimizacin para la generacin de rutas de transporte, precisamente la meta heurstica Optimizacin Colonia de Hormigas (Ant Colony Optimization ACO), sino que tambin se realizaron aportes matemticos enfocados al problema en especfico. Finalmente, este proyecto de tesis est dividido en los 5 captulos siguientes: Generalidades, Anlisis, Diseo, Construccin y, por ltimo, Observaciones, Conclusiones y Recomendaciones. En el captulo 1, Generalidades, se presentan las secciones en donde se plantea el problema a resolver, los fundamentos tericos, el plan del proyecto, los trabajos relacionados y un sustento de la solucin.

En el captulo 2, Anlisis, se describen las secciones en las cuales se evala la viabilidad del sistema, se realiza un anlisis tcnico y econmico, se asigna funciones, se establecen restricciones y una definicin detallada del sistema. En el captulo 3, Diseo, se detallan las secciones en las que se definen la arquitectura y el diseo de la interfaz grfica de la solucin. En el captulo 4, Construccin, se exponen las secciones en donde se justifican las tecnologas utilizadas y se presentan las pruebas de aceptacin. En el captulo 5, Observaciones, Conclusiones y Recomendaciones, se muestran las secciones en donde se dan las observaciones, comentarios, conclusiones finales al proyecto y recomendaciones futuras.

Captulo I: Generalidades
En el presente captulo se presentan la definicin del problema con la explicacin de lo que se desea resolver en el proyecto, luego el marco conceptual con la teora fundamental o bsica para entender el problema, seguidamente el estado del arte con la explicacin de cmo se resuelve actualmente el problema; tambin se incluye el plan del proyecto llevado a cabo con las metodologas y etapas, y finalmente una explicacin detallada de la solucin a desarrollarse.

1.1.

Definicin del Problema

En la actualidad, para las empresas de servicio de taxis, es cada vez mayor la necesidad de afrontar el costo que origina no estar a la altura de las expectativas del cliente, en cuanto a ofrecer un mejor servicio. Adems, estas empresas se encuentran en un mercado cada vez ms competitivo, debido a una creciente demanda de brindar calidad en los servicios, y afrontan los problemas de trnsito que se presentan, generalmente, en las ciudades ms representativas.

En tal sentido existen problemas para la adecuada gestin de servicios de taxis al momento de querer ofrecer al cliente una mejor atencin, no slo en trminos del trato que se le da, sino ms bien en atender de manera rpida la solicitud del servicio, asignar de manera eficiente un taxi y demorar menos tiempo en lo que implica la trayectoria del servicio. En pases subdesarrollados, si bien no se aprecia un claro inters por brindar un mejor servicio de transporte al usuario en el sector pblico, s es tomado con seriedad por las empresas privadas al querer brindar un servicio de calidad y buscar cubrir esta necesidad con herramientas adecuadas. El Per, un pas con considerable demanda turstica, presenta una serie de dificultades que no permite una solucin sencilla, particularmente en las capitales de las provincias o en lugares con gran concentracin de habitantes; se tiene, por ejemplo, una inadecuada infraestructura vial con frecuentes cambios (construccin y reparacin de vas), frecuente congestin (especialmente en horas punta) y carencia de control en determinadas zonas. Por lo expuesto anteriormente, las empresas de servicios de taxis afrontan un reto al tratar este problema y es evidente la necesidad de recurrir a las tecnologas de informacin con el fin de aumentar la calidad del servicio al cliente. Esto supone una mejora indudable en este tipo de servicio en el Per.

1.2.

Marco Conceptual

1.2.1. Sistema de Informacin (SI) Un sistema de informacin es un conjunto organizado de elementos que interactan entre s para procesar los datos y la informacin (incluyendo procesos manuales y automticos), y distribuirla de la manera ms adecuada posible en una determinada organizacin en funcin de sus objetivos [1]. Normalmente el trmino es usado de manera errnea como sinnimo de sistema de informacin informtico, estos son el campo de estudio de la tecnologa de la informacin (IT), y aunque puedan formar parte de un sistema de informacin (como recurso material), por s solos no se pueden considerar como sistemas de informacin, este concepto es ms amplio que el de sistema de informacin informtico.

10

Entre los elementos que la conforman tenemos: a) Personas. b) Datos. c) Actividades o tcnicas de trabajo y d) Recursos Materiales (tpicamente recursos informticos y de comunicacin).

1.2.2. Tipos de Sistema de Informacin La mayor parte de los sistemas estn diseados para generar informacin y respaldar la toma de decisiones a diferentes niveles de gerencia, as como para realizar el mantenimiento de registros y trabajos rutinarios de procesamiento de transacciones. La clasificacin de los sistemas de informacin puede verse en la figura 1.1.

Figura 1.1 Tipos de Sistemas de Informacin [14].

Sistemas de apoyo a las operaciones El papel de los sistemas de respaldo a las operaciones consiste en procesar eficientemente las transacciones, controlar los procesos, respaldar las comunicaciones y la colaboracin en la empresa y actualizar las bases de datos de la empresa, pero no hacen nfasis en la generacin de productos especficos que puedan ser utilizados de manera ptima por los gerentes, ya que stos requieren de informacin procesada [14].

11

Dentro de los sistemas de apoyo a las transacciones se encuentran: Sistemas de procesamiento de transacciones Estos sistemas registran y procesan datos resultantes de las transacciones comerciales, tales como ventas, compras, facturacin y cobranzas, gestin de compras, pagos a proveedores, etc. Los resultados de este proceso se usan para actualizar las bases de datos de clientes, de inventarios, personal y de otras bases organizacionales. Posteriormente, estas bases de datos proporcionan los recursos de datos que pueden ser procesados y utilizados por los sistemas de apoyo gerencial.

Sistemas de control de procesos Son los que se utilizan para tomar decisiones que controlan procesos, en los cuales las computadoras toman decisiones automticamente sobre un proceso. Por ejemplo, una planta de potabilizacin puede utilizar sensores electrnicos enlazados a computadoras con el fin de supervisar el proceso de tratamiento de agua.

Sistemas de colaboracin empresarial Son sistemas que utilizan una serie de tecnologas de la informacin para ayudar que las personas trabajen en forma conjunta. Este tipo de sistemas ayuda a colaborar, comunicar ideas, compartir recursos y coordinar esfuerzos de trabajo de los miembros de los muchos equipos de procesos, proyectos y de otros grupos de trabajo de las organizaciones. La meta de estos sistemas es aumentar la productividad y la creatividad de los equipos de trabajo.

Sistemas de apoyo gerencial Son los sistemas de informacin que se centran en el suministro de informacin y respaldo para la toma de decisiones efectivas por parte de los gerentes. Las dos caractersticas principales de los sistemas de apoyo gerencial son: La orientacin gerencial de la tecnologa de la informacin en la empresa y la visin de las aplicaciones como sistemas interrelacionados e integrados [14].

12

Dentro de los sistemas de apoyo gerencial se encuentran: Sistemas de informacin gerencial Son la forma ms comn de sistema de apoyo gerencial, suministran a los usuarios finales productos de informacin que respaldan gran parte de los procesos cotidianos de toma de decisiones, mediante la provisin de informes y presentaciones a la gerencia. Estos sistemas de informacin gerencial recuperan de las bases de datos informacin actualizadas sobre operaciones de las empresas y tambin obtienen a partir de fuentes externas datos del entorno empresarial. Sistemas de apoyo a las decisiones Son sistemas de informacin interactivos que se basan en el computador y que utilizan modelos de decisin y bases de datos especializadas para apoyar los procesos de toma de decisiones de los usuarios finales. En esta clase de sistemas los gerentes simulan y exploran nuevas alternativas y reciben informacin tentativa basada en un conjunto de supuestos, y por lo tanto no es necesario especificar de antemano sus necesidades de informacin, sino que los sistemas de apoyo a las decisiones ayudan a encontrar de manera interactiva la informacin que se necesita. Sistemas de informacin ejecutiva Son sistemas de informacin gerencial adaptados a las necesidades estratgicas de informacin de la alta gerencia. El objetivo consiste en proporcionar a la alta gerencia un acceso inmediato y fcil a la informacin selectiva sobre factores claves que son fundamentales para el logro de los objetivos estratgicos de la organizacin. Otros sistemas Existen adicionalmente otros tipos de sistemas de informacin que son de mayor aplicacin en otro tipo de industrias, pero que son mencionados para mostrar la tendencia de la tecnologa de la informacin en esos campos [14]. Dentro de estos sistemas se encuentran: Sistemas basados en Inteligencia Artificial Son sistemas de informacin que se basan en el conocimiento, es decir que mediante la aplicacin de la inteligencia artificial utilizan su conocimiento sobre un rea especfica para actuar como un consultor experto para los usuarios. 13

Sistemas para obtener ventajas estratgicas Estos sistemas comprenden el uso de la tecnologa de la informacin para desarrollar productos, servicios y capacidades que dan a una empresa ventajas estratgicas sobre las fuerzas competitivas que enfrenta en el mercado global.

1.2.3. Optimizacin Combinatoria La Optimizacin Combinatoria es una rama de la optimizacin en las matemticas aplicadas y ciencias de la computacin [17], relacionada con la investigacin operativa, teora de algoritmos y teora de la complejidad computacional. Un problema de optimizacin combinatoria se puede expresar como un sistema de ecuaciones y expresiones matemticas relacionadas que describen la esencia del problema. Este tipo de problema presenta las siguientes caractersticas: A veces es difcil encontrar una solucin posible. Paralelamente existe un nmero muy elevado de soluciones posibles. De todas las soluciones alguna es la ptima.

En este mismo contexto aparecen los algoritmos de optimizacin combinatoria, quienes resuelven instancias de problemas del tipo NP difciles, reduciendo el tamao efectivo del espacio y explorando el espacio de bsqueda eficientemente. El modelo general que representa un problema de optimizacin combinatoria es de la siguiente manera [16]: Optimizar f(x). Sujeto a: gi(x)>0 para i: 1..m hj(x)>0 para j: 1..n Donde: f(x): es conocida como la funcin objetivo y representa un valor que debe ser optimizado en su mxima o mnima expresin. g(x) y h(x): son denominadas las restricciones del problema y especifican las condiciones que debe poseer toda solucin viable. 14

1.2.4. Algoritmos Exactos y Aproximados Los algoritmos existentes que permiten resolver problemas de optimizacin combinatoria pueden ser clasificados en algoritmos exactos y algoritmos aproximados [18].

Algoritmos Exactos Intentan encontrar una solucin ptima y asegurar que la solucin obtenida sea la nica ptima, estos algoritmos incluyen tcnicas tales como retroceso o vuelta atrs (backtracking), ramificacin y acotacin (branch and bound), programacin dinmica (dynamic programming), etc.

Algoritmos Aproximados Debido a que los algoritmos exactos muestran pobre rendimiento para muchos problemas, se desarrollaron los algoritmos aproximados que proveen alta calidad de soluciones a problemas de optimizacin combinatoria complejos en un tiempo computacional corto. Los algoritmos aproximados pueden ser clasificados en dos tipos principales: Algoritmos de construccin: basado en ir generando soluciones e ir agregando componentes paso a paso. Ejemplo: heursticas de construccin vidas (greedy construction heuristics). Algoritmos de bsqueda local: intentan repetidamente mejorar las soluciones retornadas por una bsqueda local. Ejemplo: algoritmos de mejora iterativa (iterative improvement algorithms).

1.2.5. Algoritmos Meta heursticos Son una clase particular de algoritmos aproximados, proveen una base general para permitir crear nuevos procedimientos derivados de heursticas clsicas e incluyen diferentes conceptos tales como gentica, biologa, inteligencia artificial, matemticas, fsicas, sistemas neuronales, mecanismos estadsticos, etc. [18].

15

Tienen como objetivo resolver problemas de optimizacin combinatoria donde tcnicas heursticas han fallado. A continuacin presentaremos los algoritmos meta heursticos ms relevantes [19]:

A. Bsqueda Tab (Tabu Search - TS) Es un procedimiento de bsqueda meta heurstico iterativo para resolver problemas de optimizacin combinatoria basndose en principios generales de resolucin de problemas inteligentes.

B. Algoritmos Genticos (Genetic Algorithms - GA) Son una clase de mtodos de bsqueda adaptativos en un modelo abstracto de evolucin natural, cuya idea bsica es mantener una poblacin de soluciones candidatas que evolucionen bajo una presin selectiva y favorezcan a las mejores soluciones.

C. Procedimientos de Bsqueda vidos Aleatorios Adaptativos (Greedy Randomized Adaptive Search Procedures - GRASP) Es un algoritmo meta heurstico que se basa en la ejecucin repetida de un procedimiento de construccin de soluciones, en combinacin con una bsqueda local que intenta mejorar la calidad de las mismas [8].

D. Optimizacin Colonia de Hormigas (Ant Colony Optimization - ACO) Es un algoritmo inspirado del comportamiento de colonias de hormigas reales para resolver problemas de optimizacin combinatoria. Son esencialmente algoritmos de construccin.

E. Templado Simulado (Simulated Annealing - SA) Es un algoritmo de bsqueda local basado en el proceso de recocido de slidos, capaz de evitar hallar el ptimo local.

F. Redes Neuronales Artificiales (Artificial Neural Networks - ANN) Son modelos extremadamente simplificados de su contraparte biolgica, capaces de desarrollar internamente capacidades de procesamiento de la informacin para resolver un problema en especfico.

16

Entre los problemas reales que resuelven los algoritmos anteriormente descritos tenemos:

Algoritmos Meta Heursticos

Aplicaciones
Finanzas, Manufactura, Planeacin y programacin,

Bsqueda Tab

Telecomunicaciones, Transporte, ruteo y diseo de redes, Optimizacin en estructuras, Manufactura, entre otros. [20] Acstica, Ingeniera aeroespacial, Astronoma y

Algoritmos Genticos

astrofsica, Qumica, Ingeniera elctrica, Finanzas, Juegos, Robtica, Diseo de rutas y horarios, entre otros. [39]

GRASP

Manufactura,

Transporte,

Telecomunicaciones,

Sistemas elctricos, Biologa, entre otros. [21] Ruteo de vehculos, Aprendizaje, Bio-Informtica,

Colonia de Hormigas

Problemas de asignacin y programacin de tareas, Aprendizaje automtico, entre otros. [22] Telecomunicaciones, Ciberntica, Diseo de horarios, entre otros. [18] Biologa, Minera de datos, Ingeniera civil, Anlisis financiero, Msica, entre otros. [23]

Templado Simulado

Redes Neuronales Artificiales

Tabla 1.1 Tabla de aplicaciones de algoritmos meta heursticos. 1.2.6. Algoritmos Bio-inspirados Son algoritmos diseados a partir de la inspiracin de procesos observados en la naturaleza, tales algoritmos pertenecen al campo de la computacin bio-inspirada y estn relacionados con temas de comportamiento social y emergente [24]. Su objetivo es resolver problemas complejos de ingeniera, en donde la estructura del problema no es a menudo conocida, y problemas de optimizacin combinatoria. . 17

Entre las principales caractersticas de estos algoritmos tenemos: Son capaces de resolver problemas complejos sin conocer mucho el espacio de bsqueda. Hacen uso de muchas decisiones aleatorias. Consideran problemas donde la funcin a ser optimizada es propuesta analticamente. A continuacin se presenta los algoritmos ms conocidos: A. Algoritmos Evolutivos (Evolutionary Algorithms) Intentan reproducir los principios de la naturaleza con la ms alta exactitud posible, para ello se basa en procesos de evolucin, estrategias reproductivas (mutacin y recombinacin) y un mecanismo de seleccin natural. Entre los principales problemas que resuelven se encuentran: Problema del agente viajero (Travelling Salesman Problem - TSP). Problema de programacin de horarios (Timetabling problem). Problema de ruteo de vehculos (Vehicle Routing Problem - VRP). Entre otros.

B. Inteligencia de Enjambre (Swarm Intelligence) Son algoritmos que pretenden resolver problemas de distribucin inspirados de ejemplos biolgicos provistos por insectos sociales como hormigas, termitas, abejas, etc. En otras palabras, est basado en principios de sistemas naturales que consisten de muchos agentes. Entre los principales problemas que resuelven se encuentran: Problema del agente viajero (Travelling Salesman Problem - TSP). Problema de asignacin de tareas (Task Assignment Problem). Ruteo en redes de telecomunicaciones. Entre otros.

C. Modelo de Redes Neuronales (Neural Networks Model) Vase en la seccin 1.2.5.

D. Optimizacin Colonia de hormigas (Ant Colony Optimization - ACO) Vase en la seccin 1.2.7. 18

1.2.7. Optimizacin Colonia de Hormigas Bsicamente, la meta heurstica Optimizacin Colonia de Hormigas (OCH) consiste de un conjunto de hormigas artificiales quienes cooperan entre s para encontrar buenas soluciones a problemas de optimizacin difciles. Para explicar este algoritmo empezaremos por sus inicios hasta describir dos de sus principales variantes. El comportamiento entre las hormigas de una colonia ha sido parte de numerosos estudios con el propsito de determinar cmo trabajan estos individuos para lograr una meta en comn, que es la bsqueda de una fuente de alimento. Un aspecto importante es la habilidad que estos insectos presentan para buscar caminos ms cortos del nido hacia la fuente de alimento, a pesar de no tener una visin que les permita tomar un determinado camino. La clave para conocer el por qu sucede este comportamiento es que las hormigas reaccionan ante una sustancia qumica depositada durante su recorrido llamada feromona, que resulta ser un tipo de comunicacin indirecta entre la colonia y para las hormigas esta presencia influye en la eleccin de su camino. Para comprobar que esto sucede as se realizaron experimentos [2], que dieron cierta informacin sobre la conducta de estos individuos, los cuales comentaremos a continuacin: En un primer experimento se tena dos puentes con la misma longitud y las hormigas iban del nido a la fuente y viceversa por las dos vas, dejando depsitos de feromona durante su camino. En un principio cada hormiga escoga ir por un puente de manera aleatoria, pero a medida que pasaba el tiempo y se depositaba feromona, estas preferan seguir el rastro con mayor presencia de feromona de manera probabilstica. Por otro lado, un segundo experimento demostr que al tener dos caminos con longitudes diferentes las hormigas se quedaban con el camino ms corto pasado un tiempo, lo cual suceda por una preferencia en regresar al nido tambin por el camino ms corto y por el hecho de que los caminos ms cortos son completados ms temprano que los largos.

19

Por tanto se pueden manejar 3 principios que dan a OCH una ventaja frente a otros algoritmos [2]: Estigmerga (Stigmergy): realizado durante la comunicacin a travs de la feromona. Comportamiento auto-cataltico (Autocatalytic): realizado mediante una retroalimentacin de lo recorrido. Evaluacin implcita (Implicit evaluation): realizado cuando la feromona es depositada con mayor frecuencia en caminos cortos. El algoritmo OCH adquiere este comportamiento de las hormigas reales para poder resolver problemas de optimizacin combinatoria y se basa en hormigas artificiales como agentes computacionales que trabajan en cooperacin a travs de rastros de feromona. En OCH, las hormigas artificiales construyen una solucin a un problema de optimizacin a travs de un grafo, cuya notacin es G (V, E), constituido por un conjunto de vrtices V y arcos E. Las hormigas se movilizan en este grafo, construyendo soluciones parciales, dejando adicionalmente depsitos de feromona dependiendo de la calidad de las soluciones encontradas. A continuacin se presenta la estructura general de un algoritmo OCH [4], para ms detalle de sus procedimientos vase la seccin 4.1.2:

Procedimiento Meta heurstica OCH ___________________________________________________________________ Inicializacin de parmetros. Mientras Condiciones no satisfechas hacer Actividades Programadas Construccin de soluciones Bsqueda local (Opcional) Actualizacin de feromonas Fin Actividades Programadas Fin Mientras _________________________________________________________________ Fin Procedimiento 20

La meta heurstica OCH mostrada est compuesta bsicamente por un paso de inicializacin y tres fases dentro una simple iteracin, las cuales se explica a continuacin: Inicializacin de parmetros Comprende el valor numrico constante de feromona que se deposita en cada arco, el nmero de hormigas, los pesos entre la informacin heurstica y probabilstica, entre otros. Construccin de soluciones Procedimiento donde las hormigas artificiales construyen soluciones de elementos de un conjunto finito de componente de soluciones disponibles

C= {Cij}, i=1,,n; j=1,,|Di|.


solucin parcial vaca,

Una solucin empieza a partir de una y luego se extiende agregando un

sp =

componente del conjunto de vecinos factibles un componente de

N(sp)

C. La eleccin de

N(sp)

es realizado de manera probabilstica en cada

paso de la construccin. Bsqueda local Procedimiento para cuando se decida realizar algunas otras acciones que sean requeridas una vez que las soluciones hayan sido construidas. Puede ser usada para implementar un problema en especfico. Actualizacin de feromonas Procedimiento necesario para evitar una muy rpida convergencia del algoritmo, adems de favorecer la exploracin de nuevos espacios incrementando valores de feromonas asociados a buenas soluciones y disminuyendo aquellos rastros de feromona que generan malas soluciones.

Agregando a lo anterior, se identifican 5 pasos necesarios para resolver un problema por la meta heurstica OCH, los cuales se describen a continuacin: El primer paso consiste en representar el problema planteado en forma de un grafo con arcos y nodos, por el cual las hormigas artificiales viajarn y construirn soluciones.

21

El segundo paso consiste en definir apropiadamente el rastro de feromona y el grado que ella influye. Este es un paso crucial en la implementacin de un algoritmo OCH. El tercer paso consiste en definir apropiadamente la preferencia heurstica para cada decisin que una hormiga ha de tomar mientras construye una solucin. El cuarto paso consiste en escoger un algoritmo en especfico, variante de OCH, y aplicarlo al problema que se quiere resolver. La eleccin depender del desarrollador y el contexto del problema. El quinto y ltimo paso consiste en ajustar los parmetros del algoritmo OCH hasta que sean encontrados buenos valores para el problema. Dentro de este paso se realiza el proceso de experimentacin, fundamental para hallar un buen nivel de exactitud en las soluciones. A continuacin se presentan con detenimiento dos variantes de la meta heurstica OCH, siendo una de ellas el algoritmo propuesto en este trabajo: A. Sistema de Hormigas (Ant System - AS) Es una de las primeras variantes de OCH, desarrollada por Dorigo, Maniezzo y Colorni en 1991 [3], donde su principal caracterstica es que los valores de la feromona son actualizados por todas las hormigas una vez que hayan completado su recorrido. Primero, todos los rastros de feromona

(Trs)

son reducidos por una constante,

implementando de esta manera la evaporacin.

Donde es el ratio de evaporacin entre 0 y 1. Segundo, cada hormiga de la colonia deposita una cantidad de feromona acorde a la calidad de su solucin (T rs).
k

Donde

r y s son dos nodos que forman el arco a, quien pertenece a la solucin de

la hormiga k. 22

Durante la construccin de soluciones, una hormiga


k

k elige ir al siguiente nodo en

base a la decisin probabilstica (p rs), por tanto tenemos:

Donde

son dos parmetros que miden la importancia relativa entre la

informacin heurstica

) y el rastro de feromona (

).

Adems

s es un

nodo que pertenece al conjunto de vecinos factibles

del nodo r.

B. Sistema Colonia de Hormigas (Ant Colony System - ACS) Es uno de los primeros sucesores del Sistema de Hormigas y es el algoritmo seleccionado para este proyecto de fin de carrera. Esta variante presenta 3 principales modificaciones [4]:

I.

Regla proporcional semi-aleatoria (pseudo-random proportional rule) Esta vez se usa una regla diferente de transicin, es decir, dada la hormiga

k ubicada en el nodo r, q0 es un parmetros en [0,1] y q un valor aleatorio


en [0,1], el prximo nodo

s es aleatoriamente escogido acorde a la siguiente


k

distribucin probabilstica (p rs).

23

Donde adems

y son dos parmetros que miden la importancia relativa ( )


y el rastro de feromona

entre la informacin heurstica Adems

).

es un nodo que pertenece al conjunto de vecinos factibles

del nodo r.

De esta manera se consigue tener un doble propsito, cuando

q <= q0

se

explota el conocimiento disponible, escogiendo la mejor opcin con respecto a la informacin heurstica y el rastro de feromona. Sin embargo, si se aplica una exploracin controlada, como la realizada en AS. II. Actualizacin de feromona fuera de lnea (offline pheromone update) Slo se considera una sola hormiga, la nica quien ha generado la mejor solucin global para realizar la actualizacin de la feromona. La frmula de actualizacin del rastro de feromona (Trs) es la siguiente:

q > q0,

Donde

es el ratio de evaporacin en (0, 1];

son dos nodos que

forman el arco a, quien pertenece a la mejor solucin encontrada. III. Actualizacin de feromona paso a paso (online step-by-step

pheromone trail update) Se aplica una actualizacin en lnea al momento de cada paso de la construccin de cada hormiga, es decir, realiza el proceso de evaporacin y depsito de la feromona con el objetivo de generar diferentes soluciones an por encontrar. Cada vez que una hormiga recorre un arco ars, se aplica la regla:

Donde es un segundo coeficiente de evaporacin en (0,1].

24

1.3.

Estado del arte

En esta seccin se explica cmo se resuelve el problema planteado actualmente, para ello se revisa el problema de optimizacin a ser resuelto, se mencionan los procedimientos computacionales diseados y se describen soluciones existentes, as como trabajos relacionados con el problema.

1.3.1. Problema del camino ms corto (Shortest Path Problem) Es el problema ms conocido de una red de caminos donde el objetivo es encontrar el camino ms corto entre dos pares de vrtices [25]. Hay muchas variantes relacionadas al problema del camino ms corto. Entre ellas tenemos las siguientes: El problema del camino ms corto s-t (s-t shortest path problem): donde se busca el camino ms corto desde un vrtice s hasta un t dado. El problema del camino ms corto desde/a una fuente (single-source shortest path problem): donde se busca los caminos ms cortos desde un vrtice s a todos los otros vrtices en el grafo. El problema del camino ms corto de todos los pares (all-pairs shortest path problem): donde se busca los caminos ms cortos de cada vrtice a otro.

1.3.2. Objeto de estudio: Problema del camino ms corto s-t Como se explica el problema del camino ms corto dado dos vrtices s y t consiste en hallar el camino ms corto entre estos vrtices en un grafo [21].

Objetivo El objetivo es hallar la trayectoria ptima que deber ser recorrida por la unidad encargada de realizar la solicitud de servicio de taxi.

Viabilidad La solucin es factible siempre y cuando se tenga un grafo con sus vrtices o nodos conectados y no se presenten valores negativos en los arcos del grafo.

25

Formulacin Dado un grafo dirigido

G (V, E)

y una funcin de variable real ponderada, el

camino ms corto p del vrtice s al vrtice t est dado por: Mn. Donde:

V es un conjunto de vrtices de 1 a n. E es un conjunto de aristas {(i, j): i, j pertenecen a V}.

1.3.3. Algoritmos que resuelven el problema Algoritmos Exactos Para resolver este tipo de problemas se han desarrollado principalmente los siguientes algoritmos:

A. Algoritmo Dijkstra El algoritmo de Dijkstra [5], tambin llamado algoritmo de caminos mnimos, es un algoritmo para la determinacin del camino ms corto dado un vrtice origen al resto de vrtices en un grafo dirigido y con pesos en cada arista. La idea subyacente en este algoritmo consiste en ir explorando todos los caminos ms cortos que parten del vrtice origen y que llevan a todos los dems vrtices; cuando se obtiene el camino ms corto desde el vrtice origen al resto de vrtices que componen el grafo, el algoritmo se detiene. El algoritmo es una especializacin de la bsqueda de costo uniforme, y como tal, no funciona en grafos con aristas de costo negativo (al elegir siempre el nodo con distancia menor, pueden quedar excluidos de la bsqueda nodos que en prximas iteraciones bajaran el costo general del camino al pasar por una arista con costo negativo). B. Algoritmo de Bellman-Ford Este algoritmo genera los caminos mnimos desde un solo origen de un grafo ponderado (alguno de ellos podrn ser negativos). El algoritmo de Dijkstra logra esta misma tarea con un coste de tiempo menor, pero requiere que los pesos de las aristas no sean negativos. 26

Es por eso, que el algoritmo de Bellman-Ford [6], se utiliza nicamente cuando hay aristas negativas presentes en el grafo. C. Algoritmo de Floyd-Warshall Este algoritmo obtiene la ruta ms corta entre todo par de nodos (todos contra todos). Itera sobre el conjunto de nodos que se permiten como nodos intermedios en los caminos [7]. Empieza con caminos de un solo salto y en cada paso ve si es mejor la ruta de la iteracin anterior o si por el contrario conviene ir por otro nodo intermedio ms.

Este algoritmo se puede aplicar a multitud de problemas, incluyendo el diseo de circuitos, el diseo de rutas de transporte, aproximaciones al problema del viajante de comercio, o como base de otros algoritmos ms complejos.

Algoritmos Bio-inpirados Como uno de los objetivos de este proyecto es aplicar un algoritmo bio-inpirado (Algoritmo Sistema Colonia de Hormigas), a continuacin se presentarn algunos trabajos relacionados que dan solucin al problema planteado: Un algoritmo gentico para resolver el problema del camino ms corto para mapas de carreteras [40]. Optimizacin de enjambre de partculas con meta heursticas ruidosas para resolver el problema del camino ms corto en una red [41]. Algoritmos Optimizacin Colonia de hormigas para problemas del camino ms corto [42]. Resolviendo el problema del camino ms corto por el algoritmo Colonia de Hormigas en vehculos con sistemas de navegacin [43].

27

1.3.4. Soluciones existentes y estudios relacionados A continuacin se detalla de manera breve algunas aplicaciones y trabajos relacionados: 1) Sistema digital de La Albericia Sistema informtico en la centralita de La Albericia ubicado en la ciudad de Santander, Espaa, que busca atender los servicios y enviar la orden al terminal del taxi, este centro tiene a tiempo real la ubicacin de cada vehculo, las llamadas de los clientes y dnde son requeridos los servicios [28]. Este sistema informtico es capaz de asignar en 2 o 3 segundos el taxi ms ptimo (ms prximo). 2) Sistema Integral de Gestin del Transporte Pblico Regular de Viajeros Sistema desarrollado con el fin de unificar la gestin de transporte en toda la flota de taxis en la ciudad de La Palma, Espaa, busca mediante unidad de gestin, control y vigilancia controlar una flota de 120 taxis y distribuir el trabajo de forma adecuada, permitiendo que cualquier taxista pueda desplazarse a cualquier punto, en funcin de su posicin [29]. 3) Sistema Inteligente de Bsqueda de Rutas para el Recojo de Basura en Municipios Sistema desarrollado por alumnos que pertenecen al grupo de inteligencia artificial de la Pontifica Universidad Catlica del Per y cuyo trabajo ocup el tercer puesto en el concurso Generando conocimiento de EQUIPU, categora perfiles [30]. 4) Anlisis, diseo e implementacin de un algoritmo meta heurstico GRASP que permita resolver el problema de rutas de vehculos con capacidad Tesis que implementa dos algoritmos meta heursticos GRASP que permita resolver el problema de ruteo de vehculos con capacidad uniforme considerando la demanda compartida en caso el cliente tenga mayor demanda que la capacidad del vehculo de reparto [26].

28

En la tabla 1.2 se presenta un cuadro comparativo de ciertas caractersticas de las aplicaciones y trabajos presentados, as como la solucin que se propone desarrollar. Anlisis, diseo e implementacin de un algoritmo meta heurstico GRASP que permita resolver el problema de vehculos con capacidad
Proveer rutas ptimas de reparto que permitan satisfacer la demanda de clientes. Algoritmo GRASP con mejora 2-OPT -Problema de ruteo de vehculos con capacidad. -Problema de embalaje de paquetes en 3 dimensiones. -Empleo de una constante de trfico.

Sistema digital de la Albericia

Sistema Integral de Gestin del Transporte Pblico Regular de Viajeros,

Sistema Inteligente de Bsqueda de Rutas para el Recojo de Basura en Municipios

Sistema de gestin de servicio de taxis, que optimice rutas de transporte (*)

Objetivo

Atender los servicios de taxi y ofrecer un servicio rpido y eficiente. No especifica

Gestionar el transporte por carretera de taxis mediante un control cartogrfico pionero. No especifica

Proveer rutas ptimas como solucin para el recojo de basura en municipios. Algoritmo Memticos -Problema de ruteo de arcos capacitados en un grafo mixto. -Empleo de una matriz de caminos ms cortos entre arcos. -Uso de una estructura de tipo cromosomtica sin delimitadores de viaje. Lima Per 2008

Proveer la mejor trayectoria para la solicitud de servicio de taxi. Algoritmo Sistema Colonia de Hormigas -Problema del camino ms corto. -Acotacin del grafo. -Empleo de una variable emprica para el problema del trfico ().

Algoritmo

Descripcin Algortmica

No especifica

No especifica

Lugar Ao

Santander Espaa 2006

La Palma Espaa 2008

Lima Per 2009

Lima Per 2010

Tabla 1.2 Tabla comparativa de aplicaciones y trabajos informticos existentes. (*) Sistema propuesto en el presente proyecto de fin de carrera.

29

1.4.

Plan del proyecto

1.4.1. Metodologa de gestin La planificacin inicial del proyecto se realizar bajo la metodologa PMBOK, documento usado por el PMI, relacionado a la gerencia de proyectos [10]. Segn el PMI, todo proyecto se compone de cinco procesos, a saber: Inicio, Planeamiento, Ejecucin, Control y Cierre. Estos procesos son temporales y en cada uno de ellos la disciplina propone acciones que giran en torno a nueve reas de conocimiento. La mencionada disciplina establece detalladamente todos los procesos incluidos en cada rea de conocimiento: qu hacer, qu informacin utilizar como entrada (input) y qu salida (output) generar. La razn por la que se consider esta metodologa es que permitir explicar de manera sencilla y prctica como se gestionar el proyecto en curso y cules sern los principales procesos que se realizarn durante la gestin. Adicionalmente se comentar como se vinculan dichos procesos. Este proyecto abarcar las siguientes reas del PMBOK: Administracin de la Integracin del Proyecto. Administracin del Alcance del Proyecto. Administracin del Tiempo del Proyecto. Administracin de la Calidad del Proyecto.

Adems, los entregables que sern realizados comprendern lo siguiente: Estructura de descomposicin del trabajo (EDT). Requerimientos del sistema. Presupuesto del proyecto. Medidas de control de calidad.

30

Administracin de la Integracin del Proyecto a. Desarrollo de la Definicin del Proyecto Es el paso inicial para el presente proyecto. Para esto se toma en cuenta el problema observado, se hace un anlisis del contexto del problema y se presenta una solucin. La definicin del proyecto es crtica durante toda su vida, ya que se debe especificar el problema a resolver, as como un alcance preliminar, para evitar tener que retroceder fases del proyecto y poder cubrir nuevos alcances que no fueron definidos en esta etapa.

b. Monitoreo y Control del Proyecto Durante el desarrollo del proyecto es importante realizar un monitoreo y control. Esto permitir detectar errores, excesos en las estimaciones y aplicar las correcciones necesarias para solucionar estas deficiencias.

c. Control Integral del Cambio Debido a que el proyecto realiza diferentes procesos en paralelo o en secuencia, los cambios realizados en algn proceso podran afectar a uno o ms procesos diferentes. Los cambios deben ser controlados para evitar futuros errores y proporcionar informacin suficiente para adaptarlos. Adems el proceso cumple la funcin de actualizar los entregables luego de los cambios realizados. Este proceso es incluido debido a las frecuentes observaciones que se darn por el asesor para mejorar el proyecto, as como la del jurado en la etapa previa a la sustentacin, el cual no debe de afectar el alcance dado por el presente proyecto.

d. Cerrar el Proyecto El proyecto, despus de conseguir sus objetivos o al ser terminado por otras razones, requiere un cierre. El cierre consiste en verificar y documentar los resultados para formalizar la aceptacin del producto del proyecto. Esto incluye la coleccin de archivos del proyecto, asegurndose que stos reflejan las especificaciones finales, el anlisis de xito y efectividad del proyecto, archivando tal informacin para uso futuro. 31

En la figura 1.2 se muestra la relacin de procesos dentro de la administracin del presente proyecto.

Figura 1.2 Plan de Proyecto: Administracin de la Integracin del Proyecto.

Administracin del Alcance del Proyecto a. Definicin del Alcance En esta etapa estarn plasmados los acuerdos tomados con el fin de cubrir con todo lo requerido, as como tambin se identificarn los objetivos del proyecto y los productos a entregar. La administracin del alcance del proyecto incluir todos los procesos que se

requieren para asegurar que el proyecto contenga nicamente el trabajo definido.

b. Creacin del EDT Se identificar y definir las tareas a realizar (alcances). Todo trabajo o tarea que no est incluida dentro del EDT (Estructura de Descomposicin del Trabajo) est fuera del alcance del proyecto. Cada nivel descendiente representa una descripcin ms detallada de los elementos del proyecto. 32

En la figura 1.3 se muestra la relacin de procesos dentro de la administracin del alcance del presente proyecto.

Figura 1.3 Plan de Proyecto: Administracin del Alcance del Proyecto.

Administracin del Tiempo del Proyecto

a. Definicin de las actividades Consiste en la identificacin y documentacin de las actividades que se van a realizar en el proyecto. Cada una de estas actividades debe tener un objetivo especfico que ayude a terminar correctamente el proyecto.

b. Definicin de secuencia de actividades La definicin de la secuencia de las actividades consiste en la documentacin de las dependencias y relaciones entre diferentes actividades. Ests deben de colocarse en el orden correcto para facilitar la creacin de un calendario realista y alcanzable.

33

c. Estimacin de duracin de actividades La estimacin de duracin de actividades consiste en determinar el nmero de perodos necesarios para completar cada una de las actividades previamente identificadas. Para calcular este nmero es necesario haber determinado la complejidad de la actividad a tratar. En la figura 1.4 se muestra la relacin de procesos dentro de la administracin del tiempo del presente proyecto.

Figura 1.4 Plan de Proyecto: Administracin del Tiempo del Proyecto.

34

Administracin de la Calidad del Proyecto a. Planeacin de la Calidad Identificar que estndares de calidad son relevantes al proyecto y determinar cmo satisfacerlos. Para ello se planificar cuales sern las pruebas de calidad para tener mejores resultados de la solucin y se tendr en cuenta el tiempo necesario para desarrollar un producto de calidad.

b. Llevar a cabo el control de la calidad Evaluar el desempeo general del proyecto de manera regular para as proveer la confianza de que el proyecto va a satisfacer los estndares de calidad relevantes. Se realizar el control de la calidad del proyecto haciendo las modificaciones correspondientes a los documentos o actividades que no pasen este control. En la figura 1.5 se muestra la relacin de procesos dentro de la administracin de la calidad del presente proyecto.

Figura 1.5 Plan de Proyecto: Administracin de la Calidad del Proyecto.

35

1.4.2. Etapas del proyecto Para poder realizar cada una de las tareas que se necesitan en el presente proyecto se ha elegido como base la metodologa Proceso Unificado Racional (Rational Unified Process - RUP).

a. Elaboracin del plan de tesis Esta etapa considera la elaboracin de este documento, el cual servir de base para las siguientes etapas.

b. Etapa de concepcin Esta etapa considera el proceso de investigacin que se realiz, incluyendo las entrevistas, levantamiento de informacin entre otras actividades con el fin de tener una idea clara del negocio y poder cumplir as con los objetivos del proyecto. Posteriormente se procede a realizar un anlisis, donde se construye el modelo del negocio mostrando sus propiedades importantes, durante esta de anlisis se abstrae de manera precisa lo que debe hacer el sistema deseado. Finalmente se prosigue a realizar los documentos respectivos siendo uno de los ms importantes la especificacin de requerimientos.

c. Etapa de elaboracin La etapa de Elaboracin analizar los requisitos y desarrollar el prototipo arquitectnico, que constituir el diseo a alto nivel. Adicionalmente se realizar el diseo de la interfaz grfica

d. Etapa de construccin En esta etapa se realiza la implementacin de los casos de uso identificados utilizando la herramienta computacional previamente definida. Se desarrolla la interfaz grfica, el motor lgico y un plan de pruebas definidas para el software. A continuacin en la figura 1.6 se presenta la estructura de descomposicin del trabajo (ETD) mediante una visin general de las etapas y principales entregables del proyecto.

36

Figura 1.6 Estructura de descomposicin del trabajo: EDT.

37

1.5.

Descripcin y sustentacin de la solucin

El objetivo del presente proyecto de fin de carrera es implementar un sistema de gestin de servicio de taxis que permita facilitar las siguientes actividades: a) Registrar las vas de las zonas que se tenga cobertura, obtenidos a partir de un modelo representativo de la ciudad. b) Registrar clientes. c) Registrar conductores. d) Registrar vehculos. e) Registrar tarifas. f) Atender y registrar de solicitudes de servicio. g) Anular solicitudes de servicio. h) Obtener las unidades disponibles y elegir la mejor disponible para brindar el servicio. i) j) Generar la ruta ptima para ofrecer el servicio. Generar reportes informativos y estadsticos de las operaciones.

k) Generar grficos estadsticos.

1.5.1. Componentes El sistema se compone de 4 mdulos claramente definidos: Mdulo de Seguridad Permite administrar a los usuarios asignndoles roles y permisos. Mdulo de Mantenimiento Permite realizar las operaciones de carga y registro de datos maestros. Mdulo de recepcin y asignacin de servicios Permite realizar las operaciones de atencin de solicitudes de servicios de taxi. 38

Mdulo de apoyo a la gestin del servicio Permite generar reportes informativos con grficos estadsticos de los servicios realizados.

En la seccin 2.2.1 se presenta un mayor detalle del contenido de cada mdulo.

1.5.2. Ventajas El sistema desarrollado permite las siguientes ventajas: a) Al llevar un registro y control de las unidades de la compaa, as mismo de los clientes, permite poder gestionar de mejor forma las solicitudes de servicio. b) La asignacin del taxista mejor disponible y la generacin de rutas ptimas propone reducir los costos de gasolina, disminuir el tiempo libre del taxista y eliminar las cancelaciones o anulaciones de los servicios, tambin llamados plantones. c) La utilizacin del algoritmo de optimizacin permitir minimizar el tiempo que dure la trayectoria del servicio, condicionado principalmente por factores como el nivel de trfico y distancia. d) El sistema busca ser una solucin de tipo on-line (en lnea), es decir, busca tener informacin real para brindar un servicio adecuado a las circunstancias de las zonas o calles. e) Es un sistema que brinda informacin til, de apoyo a la gestin, que permite realizar un seguimiento de cmo se est llevando la gestin de servicios y proveer informacin exacta para los siguientes servicios.

39

Captulo II: Anlisis


En este captulo se presentan primero la metodologa de desarrollo del proyecto que se utiliza, luego se indican los requerimientos del sistema, posteriormente se analiza la viabilidad del proyecto y finalmente se crea una definicin del sistema que constituya la base para todo el trabajo que se va a realizar.

2.1.

Metodologa de desarrollo del proyecto

Para el desarrollo del sistema de informacin de gestin de servicios de taxis que optimiza rutas de transporte se usar como base la metodologa Proceso Unificado Racional (Rational Unified Process - RUP) [11], el cual emplea el Lenguaje Unificado de Modelado (Unified Modeling Language - UML), que es adecuada para el presente proyecto de tesis por las razones que se describirn seguidamente.

40

En la figura 2.1 se presenta un grfico representativo de la metodologa en el que se observa las etapas y fases para el desarrollo de un proyecto.

Figura 2.1 Metodologa base para el proyecto: Estructura del RUP [11].

La seleccin de la metodologa RUP es adecuada porque contempla caractersticas fundamentales para el desarrollo del presente proyecto; algunas de las caractersticas de RUP que permite esto se presentan a continuacin [31]:

Dirigido por los Casos de Uso, herramienta que especifica los requisitos del sistema y gua las etapas de diseo e implementacin.

Ciclo de vida iterativo-incremental. Gestin de requisitos. Modelamiento visual a travs del Unified Modeling Language (UML).

A continuacin se describe brevemente cada una de las fases de la metodologa del proyecto, as como sus objetivos y resultados:

41

Concepcin Durante la fase de concepcin o inicio se define la oportunidad y el alcance. En el sistema se identificarn todas las entidades con las que se trata y se definir la interaccin a un nivel de abstraccin. Los objetivos de esta fase son: Establecer el mbito del sistema y sus lmites. Encontrar los Casos de Uso del sistema, los escenarios bsicos que definen la funcionalidad. Estimar el coste en recursos y tiempo de todo el proyecto.

Los resultados de la fase de concepcin del sistema deben ser: Plan del proyecto, mostrando fases e iteraciones. Catlogo de Requisitos completo. Modelo inicial de Casos de Uso (10-20% completado). Un modelo de negocios si fuese necesario.

Al terminar la fase de inicio se deben comprobar los criterios de evaluacin para continuar: Entendimiento de los requisitos, como evidencia de la fidelidad de los Casos de Uso principales. Credibilidad en las estimaciones, prioridades, riesgos y procesos de desarrollo.

Elaboracin El propsito de la fase de elaboracin en el presente proyecto es analizar el dominio del sistema, establecer los cimientos de la arquitectura y diseo, y eliminar los mayores riesgos que puedan presentarse en el sistema. Los objetivos de esta fase son: Definir, validar y cimentar la arquitectura del sistema. 42

Al terminar deben obtenerse los siguientes resultados para el sistema: Un modelo de Casos de Uso completo: todos los caso con sus especificaciones y actores identificados. Identificacin de entidades (diagrama de clases y diseo). Descripcin de la arquitectura software. Modelo inicial de la base de datos.

En la fase de elaboracin se actualizan todos los productos de la fase de inicio.

Construccin Durante esta fase todos los componentes, caractersticas y requisitos deben ser implementados, integrados y probados en su totalidad, obteniendo una versin aceptable del producto. Los objetivos concretos son: Analizar el dominio de la construccin del algoritmo. Se realizar el producto de software integrado y corriendo en la plataforma adecuada.

Los resultados de la fase de construccin deben ser: Modelos Completos (Casos de Uso, Anlisis, Diseo, Despliegue e Implementacin). Descripcin de tecnologa y patrones de programacin. Realizacin del diseo de pruebas. Arquitectura ntegra (mantenida y mnimamente actualizada). Prototipo Operacional.

Los criterios de evaluacin de esta fase son los siguientes: El producto es estable y maduro como para ser entregado.

43

2.2.

Identificacin de requerimientos

Para llevar a cabo la identificacin de requerimientos del sistema se contact con una empresa de taxis del Per, la eleccin de dicha empresa fue tomada principalmente por sus objetivos dentro de la industria del taxi y por tener la tecnologa como uno de sus valores para el logro de sus metas. En la tabla 2.1 se presenta la lista de exigencias para el mdulo de seguridad, la cual permite la recopilacin de los requerimientos funcionales de este mdulo.

Mdulo de Seguridad
N 1 2 3 4 5 Descripcin El sistema permitir registrar, modificar, eliminar y consultar usuarios. El sistema permitir registrar, modificar, eliminar y consultar roles. El sistema permitir asignar un rol a un usuario. El sistema permitir brindar autenticacin de usuarios mediante una contrasea. El sistema permitir modificar la contrasea del usuario. Dif. 3 2 3 3 3 Prio. 2 2 2 2 2 Ex. E E E E E

Tabla 2.1 Mdulo de Seguridad. En la tabla 2.2 se presenta la lista de exigencias para el mdulo de mantenimiento, la cual permite la recopilacin de los requerimientos funcionales de este mdulo.

Mdulo de Mantenimiento
N 1 2 El El sistema sistema Descripcin permitir permitir el el registro, registro, modificacin modificacin y y Dif. 3 2 Prio. 2 2 Ex. E E

eliminacin de clientes. eliminacin de los conductores.

44

Mdulo de Mantenimiento
N 3 El sistema Descripcin permitir el registro, modificacin y Dif. 3 Prio. 2 Ex. E

eliminacin de los vehculos. El sistema permitir el registro, modificacin y

eliminacin de las tarifas y cotizaciones. El sistema permitir el registro, modificacin y

eliminacin de lugares de referencia. El sistema permitir el registro y modificacin de parmetros de optimizacin. El sistema permitir el registro y modificacin de parmetros del sistema. El sistema permitir el registro de las vas. El sistema permitir la actualizacin del costo de las vas. El sistema permitir la actualizacin de los horarios de operacin para brindar servicio. Tabla 2.2 Mdulo de Mantenimiento.

10

En la tabla 2.3 se presenta la lista de exigencias para el mdulo de Recepcin y Asignacin de servicios, la cual permite la recopilacin de los requerimientos funcionales de este mdulo.

Mdulo de Recepcin y Asignacin de servicios


N 1 2 3 Descripcin El sistema permitir el registro, modificacin y anulacin de una solicitud de servicio. El sistema permitir el registro, modificacin y anulacin de una reserva. El sistema permitir la asignacin de la unidad ms disponible para un servicio. Dif. 1 1 2 Prio. 1 1 1 Ex. E E E

45

Mdulo de Recepcin y Asignacin de servicios


N 4 5 6 7 8 9 Descripcin El sistema permitir realizar un seguimiento del estado de las unidades. El sistema permitir realizar consultas de clientes. El sistema permitir realizar consultas de solicitudes. El sistema permitir realizar consultas de reservas. El sistema permitir obtener y registrar la ruta ptima para atender un determinado servicio. El sistema permitir mostrar una interpretacin de la ruta ptima obtenida. Dif. 2 2 2 2 1 1 Prio. 3 2 2 2 1 2 Ex. E E E E E D

Tabla 2.3 Mdulo de Recepcin y Asignacin de servicios.

En la tabla 2.4 se presenta la lista de exigencias para el mdulo de Apoyo a la Gestin, la cual permite la recopilacin de los requerimientos funcionales de este mdulo.

Mdulo de Apoyo a la Gestin de servicios


N 1 2 3 4 Descripcin El sistema permitir generar reportes de solicitudes atendidas. El sistema permitir generar reportes de reservas atendidas. El sistema generar reportes estadsticos mensuales y anuales de solicitudes tanto realizadas como anuladas. El sistema generar reportes estadsticos mensuales y anuales de solicitudes y reservas por cada distrito. Dif. 2 2 1 1 Prio. 1 1 1 1 Ex. E E E E

46

Mdulo de Apoyo a la Gestin de servicios


N 5 6 Descripcin El sistema generar reportes estadsticos de distritos con mayor frecuencia de solicitudes. El sistema permitir mostrar grficos en los reportes estadsticos. Dif. 1 1 Prio. 1 1 Ex. E E

Tabla 2.4 Mdulo de Apoyo a la Gestin de servicios. En la tabla 2.5 se presenta la lista de exigencias para los requerimientos no

funcionales con los que el sistema deber cumplir.

Requerimientos No funcionales
N Descripcin El sistema deber permitir terminar la sesin, cerrando todas las ventanas devolviendo el control a la pantalla principal. El sistema trabajar bajo el sistema operativo Linux. Dif. Prio. Ex.

El sistema trabajar bajo el sistema operativo Windows. El sistema emplear el manejador de base de datos MySQL. El sistema deber mostrar al usuario el resultado de sus acciones (mensajes de confirmacin, error, etc.). El sistema deber tener un entorno grfico de ventanas. La herramienta incluir un instalador y manual de usuario. La arquitectura del sistema seguir el modelo clienteservidor. Tabla 2.5 Requerimientos No Funcionales.

47

Dif/Prio: Dificultad / Prioridad Valores 1 2 3 Descripcin Alta Media Baja

Ex: Exigible o deseable Valores Descripcin E Exigible D Deseable

2.2.1. Diagramas de caso de uso En este punto se presentan los casos de uso que se han elaborado para el sistema a partir de la especificacin de requisitos, los cuales permiten mostrar en alto nivel las funcionalidades que el sistema realizar. En el anexo A se visualizar el detalle de cada caso de uso descrito. I. Catlogo de actores En la figura 2.2 se muestra el Catlogo de Actores que interacta con el sistema, los que se describen a continuacin.

Figura 2.2: Catlogo de actores. Administrador del Sistema: Usuario que debe conocer por completo el sistema y que poseer conocimientos suficientes sobre computacin. Esta persona que registrar y brindar acceso a travs de perfiles a los otros usuarios del sistema, siguiendo las polticas de seguridad y tica. Adems se encargar de configurar y dar soporte al sistema para que cumpla con los objetivos que desea la empresa. 48

Operador: Este usuario maneja las operaciones del negocio que corresponde a los procesos operativos de la empresa como atencin de solicitudes de servicios, registro de servicios a atender y anulacin de solicitudes. Adems de asignar la unidad ms disponible a una solicitud de servicio.

Jefe de Operaciones: Es aquel usuario que realiza los mantenimientos pertinentes del sistema para las operaciones de la empresa, as como tiene la funcin de generar reportes en base a la informacin recibida. Adems estar a cargo de la administracin de los datos maestros necesarios para que el operador pueda interactuar con el sistema. Se asume que este usuario posee educacin superior y por lo tanto posee un manejo intermedio de computacin como tambin debe tener mayor conocimiento del negocio de la empresa.

II.

Casos de uso

El sistema en desarrollo propuesto consta de 4 mdulos: Mdulo de Seguridad, Mdulo de Mantenimiento, Mdulo de Recepcin y Asignacin de Servicios, y Mdulo de apoyo a la gestin de servicios. A continuacin se presenta los casos de uso de cada mdulo.

A. Mdulo de Seguridad Este mdulo contiene los casos de uso relacionados con la administracin de usuarios y asignacin de roles que determinar su comportamiento en el sistema. Que permita el registro de usuarios del sistema. Que permita el registro de roles para clasificar a los usuarios. Que permita la asignacin de roles a los usuarios. Que permita la modificacin de la contrasea del usuario.

Los casos de uso que se han elaborado para este mdulo son los que se muestran grficamente en la figura 2.3.

49

Figura 2.3 Diagrama de casos de uso del mdulo de Seguridad.

Actualizar contrasea El sistema permitir al usuario cambiar la contrasea para acceder al sistema.

Mantener roles El sistema permitir administrar los roles que permitirn controlar la participacin de cada usuario del sistema.

Mantener usuarios El sistema permitir administrar a los usuarios del sistema para poder definir posteriormente el rol que toma cada uno y su participacin en el negocio.

B. Mdulo de Mantenimiento Este mdulo contiene los casos de uso relacionados con la administracin de datos maestros del sistema para funcionalidades que cumplan los objetivos que se detallan a continuacin. Que permita el registro de las vas (avenidas, calles, pasajes, etc.), donde circulan las unidades, adems este registro ser actualizado de tal manera que tenga una informacin real para el sistema. Que permita el registro de elementos fundamentales para la operacin como clientes, conductores y vehculos.

50

Que contenga un catlogo con las unidades de la empresa de taxis. Que permita el registro de tarifas y cotizaciones del servicio. Que permita el registro de parmetros del sistema y de optimizacin. Los casos de uso que se han elaborado para este mdulo son los que se muestran grficamente en las figuras 2.4, 2.5 y 2.6.

Figura 2.4 Diagrama de casos de uso del mdulo de Mantenimiento.

Figura 2.5 Diagrama de casos de uso del mdulo de Mantenimiento.

51

Figura 2.6 Diagrama de casos de uso del mdulo de Mantenimiento.

Configurar parmetros del sistema El sistema permitir la configuracin de parmetros generales del sistema relacionados a las actividades operativas. Configurar parmetros de optimizacin El sistema permitir la configuracin de parmetros del algoritmo a emplear para generar la ruta ptima.

Mantener clientes El sistema permitir poder administrar la informacin de los clientes organizacionales y particulares. Mantener conductores El sistema permitir administrar la informacin de los conductores o taxistas, as mismo sirve para realizar un seguimiento sobre sus labores. Mantener vehculos El sistema permitir poder administrar la informacin sobre las unidades vehiculares con las que cuenta la empresa. Mantener tarifas y cotizaciones El sistema permitir administrar el costo de los servicios ofrecidos. Mantener lugares de referencia El sistema permitir administrar lugares tomados como referencia para una mejor ubicacin como centro de estudios, centros comerciales, etc. Cargar Grafo El sistema permitir registrar una representacin de las vas para obtener la trayectoria ptima. Configurar vas El sistema permitir configurar las vas que formarn parte del recorrido de las unidades, limitadas por la cobertura operativa de la empresa. 52

Configurar horarios de operacin El sistema permitir actualizar el intervalo de horas durante el da por el cual se pueda distinguir tiempos con mayor congestin, trfico, etc.

C. Mdulo de Recepcin y Asignacin de Servicios Este mdulo presenta los casos de uso que corresponden a las funciones principales para atender un servicio con funcionalidades que cumplan los siguientes objetivos. Que permita registrar solicitudes de servicio y reservas. Que permita consultar solicitudes de servicio y reservas. Dar seguimiento a las unidades disponibles. Asignar una unidad al servicio. Generar la ruta ptima para ofrecer el servicio. Los casos de uso que se han elaborado para este mdulo son los que se muestran grficamente en la figuras 2.7, 2.8 y 2.9.

Figura 2.7 Diagrama de casos de uso del mdulo de Recepcin y Asignacin de servicios.

Figura 2.8 Diagrama de casos de uso del mdulo de Recepcin y Asignacin de servicios.

53

Figura 2.9 Diagrama de casos de uso del mdulo de Recepcin y Asignacin de servicios.

Registrar Solicitudes de Servicio El sistema permitir el registro de una solicitud de servicio cuando el cliente llame a la central. Registrar Reservas El sistema permitir el registro de una reserva cuando el cliente llame a la central. Consultar clientes El sistema permitir realizar la consulta a determinado cliente para seguir con el registro del servicio. Consultar solicitudes El sistema permitir realizar la consulta de solicitudes y reservas para conocer el estado en el que se encuentran. Consultar unidades El sistema permitir realizar el seguimiento de las unidades actualmente disponibles al momento de generar una solicitud de servicio. Iniciar Servicio El sistema permitir registrar aquellas solicitudes como servicios una vez la unidad se encuentre con el cliente y listo para ofrecer el servicio. Obtener Trayectoria ptima El sistema permitir asignar la ruta ptima para cada servicio por atender. Anular Solicitudes El sistema permitir anular solicitudes de servicios y reservas ya sea por algn error operativo o el cliente no cuenta con las aprobaciones necesarias. 54

D. Mdulo de apoyo a la gestin Este paquete contiene los casos de uso para brindar informacin de apoyo a la gestin con funcionalidades que cumplan ciertos objetivos. Obtener reportes de solicitudes y reservas realizadas. Obtener reportes de solicitudes anuladas. Obtener reportes de servicios reservados. Proporcionar grficos estadsticos. Los casos de uso que se han elaborado para este mdulo son los que se muestran grficamente en la figura 2.10.

Figura 2.10 Diagrama de casos de uso del mdulo de Apoyo a la Gestin.

Generar reportes informativos de solicitudes y servicios El sistema permitir generar reportes con la informacin de solicitudes y reservas atendidas, entre las cuales se encuentran: identificador de solicitud, fecha de registro, punto de recojo, punto de destino, costo, cliente y conductor.

Generar reportes estadsticos El sistema permitir generar reportes con informacin y grficos estadsticos. Para las solicitudes y reservas de servicio, el sistema generar reportes estadsticos mensuales y anuales por distrito. Para las solicitudes y reservas de servicio tanto realizadas como anuladas, el sistema generar reportes estadsticos mensuales y anuales. Para los distritos donde hay cobertura del servicio, el sistema generar reportes que permitir identificar cuales tienen una mayor frecuencia de solicitudes.

55

2.3.

Anlisis de la solucin

2.3.1. Viabilidad El objetivo de esta seccin del documento es realizar un estudio detallado del sistema que permita satisfacer las necesidades del usuario usando las tecnologas disponibles viable. Esto se logra mediante la evaluacin de una serie de factores, entre los que se encuentran la viabilidad econmica, (es decir los costos de desarrollo del sistema sopesado con los beneficios obtenidos por su implementacin), viabilidad tcnica (funcin, rendimiento y restricciones que puede afectar la implementacin de un sistema) y alternativas (una evaluacin de las posibles soluciones alternativas al desarrollo del sistema.) y teniendo adems mecanismos de control para su buen funcionamiento. De esta manera se determina en forma objetiva si el proyecto es

2.3.2. Anlisis Tcnico y Econmico A continuacin se presenta una evaluacin del sistema que comprende un anlisis tcnico y econmico del mismo.

Anlisis Tcnico Para desarrollar el sistema propuesto basado en su descripcin se usar el lenguaje de programacin Java JDK 6, para el almacenamiento de datos se usar el motor de base de datos MySQL Server 5.1, el sistema operativo ser Windows y se trabajar con IDE de NetBeans. Es decir, tcnicamente es viable porque el sistema ha implementar tiene los medios tcnicos para su desarrollo y construccin. Anlisis Econmico El anlisis econmico involucra a todos los factores econmicos que nos permitan llevar a cabo el desarrollo del sistema. Dando como resultado final un monto que nos indica cunto costara desarrollar el sistema y por tanto poder ver en el aspecto econmico si el sistema es viable o no. A continuacin, en la tabla 2.6 se presenta un presupuesto que describe los costos involucrados en el desarrollo del sistema:

56

Presupuesto para el desarrollo


Actividades Esfuerzo (Das) Horas Diarias Esfuerzo Total (Horas) (*) 210 70 385 35 Total Laborales Costo (USD)

Laborales Anlisis Diseo Implementacin Pruebas No Laborales Transporte Materiales Impresiones Otros gastos

60 20 110 10

3.5 3.5 3.5 3.5

840 280 1540 140 2800 150 70 120 30 370 3170

Total No Laborales Total Tabla 2.6 Presupuesto para el desarrollo. (*) Costo Horas Hombre: $ 4.00.

2.3.3. Asignacin de Funciones Hardware El hardware cumplir la funcin de servir de soporte para los aplicativos que se desarrollen. El hardware hace funcionar el sistema operativo sobre el cual funciona el sistema de informacin. El hardware, las computadoras y el servidor, debe brindar una disponibilidad de 24 horas al da, que es el tiempo diario de trabajo de la mayora de empresas que brinda servicios de taxis. Durante el tiempo de funcionamiento el hardware no debe tener fallas. Se usar la arquitectura Cliente Servidor por prestarse a las caractersticas de una central, adems una organizacin de este tipo no requiere de una arquitectura complicada para desenvolver sus labores con eficiencia.

57

Software El software empleado en la solucin est compuesto por el sistema operativo Windows, el lenguaje de programacin Java y el manejador de base de datos MySQL Server que alojar la informacin. El sistema operativo funciona como plataforma para el funcionamiento del sistema de informacin, se ha seleccionado Windows por ser amigable y familiar para los usuarios; el lenguaje de programacin Java que servir para su construccin por ser totalmente libre y contar con entornos de desarrollo integrado (IDEs) tambin gratuitos; el tipo de empresas, para lo cual est destinada este proyecto, trata de invertir la menor cantidad de capital en tecnologas de informacin, es por ello que uno de los criterios de evaluacin fue el costo.

Usuarios Bsicamente, el sistema ser manejado por tres usuarios. Los operadores, quienes realizarn las labores anteriormente descritas como la recepcin de solicitudes de servicios, asignacin de unidades y generacin de rutas ptimas. El jefe de operaciones, quien estar encargado del registro de conductores y unidades de trabajo, de las tarifas y cotizaciones, de datos para la informacin real del estado de las zonas y calles, adems de generar los reportes pertinentes. Por ltimo el usuario administrador, quien tendr acceso a toda la funcionalidad del sistema. Para este sistema se contar con un determinado rol y sus respectivos permisos.

2.3.4. Restricciones de Costo y Tiempo El presente proyecto de fin de carrera no tiene restricciones econmicas por utilizar herramientas libres, como es el caso del entorno de desarrollo integrado NetBeans para el lenguaje de programacin Java, MySQL Workbench para modelar la base de datos, ArgoUML para el diseo de diagramas bajo el estndar UML e iReport para disear los reportes. Por otra parte en lo que respecta a recursos humanos, se debe de tener en cuenta el costo del alumno involucrado por el desarrollo del software. (Ver Tabla 2.6)

58

En cuanto al tiempo, el presente proyecto de fin de carrera presenta restricciones ajustadas al plan de proyecto especificado en el Captulo I y debe de estar disponible en la fecha definida para su entrega.

2.3.5. Diagrama de clases de anlisis Las clases de anlisis que se han definido para la realizacin del sistema son las que se muestran en el anexo B. 2.3.6. Diagrama de paquetes En la presente seccin se describe los mdulos del sistema y las dependencias que existen entre estos se muestran en la figura 2.11. Mdulo Seguridad. Mdulo Mantenimiento. Mdulo Recepcin y Asignacin de Servicios. Mdulo de Apoyo a la Gestin.

Figura 2.11 Diagrama de Paquetes.

59

Captulo III: Diseo


El objetivo de este captulo es presentar la arquitectura del sistema y el diseo de las interfaces grficas de tal manera que satisfaga las necesidades del presente proyecto.

3.1.

Arquitectura de la solucin

La decisin de qu arquitectura se utilizar es fundamental, por tanto debe seleccionarse de acuerdo a las expectativas de crecimiento y los servicios que se deseen ofrecer. En este sentido, la definicin de la arquitectura de la solucin para este proyecto busca que la aplicacin sea flexible, coherente, eficiente y sencilla de utilizarse, pues ste es el diseo de ms alto nivel de la estructura de un sistema de informacin.

60

Algunas consideraciones que la arquitectura deber de tomar respecto al sistema son: El sistema debe soportar las funciones de la empresa definidas anteriormente en la lista de requerimientos (Ver seccin 2.2), plasmndolo en una base de datos relacional. El acceso al sistema se realizar por medio de las computadoras que se encuentren conectadas a travs de una misma red y cuenten con el sistema instalado. El sistema proporcionar una interfaz grfica para que el usuario pueda realizar las operaciones que le correspondan.

La arquitectura empleada para la programacin del Sistema de Informacin es de 3 capas. La interaccin entre stas es mostrada en la figura 3.1 y se describe cada capa en la tabla 3.1.

Figura 3.1 Arquitectura de la solucin.

61

Arquitectura de la solucin Capa Descripcin Representa la capa de Interfaz de Usuario y contiene las clases que permiten al usuario interactuar con el sistema mostrando los elementos GUI (ventanas, botones y controles) con los cuales se accede a las funcionalidades del sistema. Representa la capa lgica del negocio y contiene las clases que permitirn realizar las operaciones del negocio (consultas, procesos y mantenimientos). Estas clases se encuentran en los paquetes de mantenimiento, atencin y servicios, y apoyo a la gestin. Representa la capa de datos y contiene todas las clases que proveen mecanismos de acceso a la base de datos del sistema. Se encarga de las Consultas y Procesos a la Base de Datos.

Capa de presentacin

Capa de negocio

Capa de datos

Tabla 3.1 Arquitectura de la solucin. 3.1.1. Tecnologa Requerida Las estaciones de trabajo deben tener conexin a la red local (LAN) de la que es parte el servidor de base de datos; de ello depende el funcionamiento del sistema, sino no se podr acceder a la informacin. Existirn mltiples instancias del Cliente, las que podrn acceder de manera simultnea a la informacin de la base de datos. El sistema debe ser capaz de manejar la demanda simultnea de los usuarios de los mdulos de Mantenimiento, Atencin de servicios y apoyo a la gestin. 3.1.2. Diagrama de Despliegue En esta seccin del documento se muestra cmo y dnde se desplegar el sistema, por ello la construccin interna estar conformada por 2 nodos: Terminal cliente y Servidor de Base de Datos. La vista de despliegue que se muestra en la figura 3.2 permite conocer cada unos de los nodos fsicos donde se encuentran cada una de las distintas capas de la aplicacin. 62

Figura 3.2 Diagrama de Despliegue. [Fuente Propia] En la tabla 3.2 se describen brevemente los nodos anteriormente mencionados. Descripcin de los nodos Nodo Terminal Cliente Descripcin Representa el equipo en el cual se desplegar la interfaz de usuario y los procesos de manejo de la lgica de negocio.

Servidor de Base de Representa el nodo en el cual se desplegar la Datos administracin de la base de datos. Tabla 3.2 Descripcin de los nodos.

3.1.3. Diagrama de Componentes Los diagramas de componentes describen los elementos fsicos del sistema y sus relaciones. Muestran las opciones de realizacin incluyendo cdigo fuente, binario y ejecutable. Los componentes representan todos los tipos de elementos software que entran en la fabricacin de aplicaciones informticas, pueden ser simples archivos, paquetes, bibliotecas cargadas dinmicamente, etc. Las relaciones de dependencia se utilizan en los diagramas de componentes para indicar que un componente utiliza los servicios ofrecidos por otro componente [32].

Un mdulo de software se puede representar como componente. Algunos componentes existen en tiempo de compilacin, algunos en tiempo de enlace y algunos en tiempo de ejecucin.

En la figura 3.3 se visualiza el diagrama de componentes, el cual contiene los componentes que forman parte de la solucin del presente proyecto. 63

Figura 3.3 Diagrama de Componentes. [Fuente Propia]

3.1.4. Modelo de base de datos El propsito de este artefacto es mostrar el modelo de base datos que se va a utilizar para apoyar la persistencia de datos del proyecto en los diferentes mdulos del proyecto. En este diagrama se definen las tablas que usar el sistema, as como los atributos de cada una y las relaciones con las dems tablas. Diagrama Entidad Relacin La base de datos presentar dos esquemas distintos debido a la funcionalidad para la que es indispensable cada uno. El primer esquema es del negocio y contiene las tablas que permitirn el correcto funcionamiento de la empresa. El segundo esquema es el modelo de rutas y contiene las tablas que permitirn representar tanto el grafo como la zona geogrfica presente. A continuacin ambos esquemas se visualizan en las figuras 3.4 y 3.5 respectivamente. 64

Figura 3.4 Diagrama Entidad Relacin: Esquema Negocio.

65

Figura 3.5 Diagrama Entidad Relacin: Esquema Grafo.

66

3.2.

Diseo de Interfaz Grfica

Se van a detallar los criterios para el diseo de la interfaz grfica de usuario (GUI) tales como: componentes, caractersticas y propiedades que tendrn las pantallas para facilitar la interaccin con el usuario. 3.2.1. Principios Bsicos La Interfaz Grfica debe cumplir lo siguiente: El sistema es dirigido por el usuario. Los usuarios tienen el control del dilogo. El sistema se encarga de la asociacin de datos-programas. Debe ser consistente con los datos.

3.2.2. Sobre el diseo en general Usabilidad El uso de la interfaz se realizar a travs del teclado y el mouse. El mouse se utilizar para seleccionar componentes y comandos independientes dentro de la pantalla. El teclado se usar para el ingreso de datos y para seleccionar componentes y comandos de manera ordenada a travs de la tecla Tab, de izquierda a derecha y de arriba abajo. Si se encuentra en el ltimo componente, al presionar la tecla Tab, el foco regresa al primero. Presentacin Se refiere al aspecto visual de la interfaz. Los sistemas tienen dos tipos de elementos a presentar: Objetos: Cualquier objeto manipulable, son el centro de atencin del usuario. Acciones: Permiten al usuario crear o manipular objetos.

Entre las consideraciones de presentacin estarn: Se emplear diferentes colores en la interfaz grfica para diferenciar los componentes no editables de lo editables. 67

A cada usuario que acceda al sistema, se le mostrar inicialmente en el cuerpo de la pantalla una imagen distintiva (logo de la organizacin).

Todas las ventanas del sistema estn compuestas de la siguiente forma: barra de herramientas, cabecera y cuerpo.

Acciones Se refiere a las opciones que los componentes del sistema ofrecen al usuario. Estas opciones se describirn segn los componentes

Navegacin Para la navegacin se tiene en cuenta la forma en que se presentan las pantallas del sistema de acuerdo al flujo desde que el usuario ingresa al sistema. Primero se muestra la ventana de acceso al sistema, una vez que el usuario acceda al sistema, se cerrar esta ventana y se abrir la ventana principal del sistema donde el usuario podr ver las opciones que le correspondan segn el perfil de usuario al cual pertenece. La ventana principal contar con un rea de trabajo donde se abrirn ventanas internas para cada opcin del men seleccionada. El usuario realizar mantenimientos, registros, actualizacin de informacin, consultas y reportes a travs de las ventanas internas. 3.2.3. Diseo de pantallas A continuacin se describen el diseo de algunas pantallas del Sistema con las caractersticas antes mencionadas. Ventana de Autenticacin de usuario La funcionalidad de esta ventana es permitir autenticar al usuario que desee ingresar al sistema, de esta manera se tendr un control de acceso para la seguridad de las operaciones. En la figura 3.6 se puede visualizar el diseo de esta ventana.

68

Figura 3.6 Ventana Autenticacin de Usuario. Ventana Principal del sistema La funcionalidad de esta ventana es permitir al operador tener acceso a las operaciones correspondientes a la atencin de algn servicio y mostrar el estado de las solicitudes, as como de las unidades disponibles. En la figura 3.7 se puede visualizar el diseo de esta ventana.

Figura 3.7 Ventana Principal del sistema. Ventana de Mantenimiento Estndar La funcionalidad de esta ventana es permitir el registro, actualizacin y eliminacin de empleados, vehculos, clientes, etc. Correspondientes al mdulo de Mantenimiento, de esta manera el uso del sistema ser simple y rpido para los usuarios. En la figura 3.8 se puede visualizar el diseo de esta ventana. 69

Figura 3.8 Ventana de Mantenimiento Estndar. Ventana de Registro de Solicitud La funcionalidad de esta ventana es permitir el registro de solicitudes de servicio de taxi, con todos los requisitos para poder ingresar una solicitud. Esta ventana corresponde al mdulo de Recepcin y Asignacin de servicios, en la figura 3.9 se puede visualizar su diseo.

Figura 3.9 Ventana de Registro Estndar. 70

Ventana de Reporte Informativo de Solicitudes La funcionalidad de esta ventana es brindar informacin de los servicios realizados como nmero de solicitud, fecha de registro, punto de recojo, punto de destino, costo, cliente y conductor, durante un periodo dado. Esta ventana corresponde al mdulo de Apoyo a la Gestin y se puede visualizar su diseo en la figura 3.10.

Figura 3.10 Ventana de Reporte Informativo de Solicitudes. Ventana de Reporte Estadstico de Solicitudes La funcionalidad de esta ventana es generar informacin especfica al momento de tomar decisiones para la correcta gestin operativa. Esta ventana corresponde al mdulo de Apoyo a la Gestin y se puede visualizar un ejemplo en las figuras 3.11.

Figura 3.11 Ventana de Reporte Estadstico de Solicitudes. 71

Captulo IV: Construccin


El objetivo de este captulo es describir las decisiones relacionadas a la construccin de la solucin, as como la estrategia de pruebas utilizada y el resultado de la ejecucin de estas pruebas.

4.1.

Construccin

4.1.1. Tecnologa usada Sistema Operativo Windows Es un sistema operativo desarrollado por Microsoft, disponible para entornos informticos, incluyendo computadoras domsticas o de negocios. Para el desarrollo de la presente solucin se recurre a este sistema operativo tanto por poseer una interfaz de uso ms fcil para el usuario como por integrarse con el entorno de desarrollo NetBeans y el sistema de administracin de base de datos MySQL. 72

Lenguaje Java La seleccin de java es debido al alto rendimiento que se consigue con su uso en aplicaciones robustas sobre mltiples plataformas en redes heterogneas y distribuidas [33]. Es un lenguaje completamente orientado a objetos lo cual facilita el desarrollo del sistema propuesto. Se recurre al uso de esta tecnologa por su facilidad de uso y portabilidad debido a ser de arquitectura neutral, lo que permite que la aplicacin resultante sea adaptable tanto a Linux como a Windows. Tambin es usada por la experiencia que se cuenta en su uso, lo cual provee mayor eficiencia en el desarrollo. Sistema de gestin de base de datos MySQL El software MySQL proporciona un servidor de base de datos SQL (Structured Query Language) muy rpido, multiusuario y robusto. El servidor MySQL est diseado para entornos de produccin crticos, con alta carga de trabajo as como para integrarse en software para ser distribuido [34]. Esta tecnologa forma parte de la solucin por soportar todos los tipos de dato y caractersticas necesarios para el desarrollo del presente proyecto. Adems, es bastante estable, disminuye los costos de mantenimiento y es de uso gratuito. Entorno de Desarrollo NetBeans El entorno de desarrollo integrado (IDE) NetBeans supera los puntos dbiles asociados con otras plataformas de desarrollo, y abre nuevas posibilidades para crear en forma rpida y eficientemente aplicaciones multiplataforma [35]. En su ncleo, el IDE NetBeans es una herramienta de desarrollo para Java escrita empleando tecnologa Java pura, por lo que se ejecuta en cualquier parte donde se ejecute Java, lo cual es, por supuesto, en casi todas partes. Para el desarrollo de la presente solucin se utiliza NetBeans 6.0 debido a que es un producto de cdigo abierto, hace el desarrollo ms eficiente y permite ahorrar cientos de horas de tiempo al realizar la implementacin. Adems de poder integrarse con elementos crticos requeridos para el sistema como es el caso del componente IReports para la generacin de reportes. A continuacin, se describen las tecnologas ms representativas utilizadas en el sistema propuesto, para ms detalle ver el anexo E.

73

IReports Es un software para el diseo de informes visuales, poderoso, intuitivo y fcil de usar que puede ser mostrado en formatos como PDF, OpenOffice, DOCX y muchos otros [36]. Para ello hace uso de JasperReports, la librera de reportes para Java ms popular y de cdigo abierto. De esta manera si IReports permite disear reportes, JasperReports permite ejecutarlos y generarlos en una aplicacin hecha en Java. Se requiere el uso de esta tecnologa para la generacin de reportes en formato PDF con informacin grfica, que se utilizar en el mdulo de apoyo a la gestin para brindar informacin estadstica de las operaciones realizadas.

Software Grafos Es un software para la construccin, edicin y anlisis de grafos [37], por tanto pretende ser de utilidad para la docencia y el aprendizaje de la teora de grafos, y otras disciplinas relacionadas como la ingeniera de organizacin industrial, la logstica y el transporte, investigacin operativa, diseo de redes, etc. De esta manera Grafos se puede usar perfectamente para el modelado y resolucin de problemas reales. Esta herramienta es til por permitir disear y construir un grafo, requerido por el algoritmo, a partir de la imagen de un mapa distrital representativo; adems, cuenta con la posibilidad de exportar e importar los datos del grafo al formato de fichero estndar GraphML.

GraphML File Format GraphML es un formato comprensible y fcil de usar para especificar grafos. Consta de un ncleo de lenguaje capaz de describir las propiedades estructurales de un grafo, y un mecanismo flexible de extensiones para agregar informacin especfica para cada aplicacin [38]. Es decir, no incluye obligatoriamente las propiedades de dibujo, a diferencia de otros formatos como el SVG (Scalable Vector Graphics), ms bien se centra en especificar un grafo nicamente con propiedades tiles para los algoritmos. Para la carga del grafo con el registro de zonas y calles se hace uso de este formato por ser un fichero de estructura XML y especialmente hecho para el lenguaje Java, por tanto ser de utilidad para el desarrollo de la presente solucin. 74

4.1.2. Algoritmo de optimizacin propuesto Las razones por las cuales se selecciona la meta heurstica OCH como algoritmo de optimizacin son las siguientes: Forma parte de un inters acadmico del presente, para desarrollar un sistema de informacin que haga uso de la inteligencia bio-inspirada para resolver el problema de la ruta ptima. Forma parte de la familia de algoritmos meta heursticos reconocidos como promesas para resolver problemas difciles de optimizacin combinatoria. Es actualmente un campo de investigacin maduro.

Se pretende aplicar de la mejor manera el algoritmo de optimizacin propuesto en este proyecto de fin de carrera, por tal motivo se seguir 5 pasos para resolver el problema planteado por la meta heurstica OCH (Ver seccin 1.2.7). Los cuales detallamos a continuacin: Primero: Representar el problema en un Grafo GC

(V, E).

Se tiene un grafo G que consiste en un conjunto de vrtices V y arcos E. Se tiene tambin un conjunto finito de componentes de la solucin.

C = {cij}, i=1,, n; j=1,, |Di|


Donde el conjunto de componentes

C es asociado a cada conjunto de los vrtices

V del grafo GC o al conjunto de arcos E y n es el nmero de hormigas artificiales.


Lo descrito es vlido para el problema planteado puesto que

representar al

conjunto de nodos de nuestro grafo, quienes a su vez interpretarn la interseccin entre dos vas, incluyendo lugares de referencia. Por otro lado, se plantea en este trabajo de tesis dos mtodos para mejorar la aplicacin de la meta heurstica OCH debido a su naturaleza de operacin. A. Acotar el grafo o el espacio de bsqueda de las hormigas del algoritmo OCH, puesto que se ha determinado que la solucin ptima siempre es encontrada dentro del dominio ubicado entre el nodo origen y el nodo de destino. La acotacin es definida como la siguiente:

75

*Dado

la superficie rectangular ubicada en el plano

XY

que contiene al

grafo G

(V, E), y cuya rea A es definida por la ecuacin: A = (xi+1 - xi) * (yi+1 - yi)

Siendo

Ni (xi, yi) y Ni+1(xi+1, yi+1)

dos nodos que pertenecen al grafo

de tal manera que xi <= xi+1, yi <= yi+1, xi

>= 0, yi >= 0. XY
que contiene a

*Dado S la superficie rectangular ubicada en el plano otro grafo

G'(V, E) cuyos vrtices V pertenecen al conjunto de vrtices

V y los arcos E pertenecen al conjunto de arcos E del grafo G; y cuya rea A es definida por la ecuacin: A = (xj+1 - xj) * (yj+1 - yj)
Siendo

Nj (xj, yj) y Nj+1(xj+1, yj+1)

dos nodos que pertenecen al grafo

de tal manera que: xj <= xj+1, yj <= yj+1, xj

>= xi, yj >= yi,

Xi+1 >= xj+1, yi+1 >= yj+1.


De esta manera problema y

es el grafo original que contiene a todos los nodos del

es el grafo, subconjunto de

G,

que contiene a los nodos

ubicados dentro la regin

S,

en cuyo lmite se encuentran el nodo origen

(Nj) y nodo destino (Nj+1) de la solucin ptima.

Figura 4.1 Acotacin del espacio de bsqueda [Fuente Propia]. 76

La figura 4.1 muestra de manera grfica la acotacin del espacio de bsqueda descrito anteriormente. Ahora bien, es menester tener en cuenta que en la realidad no siempre todos los nodos de la solucin ptima forman parte de la superficie contiene al grafo

S que

G.

Es por ello que, para efectos de aplicar de la mejor

forma la meta heurstica OCH al contexto del problema planteado, se utiliza un grafo Gr

(Vr, Er), cuya rea Ar es definida por la ecuacin: Ar = (xk+1 - xk) * (yk+1 - yk)

Siendo

Nk (xk, yk) y Nk+1(xk+1, yk+1)

dos nodos que pertenecen al grafo

Gr de tal manera que xk <= xk+1, yk <= yk+1, xk >= 0, yk >= 0.


Adems de:

xk yk

xj - ; yj - ;

xk+1 = xj+1 + ;
=

yk+1 = yj+1 + ;
Siendo

> 0 una constante que permitir incluir nodos aledaos con

probabilidad de pertenecer a la solucin ptima. Como resultado se tiene un menor tiempo computacional al hallar la ruta ptima entre dos puntos utilizando la meta heurstica OCH. B. Mejorar la bsqueda de otras soluciones factibles permitiendo tener diferentes soluciones hasta llegar a encontrar la ptima. Hasta este punto sabemos que una de las principales caractersticas de la meta heurstica OCH es elegir, en base a una decisin probabilstica, el mejor nodo a partir de otro; pero existe una situacin que minimiza las probabilidades de obtener la solucin ptima, la cual es presentada a continuacin: Dado los nodos

n1, n2 y n3;

y los arcos

a1 (n1, n2)

a2 (n1, n3)

con

longitudes D1 y D2 respectivamente. Siendo D2 = D1*q, donde

D2 > D1, q > 1 y q es un nmero entero.


77

Se tiene un cuarto nodo n4 al cual se le ubica en el arco a2. De esta manera los nodos correspondientes a los arcos a1, a2 y un nuevo arco a3 son:

a1 (n1, n2), a2 (n1, n4)


respectivamente. Siendo

a3 (n4, n3)

con distancias

d1, d2, y d3

d2 + d3 = D2, d1 = D1

y d2 d1.

Es recomendable hacer uso de este paso al momento de formar el grafo

G (V, E) por la necesidad de encontrar mejores soluciones al momento de


aplicar el algoritmo de optimizacin. Segundo: Definir apropiadamente el nivel del rastro de feromona. Este paso corresponde a tomar en cuenta el valor de la feromona depositada tanto al inicio como al momento de construir las soluciones del algoritmo. No es una tarea trivial por ende los valores deben ser evaluados al ejecutar varias experimentaciones del algoritmo aplicado al caso. Tercero: Definir apropiadamente la preferencia heurstica. Esta tarea corresponde a definir una correcta y acertada informacin

heurstica

, que estar asociada a cada componente o transicin de un grafo G.

En la literatura este valor es determinado por la inversa de la distancia entre dos nodos; la frmula es la siguiente:

Siendo

drs la distancia entre los nodos r y s. drs; pero al querer resolver un

El caso ideal es tomar en cuenta esta nica variable

problema del mundo real aplicando la meta heurstica OCH, como es el caso de optimizar rutas de transporte para una empresa que brinde servicios de taxi, observamos que esto no sucede as, puesto que en un circuito vial se encuentran diversos factores que guardan relacin entre s e intervienen al momento de encontrar el mejor camino, entre ellos tenemos:

78

Nivel de trfico. Horario de viaje. Disponibilidad y/o estado de las vas. Etc.

Ante esta situacin, se plantea en este trabajo de tesis un mtodo emprico, que permitir contar con una apropiada informacin heurstica en base a muestras reales, de tal manera que el sistema ha desarrollar haga uso de esta informacin para brindar una solucin ptima aplicada al caso. El mtodo consiste en hallar un valor terico del tiempo que demora en recorrer un vehculo por una va correspondiente a un arco la ecuacin:

A(r, s), para ello hacemos uso de

Distancia = Velocidad * Tiempo


Desde luego, para poder hallar el tiempo terico es necesario conocer las dos dems variables (distancia y velocidad). Siendo evidente indicar que son variables ya conocidas, por las siguientes razones: La distancia

entre los nodos del arco

A(r, s)

proviene de un

levantamiento de informacin durante la fase de construccin del grafo

que permita interpretar un plano o mapa con las vas y lugares de referencia. La velocidad

es una informacin obtenida en base a una poltica de la

empresa de servicio de taxis, quien establece una velocidad promedio para que el conductor lleve al cliente a su lugar de destino. Esta velocidad no debe ser ni muy rpida, para evitar accidentes, ni muy lenta, para evitar retrasos. Como resultado se tiene un tiempo

Tterico que es el tiempo en que se demora un

vehculo en recorrer el camino entre los nodos del arco A. Hasta este punto el tiempo

Tterico

no considera los factores que hemos

mencionado anteriormente, es por esta razn que se debe de tomar muestras para poder hallar el tiempo real que se demora un vehculo en recorrer la va correspondiente. 79

Es decir, se construye una poblacin con N elementos

(X1, X2,, XN), que son la media

los tiempos medidos al recorrer la va correspondiente al arco A. Siendo de la poblacin definida por la siguiente frmula:

Considerando

como el tiempo promedio real medido y que est afectado por los

niveles de trfico, etc. Se tiene entonces un tiempo

Treal,

mayor igual a

Tterico,

equivalente a que nos permitir obtener el grado de variacin respecto al tiempo terico Tterico. Grado que ser calculado mediante la siguiente frmula:

Siendo

el grado de variacin de la informacin heurstica, mayor igual a 0,

reflejado finalmente en la siguiente ecuacin:

Donde

es la informacin heurstica y drs la distancia entre los nodos r y s.

Esta ltima funcin ser considerada por el algoritmo del sistema teniendo en cuenta que se aplicar a aquellas vas cuyo tiempo de recorrido vara significativamente en los turnos maana, tarde, noche y madrugada.

Cuarto: Escoger un algoritmo especfico de OCH. Para propsitos de optimizacin de las rutas de transporte que forma parte importante para la realizacin de este sistema se implementar una variante de la meta heurstica OCH, llamada Sistema de Colonia de Hormigas (Ant Colony System ACS). 80

El proceso de construccin en esta variante se denota de la siguiente manera: 1 2 3 4 5 6 7 9 Fin Para Fin Procedimiento Procedimiento Construccin_Solucin_Hormiga () Repetir para k=1 a m (nmero de hormigas - agentes) Hormiga_Nueva(k); Fin Repetir Para cada arco ars

S global-best hacer

1 2 3 4 5 6 7 8

Procedimiento Hormiga_Nueva (Id_Hormiga)

k = Id_Hormiga; r = estado_inicial; Sk = r; Lk = r;
Mientras (estado_actual estado_objetivo) Para cada s hacer

q = Generar_Valor_Aleatorio(0, 1)
Si (q <= q0 ) entonces estado_Proximo = Max ( Caso contrario Para cada s hacer , )

9 10 11 12 13 14 15 16 17

estado_Proximo = Aplicar_Decision(P, Fin Si

r = estado_Proximo; Sk = < Sk, r >; Lk = Lk U r

Fin Mientras

S global-best = Mejor_Solucion(S global-best, Sk)


Fin Procedimiento 81

Siendo en el arco

la variable que mide el efecto de la variable heurstica y probabilstica

ars, Sk

la solucin local y

Lk

la solucin guardada en memoria de la

hormiga k. Adems S global-best la mejor solucin conseguida por los agentes. Quinto: Ajustar los parmetros del algoritmo OCH hasta obtener buenas soluciones. Por ltimo, considerado tambin un paso importante, obtener los valores adecuados de los parmetros del algoritmo, de tal manera que se pueda tener como resultado buenas soluciones. Los parmetros a evaluar son los siguientes: Primer coeficiente de evaporacin ( Segundo coeficiente de evaporacin ( Valor inicial de la feromona ( ). ). ).

Grado de variacin de la informacin heurstica () (Nuevo). Nmero de iteraciones. Nmero de agentes (m). Importancia relativa de la informacin heurstica o visibilidad (). Importancia relativa de la traza de feromona (). Nmero de iteraciones para reiniciar el rastro de feromona. Valor aleatorio para la regla proporcional (q0).

Para realizar el procedimiento de ajustar los parmetros nos basaremos en un enfoque emprico, el cual se basa en principios tomados de la literatura para los parmetros del algoritmo Sistema Colonia de Hormigas, propuesto en este trabajo de tesis. El enfoque emprico ser elaborado mediante una experimentacin numrica que comprender 15 casos o instancias para resolver, es decir, obtener la trayectoria ptima, ver anexo D. El proceso de afinar los parmetros del algoritmo fue realizado en trabajos para problemas especficos y sus resultados sern la base para empezar la experimentacin; a continuacin se presenta los trabajos desarrollados:

82

Optimizacin de Colonia de Hormigas. [27] En este trabajo se da solucin al problema del agente viajero utilizando el algoritmo Sistema Colonia de Hormigas. Resultados: o Se determina igual a 1 y igual a 2. o Se determina q0 igual a 0.9. o Se determina Conclusiones: o Predomina la informacin heurstica () sobre la feromona (). o Predomina la explotacin del conocimiento disponible sobre la exploracin controlada. y igual a 0.1

Un algoritmo Sistema Colonia de Hormigas mejorado para el problema de ruteo de vehculos. [45] En este trabajo se da solucin al problema del ruteo de vehculos. Resultados: o Se determina igual a 1 y igual a 4. o Se determina q0 igual a 0.5. o Se determina Conclusiones: o Predomina la informacin heurstica () sobre la feromona (). o Predomina un balance entre la explotacin del conocimiento disponible y la exploracin controlada. igual a 0.5 y igual a 0.1.

Resolviendo un nico problema del camino ms corto usando optimizacin colonia de hormigas. [44] En este trabajo se da solucin al problema del camino ms corto utilizando un algoritmo de optimizacin colonia de hormigas. Resultados: o Se determina , Conclusiones: o Predomina la visibilidad () sobre la feromona (). o Se asocia una unidad de feromona a cada arco del grafo.

igual a {(1, 1); (1, 2); (1, 3); (1, 5); (2, 4)}.

83

4.2.

Pruebas

Para el sistema de gestin de servicios de taxis las pruebas llevadas a cabo representarn un conjunto de condiciones que evalen las caractersticas, la capacidad y coherencia de los resultados propios del sistema, con la finalidad de determinar si el requisito de la aplicacin es parcial o completamente satisfecho y de esta manera descubrir defectos, errores y evaluar los cambios que se le puede aplicar al sistema hasta que funcione correctamente. 4.2.1. Pruebas de aceptacin Durante el desarrollo del proyecto se llevar a cabo la particin equivalente como un mtodo de prueba de caja negra, derivndose en casos de pruebas, quienes comprobarn que cada parte del sistema cumple con lo que se propone en el documento de Especificacin de Requisitos del Software [12]. Para realizar el diseo de casos de prueba para particin equivalente se procede en dos pasos [13]: 1. Se identifican las clases de equivalencia, tomando cada condicin de entrada. Se aprecia dos tipos: clases de equivalencia vlidas, quienes representan entradas vlidas al programa, y las clases de equivalencia invlidas, quienes representan estados errneos. 2. Se definen los casos de prueba, en donde se asigna un nmero nico a cada clase de equivalencia. Hasta que los casos de pruebas hayan cubierto las clases de equivalencia vlidas e invlidas. Por otro lado, para llevar a cabo las pruebas del algoritmo de optimizacin se realizar un mtodo de prueba de caja blanca, de esta manera se encontrar los mejores parmetros para las soluciones. 4.2.2. Casos de pruebas El contenido de las clases de equivalencia identificadas y los casos de pruebas se visualizan en el anexo C y ser clasificada de acuerdo a los mdulos del sistema. A continuacin, en la tabla 4.1, se muestra un ejemplo para la funcionalidad Actualizar Contrasea del mdulo de Seguridad.

84

Campos\Clases Contrasea Actual

Clases Vlidas 1<=Cant. caracteres<=6 A 1<=Cant. caracteres<=6 D 1<=Cant. caracteres<=6 G

Contrasea Nueva

Repita Contrasea

Clases No Vlidas Cant. caracteres <1 o Cant. caracteres >6 B Vaco C Cant. caracteres <1 o Cant. caracteres >6 E Vaco F Cant. caracteres <1 o Cant. caracteres >6 H Vaco I

Tabla 4.1 Clases equivalentes Actualizar Contrasea. Por otro lado, las pruebas del algoritmo de optimizacin realizadas durante una experimentacin sern realizadas en base a las siguientes variables y sern mejor mostradas en el anexo D: Nmero de corrida, nmero de Iteraciones, nmero de Agentes. Nmero de iteraciones para reiniciar el rastro de feromona. Valor probabilstico, valor Heurstico. Primer y segundo coeficiente de evaporacin. Valor aleatorio para la regla proporcional. Feromona Inicial. Distancia resultado de la corrida, distancia mnima a optimizar. Variacin positiva. Nodo de Origen, nodo de Destino. Tamao de la muestra.

4.2.3. Catlogo de pruebas Los resultados de las pruebas realizadas en base a los casos de pruebas anteriormente identificados se visualizan detalladamente en el anexo C. A continuacin, en la tabla 4.2, se muestra el resultado de los casos de pruebas para la funcionalidad Actualizar Contrasea.

85

Clases

Valores

Valor Esperado

Pantalla

Secuencia de pasos 1. Se ingresa a la opcin Contrasea en el sistema. 2. Se ingresa los valores determinados. 3. Se hace clic en el botn Aceptar.

Resultado / Descripcin Se muestra el mensaje de xito esperado.

ADG

123456, 654321, 654321

Mensaje: Cambio de contrasea exitoso

BDG

1234567, 654321,654321

Mensaje: Contrasea Actual Incorrecta

1. Se ingresa a la opcin Contrasea en el sistema. 2. Se ingresa los valores determinados. 3. Se hace clic en el botn Aceptar.

Se muestra el mensaje de error esperado.

Tabla 4.2 Casos de Pruebas Actualizar Contrasea.

86

Captulo V: Observaciones, Conclusiones y Recomendaciones


En el presente captulo se indican los puntos vistos durante el desarrollo del proyecto a los que se desea dar nfasis, las conclusiones deducidas como consecuencia del proyecto realizado, para finalmente incluir consejos y sugerencias para proyectos futuros.

5.1.

Observaciones

El presente proyecto de fin de carrera ha abordado el desarrollo de un sistema de informacin que d servicio a los principales procesos para brindar un servicio de taxi; siendo una necesidad reducir el tiempo que se demora en ofrecer el servicio y el costo de gasolina para las unidades de taxi. En el presente trabajo, adems, se ha considerado el plano de una parte de una zona importante de Lima Metropolitana, como los distritos de San Miguel y Pueblo Libre, de tal manera que se pueda llevar a cabo la solucin.

87

Para el desarrollo de la solucin se ha utilizado software libre como principio de investigacin y se ha tomado como base la metodologa RUP aplicada al proyecto. Dentro de la investigacin el proceso de levantamiento de informacin se realiz gracias al apoyo de una empresa que brinda servicio de taxis en Lima, para poseer credibilidad en el proyecto. Ha sido necesario un estudio y seleccin de una variante de la meta heurstica Optimizacin Colonia de Hormigas que sea apropiada para el problema planteado.

5.2.

Conclusiones

Se ha realizado satisfactoriamente el anlisis, diseo e implementacin del sistema propuesto en el proyecto de tesis. Se ha elaborado apropiadamente un modelo de representacin de zonas y calles para llevar a cabo la optimizacin de las rutas de transporte. Se ha implementado eficazmente el algoritmo Sistema de Colonia de Hormigas para mejorar la trayectoria del servicio de taxi en cuanto a distancia y tiempo. Se ha demostrado que es factible utilizar las tcnicas de la Inteligencia Artificial en la aplicacin del problema planteado, el cual es un problema real. Se ha utilizado en gran parte los conocimientos y experiencia adquiridos a lo largo de la carrera de ingeniera informtica.

5.3.

Recomendaciones

Se recomienda que en futuras investigaciones se analice la posibilidad de incorporar otros mdulos de gestin como, por ejemplo, contabilidad. Tambin se recomienda una investigacin sobre el empleo de otros algoritmos de optimizacin para observar si se mejora o reduce el tiempo de la trayectoria obtenido con el algoritmo Sistema Colonia de Hormigas. Adems se aconseja realizar una interfaz grfica con los resultados de las rutas ptimas para su mejor visualizacin. Por ltimo, se recomienda analizar la viabilidad de tener un sistema de posicionamiento global (GPS), para ello se debe analizar los costos en los que se incurrira, debido a que este tipo de empresas cuenta con recursos muy limitados para ser invertidos en tecnologas de informacin. 88

Bibliografa
Libros
[1] [2] I. Sommerville, Ingeniera de software, 7ma edicin. Pearson Educacin. Madrid. 2005. Pags.250-260. Dorigo M., Krzysztof Socha. An Introduction to Ant Colony Optimization. IRIDIA, Institut de Recherches Interdisciplinaires et de Dveloppements en Intelligence Artificielle. Universit Libre de Bruxelles. 2006. M. Dorigo, V. Maniezzo, and A.Colorni. The Ant System: Optimization by a colony of cooperating agents. IEEE Transactions on Systems, Man, and Cybernetics Part B. 1996. Pags.29-41. Oscar Cordn, Francisco Herrera, Thomas Stutzle. A Review on the Ant Colony Optimization Metaheuristic: Basis, Models and New Trends. Mathware & Soft Computing 9. 2002. Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein. Introduction to Algorithms: Dijkstra's algorithm, Second Edition. MIT Press and McGraw-Hill. Section 24.3. 2001. Pags.595601. Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein. Introduction to Algorithms: The Bellman-Ford algorithm, Second Edition. MIT Press and McGraw-Hill. Section 24.1. 2001. Pags.588592. Thomas H. Cormen, Charles E. Leiserson; Ronald L. Rivest, and Clifford Stein. Introduction to Algorithms: The FloydWarshall algorithm, First Edition, MIT Press y McGraw-Hill. Section 26.2. 2001. Pags.558565. M. G. C. Resende and C. C. Ribeiro. Greedy randomized adaptive search procedures, in Handbook of Metaheuristics. F. Glover and G. Kochenberger, eds., Kluwer Academic Publishers. 2002. Pags.219-249. Laporte, G., The vehicle routing problem: an overview of exact and approximate algorithms. European Journal of Operational Research. 1992. Pags.345-358. PMBOK de PMI 4ta. Edicin. 2008. JACOBSON, Ivar; BOOCH, Grady; RUMBAUGH, James. El Proceso Unificado de Desarrollo de Software. Pearson Addisson-Wesley. 2000. MacGrawHill. Ingeniera del software, un enfoque prctico, 5ta Edicin. 2002. Pags.281-322. Wiley. The art of software Testing. 2da Edicin, 2004. Pag.234. Gmez Vieites, lvaro y Suarez Rey, Carlos. Sistemas de Informacin: Herramientas prcticas para la gestin empresarial. Ed. Alfaomega. 2da Edicin. 2006. M.L. Fisher. "Lagrangian Optimization Algorithms for Vehicle Routing Problems," Operational Research. G.K. Rand, ed. 1988. Pags. 635-649. Papadimitriou, Christos H.Combinatorial Optimization. Prentice Hall. 1982. Hillier F, Lieberman. Introduccin a la investigacin de operaciones. McGraw-Hill. Mxico. 1997. Ibrahim H. Osman, James P. Kelly. Meta-Heuristics: Theory and Applications. Kluwer Academic Publishers. 1996. F. Glover and G. Kochenberger. Handbook of Metaheuristics. Kluwer Academic Publishers. 2002.

[3]

[4] [5]

[6]

[7]

[8]

[9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19]

89

[20] [21] [22] [23] [24]

Fred Glover, Manuel Laguna. Tabu Search. Kluwer Academic Publisher. 1997. C.A. Floudas and P.M. Pardalos. Encyclopedia of Optimization. Kluwer Academic Publishers. 2001. Marco Dorigo and Thomas Stutzle. Ant Colony Optimization: Overview and Recent Advances. IRIDIA Technical Report Series. No. TR/IRIDIA/2009-013. 2009. Pag.14. Juan R. Rabunal and Julian Dorado. Artificial neural networks in real-life applications. Idea Group Publishing. 2006. Frank Neumann and Carsten Witt. Bioinspired Computation in Combinatorial Optimization: Algorithms and their Computational Complexity. Natural Computing Series. Springer. 1998. Sriram Pemmaraju, Steven Skiena. Computational Discrete Mathematics: Combinatorics and Graph Theory with Mathematica. Cambridge University Press. 2003. Pag. 323. Gallart Surez, Joseph. Anlisis, diseo e implementacin de un algoritmo meta heurstico GRASP que permita resolver el problema de rutas de vehculos con capacidad. PUCP. Hemeroteca FACI TIN 2 0194. 2009. Dorigo M., and Stutzle T. Ant Colony Optimization. The MIT Press, Massachusetts USA. 1994.

[25]

[26]

[27]

Referencias de fuentes electrnicas


[28] Registro Mercantil de Santander, Tomo 723, Folio 165, Seccin 8, Hoja S11607, Inscripcin 1 Editorial Cantabria Interactiva S.L. CIF: B39495460. Disponible en: http://www.eldiariomontanes.es/prensa/20061222/santander/taxistas-informatizanpara-servicio_20061222.html Consultado en Octubre del 2008. Editorial Leoncio Rodrguez, S.A. (Avda. Buenos Aires, 71 S/C de Tenerife. 38005. Espaa.) CIF: A38017844. Disponible en: http://www.eldia.es/2008-09-10/palma/palma5.htm Consultado en Octubre del 2008. IAPUCP, Desarrollo de un sistema Inteligente de Bsqueda de Rutas para el Recojo de Basura en Municipios. Disponible en: http://iapucp.com/index.php?option=com_docman&task=cat_view&gid=24&Itemid=48 Consultado en Octubre del 2008. Universidad Politcnica de Valencia. Rational Unified Process (RUP). Disponible en: https://pid.dsic.upv.es/C1/Material/Documentos%20Disponibles/Introduccin%20a%20 RUP.doc Consultado en Octubre del 2008. Practical UML: A Hands-On Introduction for Developers Code Gear from Borland. Disponible en: http://dn.codegear.com/article/31863#component-and-deployment-diagrans Consultado en Octubre del 2008. The Java Language Environment White Paper Sun Microsystems. Disponible en: http://java.sun.com/docs/white/langenv/Intro.doc2.html#334 Consultado en Octubre del 2008. MySQL 5.1 Reference Manual. 1997-2008 MySQL AB. Disponible en: http://dev.mysql.com/doc/refman/5.1/en/ Consultado en Setiembre del 2009.

[29]

[30]

[31]

[32]

[33]

[34]

90

[35]

Conozca el nuevo NetBeans. Desarrollo de aplicaciones multiplataforma con NetBeans IDE. Disponible en: http://www.sun.com/emrkt/innercircle/newsletter/spain/0207spain_feature.html Consultado en Setiembre del 2009. iReport. Getting Started. What is iReport? Disponible en: http://jasperforge.org//website/ireportwebsite/IR%20Website/ir_getting_started.html?he ader=project&target=ireport Consultado en Octubre del 2010. Grafos. Qu es Grafos? Disponible en: http://personales.upv.es/arodrigu/grafos/index.htm Consultado en Octubre del 2010. The GraphML File Format. What is GraphML? Disponible en: http://graphml.graphdrawing.org/ Consultado en Octubre del 2010. Algoritmos genticos y computacin evolutiva. Disponible en: http://www.the-geek.org/docs/algen/algen.html#key-46 Consultado en Noviembre del 2010. Sachit Abeysundara, Baladasan Giritharan, Saluka Kodithuwakku. A Genetic Algorithm Approach to Solve the Shortest Path Problem for Road Maps. International Conference on Information and Automation. 2005. http://www.ent.mrt.ac.lk/iml/ICIA2005/Papers/SL008CRC.pdf Consultado en Noviembre del 2010. Mohemmed, A.W. Sahoo, N.C. Tam Kim Geok. Paper Particle Swarm optimization with noising metaheuristics for solving network shortest path problem. IEEE International Conference. 2007. http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=4448659 Consultado en Noviembre del 2010. Sudha Rani Kolavali and Shalabh Bhatnagar. Ant Colony Optimization Algorithms for Shortest Path Problem. LNCS. Volume 5425. 2009. http://www.springerlink.com/content/u150213j16757681/ Consultado en Noviembre del 2010. Yong Jiang, Wan-Liang Wang, Yan-Wei Zhao. Solving the shortest path problem in vehicle navigation system by ant colony algorithm. WSEAS International Conference. 2007. http://portal.acm.org/citation.cfm?id=1364624 Consultado en Noviembre del 2010. Daniel Angus. Solving a unique Shortest Path problem using Ant Colony Optimization. http://elec.uq.edu.au/~uqdangus/Ant%20Colony%20Optimisation%20applied%20to%2 0a%203D%20shortest%20path%20problem.pdf Consultado en Noviembre del 2010. Chia-Ho Chen. An improved ant colony system algorithm for the vehicle routing problem. Journal of the Chinese Institute of Industrial Engineers, Vol. 23, No. 2. 2006. pp.115-126 http://front.cc.nctu.edu.tw/Richfiles/16456-23_2_3.pdf Consultado en Noviembre del 2010.

[36]

[37]

[38]

[39]

[40]

[41]

[42]

[43]

[44]

[45]

91

Anexos Anexo A: Especificacin de requisitos del software. Anexo B: Diagrama de clases. Anexo C: Catlogo de pruebas. Anexo D: Resultados de la experimentacin del algoritmo. Anexo E: Tecnologas utilizadas.

92

ANEXO A: Especificacin de requisitos 1. Requisitos especficos


Esta seccin presenta detalladamente las funcionalidades y restricciones del sistema. El detalle de la funcionalidad se determina con la especificacin de los casos de uso.

1.1.

Especificacin de casos de uso

1.1.1. Mdulo de Seguridad

Actualizar Contrasea
Descripcin El propsito de este caso de uso es modificar la contrasea del usuario del sistema. Actor Precondicin Usuario El usuario tiene que haberse autenticado.

Flujo bsico: Actualizar Contrasea 1. El usuario escoge la opcin Contrasea. 2. El sistema muestra tres cajas de texto con la contrasea actual, la nueva y otra ms para confirmar la nueva contrasea. 3. El usuario ingresa los valores correspondientes en las cajas de texto. 4. El usuario selecciona la opcin Aceptar. 5. El sistema verifica que todo haya sido correctamente ingresado y actualiza la contrasea del usuario. 6. Los pasos 2-5 se repiten cada vez que se desee actualizar una contrasea. 7. El caso de uso finaliza. Postcondicin La contrasea del usuario ha sido modificada. Puntos de Excepcin No existe punto de excepcin.

Tabla A.1 Actualizar Contrasea

Mantener Roles
Descripcin El propsito de este caso de uso es administrar los roles que determinarn los permisos al sistema. Actor Precondicin Administrador El usuario tiene que haberse autenticado.

Flujo bsico: Registrar Rol 1. El usuario escoge la opcin Roles. 2. El sistema muestra las siguientes cajas de texto: Rol y Descripcin. 3. El sistema muestra una lista de permisos existentes y otra lista de permisos asignados. 4. El usuario ingresa los datos del nuevo rol y selecciona los permisos que sern asignados. 5. El usuario selecciona la opcin Guardar. 6. El sistema registra el nuevo rol junto con los permisos asignados y muestra un mensaje de conformidad. 7. Los pasos 2-6 se repiten cada vez que se desee ingresar un nuevo rol. 8. El caso de uso finaliza. Postcondicin El nuevo rol queda registrado en el sistema. Flujo alternativo: Modificar Rol 1. El usuario escoge la opcin Roles. 2. El sistema muestra una lista con todos los roles registrados, con la posibilidad de agregar, modificar o eliminar uno ya existente. 3. El usuario selecciona uno de los roles de la lista. 4. El sistema muestra en pantalla los datos del rol y sus permisos asignados. 5. El usuario modifica los campos y permisos convenientes y selecciona Guardar. 6. El sistema modifica los datos del rol y muestra un mensaje de conformidad. 7. Los pasos 2-6 se repiten cada vez que se desee modificar un rol. 8. El caso de uso finaliza. Flujo alternativo: Eliminar Rol 1. El usuario escoge la opcin Roles. 2. El sistema muestra una lista con todos los roles registrados, con la posibilidad de agregar, modificar o eliminar uno ya existente. 3. El usuario escoge uno de los roles de la lista y selecciona Eliminar. 4. El sistema muestra un mensaje de verificacin. 5. El usuario acepta la eliminacin. 6. El sistema elimina al rol y muestra un mensaje de conformidad. 7. Los pasos 2-6 se repiten cada vez que se desee eliminar un rol. 8. El caso de uso finaliza. Puntos de Excepcin No existe punto de excepcin.

Tabla A.2 Mantener Roles 2

Mantener Usuarios
Descripcin El propsito de este caso de uso es administrar los usuarios del sistema permitiendo asignarles roles del sistema. Actor Precondicin Administrador El usuario tiene que haberse autenticado.

Flujo bsico: Registrar Usuario 1. El usuario escoge la opcin Usuarios. 2. El sistema muestra las siguientes cajas de texto: Usuario, Nombres, Apellido Paterno y Apellido Materno. 3. El usuario ingresa los datos del nuevo usuario y selecciona los roles que sern asignados. 4. El usuario selecciona la opcin Guardar. 5. El sistema registra al nuevo usuario junto con los roles asignados y muestra un mensaje de conformidad. 6. Los pasos 2-5 se repiten cada vez que se desee ingresar un nuevo usuario. 7. El caso de uso finaliza. Postcondicin El nuevo usuario queda registrado en el sistema. Flujo alternativo: Modificar Usuario 1. El usuario escoge la opcin Usuarios. 2. El sistema muestra una lista con todos los usuarios registrados, con la posibilidad de agregar, modificar o eliminar uno ya existente. 3. El usuario selecciona uno de los usuarios de la lista. 4. El sistema muestra en pantalla los datos del usuario y sus roles asignados. 5. El usuario modifica los campos y roles convenientes y selecciona Guardar. 6. El sistema modifica los datos del usuario y muestra un mensaje de conformidad. 7. Los pasos 2-6 se repiten cada vez que se desee modificar un usuario. 8. El caso de uso finaliza. Flujo alternativo: Eliminar Usuario 1. El usuario escoge la opcin Usuario. 2. El sistema muestra una lista con todos los usuarios registrados, con la posibilidad de agregar, modificar o eliminar uno ya existente. 3. El usuario escoge uno de los usuarios de la lista y selecciona Eliminar. 4. El sistema muestra un mensaje de verificacin. 5. El usuario acepta la eliminacin. 6. El sistema elimina al usuario y muestra un mensaje de conformidad. 7. Los pasos 2-6 se repiten cada vez que se desee eliminar un usuario. 8. El caso de uso finaliza. Puntos de Excepcin No existe punto de excepcin.

Tabla A.3 Mantener Usuarios 3

1.1.2. Mdulo de Mantenimiento

Configurar Parmetros del Sistema


Descripcin El propsito de este caso de uso es la configuracin de parmetros generales del sistema relacionados a las actividades operativas. Actor Precondicin Administrador El usuario tiene que haberse autenticado.

Flujo bsico: Configurar parmetros del sistema 1. El usuario escoge la opcin Parmetros -> Sistema. 2. El sistema muestra una caja de texto con el tiempo para refrescar la informacin en la ventana principal y una lista para escoger el departamento y provincia para la cobertura de operaciones. 3. El usuario ingresa el campo mencionado, elige la cobertura y selecciona la opcin Guardar. 4. El sistema verifica que todos los campos ingresados estn correctos. 5. El sistema registra los valores y muestra un mensaje de confirmacin. 6. Los pasos 2-5 se repiten cada vez que se desee cambiar los parmetros del sistema. 7. El caso de uso finaliza. Postcondicin Los parmetros del sistema son configurados en el sistema. Puntos de Excepcin No existe punto de excepcin.

Tabla A.4 Configurar Parmetros del Sistema

Configurar Parmetros de Optimizacin


Descripcin El propsito de este caso de uso es la configuracin de los parmetros para el algoritmo de optimizacin. Actor Precondicin Administrador El usuario tiene que haberse autenticado.

Flujo bsico: Configurar parmetros de optimizacin 1. El usuario escoge la opcin Parmetros -> Algoritmo. 2. El sistema muestra un formulario con los siguientes campos: un intervalo que limita la cantidad de feromona depositada, la cantidad de agentes, los pesos de las variables tanto probabilstica como heurstica, el porcentaje que se disminuir la feromona en el grafo debido a la actualizacin y el nmero de pasos a iterar del algoritmo ACO. Los campos estarn vacos si es la primera vez que se efecta este caso de uso. 3. El usuario ingresa todos los campos del formulario y selecciona la opcin Guardar. 4. El sistema verifica que todos los campos ingresados estn correctos. 5. El sistema registra los valores y muestra un mensaje de confirmacin. 6. Los pasos 2-5 se repiten cada vez que se desee cambiar los parmetros de optimizacin. 7. El caso de uso finaliza cuando el usuario selecciona cancelar o cerrar. Postcondicin Los parmetros de optimizacin son actualizados en el sistema. Puntos de Excepcin No existe punto de excepcin.

Tabla A.5 Configurar Parmetros de Optimizacin

Mantener Clientes
Descripcin El propsito de este caso de uso es de administrar los clientes a quienes se les brinda el servicio Actor Precondicin Operador El usuario tiene que haberse autenticado.

Flujo bsico: Registrar Cliente 1. El usuario escoge la opcin Clientes. 2. El sistema muestra las siguientes cajas de texto: Nombre, Apellido Paterno, Apellido Materno, Direccin, Telfono, Celular, E-Mail y Cuenta Bancaria, adems de un listado de Tipo de cliente, Sexo y Forma de pago. 3. El usuario ingresa todos los datos del nuevo cliente. 4. El usuario selecciona la opcin Guardar. 5. El sistema registra el nuevo cliente y muestra un mensaje de conformidad. 6. Los pasos 2-5 se repiten cada vez que se desee ingresar un nuevo cliente. 7. El caso de uso finaliza. Postcondicin El nuevo cliente queda registrado en el sistema. Flujo alternativo: Modificar Cliente 1. El usuario escoge la opcin Clientes. 2. El sistema muestra una lista con todos los clientes registrados, con la posibilidad de agregar, modificar o eliminar uno ya existente. 3. El usuario selecciona uno de los clientes de la lista. 4. El sistema muestra en pantalla los datos del cliente. 5. El usuario modifica los campos convenientes y selecciona Guardar 6. El sistema modifica los datos del cliente y muestra un mensaje de conformidad. 7. Los pasos 2-6 se repiten cada vez que se desee modificar un cliente. 8. El caso de uso finaliza. Flujo alternativo: Eliminar Cliente 1. El usuario escoge la opcin Clientes. 2. El sistema muestra una lista con todos los clientes registrados, con la posibilidad de agregar, modificar o eliminar uno ya existente. 3. El usuario selecciona uno de los clientes de la lista y selecciona Eliminar. 4. El sistema muestra un mensaje de verificacin. 5. El usuario acepta la eliminacin. 6. El sistema elimina al cliente y muestra un mensaje de conformidad. 7. Los pasos 2-6 se repiten cada vez que se desee eliminar un cliente. 8. El caso de uso finaliza. Puntos de Excepcin No existe punto de excepcin.

Tabla A.6 Mantener Clientes 6

Mantener Conductores
Descripcin El propsito de este caso de uso es de administrar los conductores quienes prestan el servicio de taxi. Actor Precondicin Jefe de Operaciones El usuario tiene que haberse autenticado.

Flujo bsico: Registrar Conductor 1. El usuario escoge la opcin Conductores. 2. El sistema muestra las siguientes cajas de texto: Nombre, Apellido Paterno, Apellido Materno, Direccin, Fecha de Asignacin, Telfono, Celular, E-Mail y Nro. de Brevete, una opcin para seleccionar si se encuentra activo o no, adems de un listado de Sexo y Vehculo por asignar. 3. El usuario ingresa los datos del nuevo conductor. 4. El usuario selecciona la opcin Guardar. 5. El sistema registra el nuevo conductor y muestra un mensaje de conformidad. 6. Los pasos 2-5 se repiten cada vez que se desee ingresar un nuevo conductor. 7. El caso de uso finaliza. Postcondicin El nuevo conductor queda registrado en el sistema. Flujo alternativo: Modificar Conductor 1. El usuario escoge la opcin Conductores. 2. El sistema muestra una lista con todos los conductores registrados, con la posibilidad de agregar, modificar o eliminar uno ya existente. 3. El usuario selecciona uno de los conductores de la lista. 4. El sistema muestra en pantalla los datos del conductor. 5. El usuario modifica los campos convenientes y selecciona Guardar. 6. El sistema modifica los datos del conductor y muestra un mensaje de conformidad. 7. Los pasos 2-6 se repiten cada vez que se desee modificar un conductor. 8. El caso de uso finaliza. Flujo alternativo: Eliminar Conductor 1. El usuario escoge la opcin Conductores. 2. El sistema muestra una lista con todos los conductores registrados, con la posibilidad de agregar, modificar o eliminar uno ya existente. 3. El usuario escoge uno de los conductores de la lista y selecciona Eliminar. 4. El sistema muestra un mensaje de verificacin. 5. El usuario acepta la eliminacin. 6. El sistema elimina al conductor y muestra un mensaje de conformidad. 7. Los pasos 2-6 se repiten cada vez que se desee eliminar un conductor. 8. El caso de uso finaliza. Puntos de Excepcin No existe punto de excepcin.

Tabla A.7 Mantener Conductores 7

Mantener Vehculos
Descripcin El propsito de este caso de uso es de administrar la flota de taxis de la empresa. Actor Precondicin Jefe de Operaciones El usuario tiene que haberse autenticado.

Flujo bsico: Registrar Vehculo 1. El usuario es coge la opcin Vehculos. 2. El sistema muestra las siguientes cajas de texto: Placa, Ao, una opcin para seleccionar si se encuentra activo o no, adems de un listado para saber la Marca, Modelo y Color. 3. El usuario ingresa todos los datos del nuevo vehculo. 4. El usuario selecciona la opcin Guardar. 5. El sistema registra el nuevo vehculo y muestra un mensaje de conformidad. 6. Los pasos 2-5 se repiten cada vez que se desee ingresar un nuevo vehculo. 7. El caso de uso finaliza cuando. Postcondicin El nuevo vehculo queda registrado en el sistema. Flujo alternativo: Modificar Vehculo 1. El usuario escoge la opcin Vehculos. 2. El sistema muestra una lista con todos los vehculos registrados, con la posibilidad de agregar, modificar o eliminar uno ya existente. 3. El usuario selecciona uno de los vehculos de la lista. 4. El sistema muestra en pantalla los datos del vehculo. 5. El usuario modifica los campos convenientes y selecciona Guardar. 6. El sistema modifica los datos del vehculo y muestra un mensaje de conformidad. 7. Los pasos 2-6 se repiten cada vez que se desee modificar un vehculo. 8. El caso de uso finaliza. Flujo alternativo: Eliminar Vehculo 1. El usuario escoge la opcin Vehculos. 2. El sistema muestra una lista con todos los vehculos registrados, con la posibilidad de agregar, modificar o eliminar uno ya existente. 3. El usuario selecciona uno de los vehculos de la lista y selecciona Eliminar. 4. El sistema muestra un mensaje de verificacin. 5. El usuario acepta la eliminacin. 6. El sistema elimina el vehculo y muestra un mensaje de conformidad. 7. Los pasos 2-6 se repiten cada vez que se desee eliminar un vehculo. 8. El caso de uso finaliza. Puntos de Excepcin No existe punto de excepcin.

Tabla A.8 Mantener Vehculos 8

Mantener Tarifas y Cotizaciones


Descripcin El propsito de este caso de uso es de administrar las tarifas para manejar el costo de los servicios. Actor Precondicin Jefe de Operaciones El usuario tiene que haberse autenticado.

Flujo bsico: Registrar Tarifa 1. El usuario escoge la opcin Tarifas. 2. El sistema muestra un listado de Departamentos, Provincias y Distritos tanto para el punto inicial y final. 3. El usuario ingresa los datos de la nueva tarifa. 4. El usuario selecciona la opcin Guardar. 5. El sistema registra la nueva tarifa y muestra un mensaje de conformidad. 6. Los pasos 2-5 se repiten cada vez que se desee ingresar una nueva tarifa. 7. El caso de uso finaliza. Postcondicin La nueva tarifa queda registrada en el sistema. Flujo alternativo: Modificar Tarifa 1. El usuario escoge la opcin Tarifas. 2. El sistema muestra una lista con todas las tarifas registradas, con la posibilidad de agregar, modificar o eliminar una ya existente. 3. El usuario selecciona una de las tarifas de la lista. 4. El sistema muestra en pantalla los datos de la tarifa. 5. El usuario modifica los campos convenientes y selecciona Guardar 6. El sistema modifica los datos de la tarifa y muestra un mensaje de conformidad. 7. Los pasos 2-6 se repiten cada vez que se desee modificar una tarifa. 8. El caso de uso finaliza. Flujo alternativo: Eliminar Tarifa 1. El usuario escoge la opcin Tarifas. 2. El sistema muestra una lista con todas las tarifas registradas, con la posibilidad de agregar, modificar o eliminar uno ya existente. 3. El usuario selecciona una de las tarifas de la lista y selecciona Eliminar. 4. El sistema muestra un mensaje de verificacin. 5. El usuario acepta la eliminacin. 6. El sistema elimina la tarifa y muestra un mensaje de conformidad. 7. Los pasos 2-6 se repiten cada vez que se desee eliminar una tarifa. 8. El caso de uso finaliza. Puntos de Excepcin No existe punto de excepcin.

Tabla A.9 Mantener Tarifas y Cotizaciones

Mantener Lugares de Referencia


Descripcin El propsito de este caso de uso es de administrar lugares de referencia los cuales servirn para facilitar el registro de solicitudes. Jefe de Operaciones El usuario tiene que haberse autenticado.

Actor Precondicin

Flujo bsico: Registrar Lugar de Referencia 1. El usuario escoge la opcin Lugares. 2. El sistema muestra los campos generales para su ingreso por el usuario como el tipo de lugar y el nombre del lugar. 3. El sistema muestra los campos correspondientes a la direccin del lugar como Distrito, Tipo de Va, Nombre de la va, Nmero y Cuadra. 4. El usuario ingresa los datos generales del lugar y su direccin. 5. El usuario selecciona la opcin Guardar. 6. El sistema registra el nuevo lugar y muestra un mensaje de conformidad. 7. Los pasos 2-6 se repiten cada vez que se desee ingresar un nuevo lugar de referencia. 8. El caso de uso finaliza. Postcondicin El nuevo lugar de referencia queda registrado en el sistema. Flujo alternativo: Modificar Lugar de Referencia 1. El usuario escoge la opcin Lugares. 2. El sistema muestra una lista con todos los lugares de referencia registrados, con la posibilidad de agregar, modificar o eliminar una ya existente. 3. El usuario selecciona uno de los lugares de referencia de la lista. 4. El sistema muestra en pantalla los datos del lugar de referencia. 5. El usuario modifica los campos convenientes y selecciona Guardar 6. El sistema modifica los datos del lugar de referencia y muestra un mensaje de conformidad. 7. Los pasos 2-6 se repiten cada vez que se desee modificar un lugar de referencia. 8. El caso de uso finaliza. Flujo alternativo: Eliminar Lugar de Referencia 1. El usuario escoge la opcin Lugares. 2. El sistema muestra una lista con todos los lugares de referencia registrados, con la posibilidad de agregar, modificar o eliminar uno ya existente. 3. El usuario selecciona uno de los lugares de referencia de la lista y selecciona Eliminar. 4. El sistema muestra un mensaje de verificacin. 5. El usuario acepta la eliminacin. 6. El sistema elimina el lugar de referencia y muestra un mensaje de conformidad. 7. Los pasos 2-6 se repiten cada vez que se desee eliminar un lugar de referencia. 8. El caso de uso finaliza. Puntos de Excepcin No existe punto de excepcin.

10

Tabla A.10 Mantener Lugares de Referencia

Cargar Grafo
Descripcin El propsito de este caso de uso es de registrar un grafo representativo de las vas para obtener la trayectoria ptima. Actor Precondicin Jefe de Operaciones El usuario tiene que haberse autenticado.

Flujo bsico: Cargar Grafo 1. 2. 3. 4. 5. 6. 7. El usuario escoge la opcin Vas -> Cargar Grafo. El sistema muestra la opcin Importar. El sistema muestra la opcin Guardar. El usuario selecciona la opcin Importar. El usuario elige el archivo con la informacin del grafo. El sistema muestra una tabla con la informacin de los nodos importados: id, texto, posicin y valor si fuese necesario. El sistema muestra una tabla con la informacin de los arcos importados: id, origen, destino, texto, costo, costo mnimo, costo mximo y grado de variacin de la informacin heurstica. El usuario selecciona la opcin Guardar. El sistema verifica que todo haya sido correctamente importado y registra el grafo. Los pasos 2-9 se repiten cada vez que se desee cargar un grafo. El caso de uso finaliza. El grafo ha sido cargado.

8. 9. 10. 11.

Postcondicin

Puntos de Excepcin No existe punto de excepcin.

Tabla A.11 Cargar Grafo

11

Configurar Vas
Descripcin El propsito de este caso de uso es configurar el costo de las vas por donde circulan las unidades o taxis. Actor Precondicin Jefe de Operaciones El usuario tiene que haberse autenticado.

Flujo bsico: Configurar Vas 1. El usuario escoge la opcin Vas -> Configurar Vas. 2. El sistema muestra una grfica del grafo. 3. El sistema muestra dos opciones a escoger por el usuario, correspondientes al punto de Origen y el punto Destino, as como el coste y los grados de variacin heurstica relacionada al arco a configurar. 4. El usuario elige tanto origen como destino y selecciona la opcin Buscar. 5. El sistema muestra el coste y los grados de variacin heurstica relacionados al arco encontrado. 6. El usuario modifica los valores mencionados y selecciona Guardar. 7. El sistema actualiza la informacin del arco. 8. Los pasos 2-7 se repiten cada vez que se desee configurar una va. 9. El caso de uso finaliza. Postcondicin La va ha sido configurada. Puntos de Excepcin No existe punto de excepcin.

Tabla A.12 Configurar Vas

12

Configurar Horarios
Descripcin El propsito de este caso de uso es actualizar el intervalo de horas durante el da por el cual se pueda distinguir tiempos con mayor congestin, trfico, etc. Actor Precondicin Jefe de Operaciones El usuario tiene que haberse autenticado.

Flujo bsico: Configurar Horarios 1. El usuario escoge la opcin Vas -> Configurar Horarios. 2. El sistema muestra los turnos operativos del da junto con el intervalo de horas. 3. El usuario selecciona diferentes horas finales para cada turno de acuerdo a sus expectativas. 4. El usuario selecciona la opcin Guardar. 5. El sistema actualiza la informacin de los horarios. 6. Los pasos 2-5 se repiten cada vez que se desee configurar un horario. 7. El caso de uso finaliza. Postcondicin Los horarios han sido configurados. Puntos de Excepcin No existe punto de excepcin.

Tabla A.13 Configurar Horarios

13

1.1.3. Mdulo de Recepcin y Asignacin de Servicios

Registrar Solicitudes de Servicio


Descripcin El propsito de este caso de uso es permitir que el usuario pueda iniciar la atencin de una solicitud de servicio de taxi. Actor Precondicin Operador El usuario tiene que haberse autenticado.

Flujo bsico: Registrar Solicitud 1. El usuario escoge la opcin Registrar Solicitud. 2. El sistema muestra una pantalla que permita registrar al cliente, la direccin de origen y la direccin de destino (Distrito, Tipo de va, Nombre de va, Nmero y Cuadra; as como opciones de lugares de referencia). Adems de registrar la forma de pago, costo y observaciones a la solicitud. As mismo las opciones Consultar Cliente y Asignar Unidad. 3. Se realiza el caso de uso Consultar Cliente. 4. Se realiza el caso de uso Consultar Unidades. 5. El usuario termina por ingresar los datos para el registro de la solicitud. 6. El usuario selecciona la opcin Guardar. 7. Se realiza el caso de uso Obtener Trayectoria ptima. 8. El sistema registra la solicitud y muestra un mensaje de conformidad. 9. Los pasos 2-8 se repiten cada vez que se desee registrar una solicitud. 10. El caso de uso finaliza cuando el usuario selecciona guardar, cancelar o cerrar. Postcondicin Se registr una solicitud. El servicio est por registrar. Puntos de Excepcin No existe punto de excepcin.

Tabla A.14 Registrar solicitudes de servicio

14

Registrar Reservas
Descripcin El propsito de este caso de uso es permitir que el usuario pueda iniciar la atencin de una reserva de taxi. Actor Precondicin Operador El usuario tiene que haberse autenticado.

Flujo bsico: Registrar Reserva 1. El usuario escoge la opcin Registrar Reserva. 2. El sistema muestra una pantalla que permita registrar al cliente, la fecha y hora de recojo, la direccin de origen y la direccin de destino (Distrito, Tipo de va, Nombre de va, Nmero y Cuadra; as como opciones de lugares de referencia). Adems de registrar la forma de pago, costo y observaciones a la solicitud. As mismo las opciones Consultar Cliente y Asignar Unidad. 3. Se realiza el caso de uso Consultar Cliente. 4. Se realiza el caso de uso Consultar Unidades. 5. El usuario termina por ingresar los datos para el registro de la reserva. 6. El usuario selecciona la opcin Guardar. 7. Se realiza el caso de uso Obtener Trayectoria ptima. 8. El sistema registra la reserva y muestra un mensaje de conformidad. 9. Los pasos 2-8 se repiten cada vez que se desee registrar una reserva. 10. El caso de uso finaliza cuando el usuario selecciona guardar, cancelar o cerrar. Postcondicin Se registr una reserva. El servicio est por registrar. Puntos de Excepcin No existe punto de excepcin.

Tabla A.15 Registrar Reservas

15

Consultar Clientes
Descripcin El propsito de este caso de uso es permitir que el usuario pueda acceder a los datos del cliente por atender. Actor Precondicin Operador El usuario tiene que haberse autenticado.

Flujo bsico: Consultar Cliente 1. El usuario escoge la opcin Consultar Cliente. 2. El sistema muestra una lista con los principales clientes registrados. 3. El sistema muestra filtros para realizar la bsqueda: Tipo de cliente, Nombre, Apellido Paterno, Apellido Materno y si es el caso por Empresa o rea. 4. El usuario ingresa los filtros para su bsqueda y selecciona la opcin Buscar. 5. El sistema muestra los siguientes datos del cliente: id, nombres, tipo de cliente, apellido paterno, apellido materno, telfono, celular, forma de pago, empresa y rea. 6. Los pasos 2-5 se repiten cada vez que se desee consultar nuevo cliente. 7. El caso de uso finaliza. Postcondicin El cliente ingresado es consultado. Puntos de Excepcin No existe punto de excepcin.

Tabla A.16 Consultar Clientes

16

Consultar Solicitudes
Descripcin El propsito de este caso de uso es permitir que se realice un seguimiento a las solicitudes y reservas ingresadas. Actor Precondicin Operador El usuario tiene que haberse autenticado.

Flujo bsico: Consultar Solicitudes 1. El usuario escoge la opcin Consultar Solicitudes. 2. El sistema muestra una lista con las principales solicitudes registradas. 3. El sistema muestra filtros para realizar la bsqueda: Identificador, Identificador de Unidad, Estado y Cliente. 4. El usuario ingresa los filtros para su bsqueda y selecciona la opcin Buscar. 5. El sistema muestra los siguientes datos de la solicitud: Id, Fecha Registro, Dir. Origen, Dir. Destino, Costo, Cliente, Conductor, Estado y para el caso de reservas Fecha de Reservacin. 6. Los pasos 2-5 se repiten cada vez que se desee consultar una solicitud. 7. El caso de uso finaliza. Postcondicin La solicitud es consultada. Puntos de Excepcin No existe punto de excepcin.

Tabla A.17 Consultar Solicitudes

17

Consultar Unidades
Descripcin El propsito de este caso de uso es permitir que se de seguimiento a las unidades actualmente disponibles al momento de generar una solicitud de servicio. Actor Precondicin Operador El usuario tiene que haberse autenticado.

Flujo bsico: Consultar Unidades 1. El usuario escoge la opcin Consultar Unidades. 2. El sistema muestra una lista con las unidades ms disponibles, mostrando para cada una de ellas: Identificador, disponibilidad, hora de disponibilidad estimada, direccin de destino, vehculo, radio, conductor, vehculo, solicitud y estado. 3. Los pasos 1-2 se repiten cada vez que se desee consultar unidades. 4. El caso de uso finaliza. Postcondicin Las unidades son consultadas. Puntos de Excepcin No existe punto de excepcin.

Tabla A.18 Consultar Unidades

18

Iniciar Servicio
Descripcin El propsito de este caso de uso es permitir que el usuario pueda iniciar un servicio una vez la unidad haya acudido a recoger al cliente. Actor Precondicin Operador El usuario tiene que haberse autenticado. Debe de haber una solicitud de por medio, por ende un taxista asignado.

Flujo bsico: Iniciar Servicio 1. Se ejecuta el caso de uso Consultar Solicitudes. 2. El usuario selecciona la solicitud. 3. El sistema muestra la informacin de la solicitud registrada. 4. El usuario selecciona la opcin Iniciar. 5. El sistema inicializa el servicio. 6. Los pasos 2-5 se repiten cada vez que se desee iniciar un servicio. 7. El caso de uso finaliza. Postcondicin Se registr un servicio. Puntos de Excepcin No existe punto de excepcin.

Tabla A.19 Iniciar Servicio

19

Obtener Trayectoria ptima


Descripcin El propsito de este caso de uso es obtener la ruta ptima para determinado servicio. Actor Precondicin Operador Tiene que haberse registrado la configuracin de parmetros de optimizacin. Se registra una solicitud de servicio. A los puntos de Origen y de Destino les corresponde nodos del grafo ingresado.

Flujo bsico: Registrar Servicio 1. El sistema ejecuta el algoritmo para hallar la ruta ptima. 2. El caso de uso finaliza cuando el sistema halla la ruta ptima. Postcondicin Se hall la ruta ptima. Puntos de Excepcin No existe punto de excepcin.

Tabla A.20 Obtener Trayectoria ptima

20

Anular solicitudes
Descripcin El propsito de este caso de uso es permitir anular una solicitud de servicio o reserva por causas externas. Actor Precondicin Operador El usuario tiene que haberse autenticado. Debe haberse registrado la solicitud.

Flujo bsico: Anular solicitudes 1. Se ejecuta el caso de uso Consultar Solicitudes 2. El usuario selecciona la solicitud. 3. El sistema muestra la informacin de la solicitud registrada. 4. El usuario selecciona la opcin Anular. 5. El sistema anula la solicitud. 6. Los pasos 2-5 se repiten cada vez que se desee anular una solicitud. 7. El caso de uso finaliza. Postcondicin Se anul una solicitud. Puntos de Excepcin No existe punto de excepcin.

Tabla A.21 Anular solicitudes

21

1.1.4. Mdulo de apoyo a la gestin


Generar Reporte Informativo de Solicitudes
Descripcin El propsito de este caso de uso es permitir generar reportes con informacin de los servicios realizados. Actor Precondicin Jefe de operaciones El usuario tiene que haberse autenticado.

Flujo bsico: Generar reporte informativo de solicitudes 1. El usuario escoge la opcin Reportes. 2. El sistema mostrar en pantalla que tipo de servicios desea generar: solicitudes o reservas. 3. El usuario elige el tipo de servicio. 4. El sistema muestra los filtros para generar el reporte: Todos o Identificador de servicio, rango de fechas. 5. El usuario completa los filtros y selecciona Generar. 6. El sistema muestra una tabla preliminar con los resultados: identificador, fecha registro, direccin de origen, direccin de destino, costo, cliente, conductor. 7. El usuario selecciona Ver PDF. 8. El sistema muestra en pantalla el reporte. 9. Los pasos 2-8 se repiten cada vez que se desee generar un reporte. 10. El caso de uso finaliza. Postcondicin Se genera el reporte informativo Puntos de Excepcin No existe punto de excepcin.

Tabla A.22 Generar Reporte Informativo de Solicitudes

22

Generar Reporte Estadstico


Descripcin El propsito de este caso de uso es permitir generar reportes con informacin estadstica de solicitudes anuladas y distritos con mayor frecuencia de atenciones. Actor Precondicin Jefe de operaciones El usuario tiene que haberse autenticado.

Flujo bsico: Generar reporte Estadstico 1. El usuario escoge la opcin Reportes. 2. El sistema mostrar en pantalla que tipo de servicios desea generar: solicitudes o reservas. 3. El usuario elige el tipo de servicio. 4. El sistema muestra los filtros para generar el reporte estadstico: Periodo (Anual o Mensual), Ubicacin (Por Distrito o todos). 5. El sistema muestra en pantalla el reporte estadstico. 6. Los pasos 2-5 se repiten cada vez que se desee generar un reporte. 7. El caso de uso finaliza. Postcondicin Se genera el reporte estadstico. Puntos de Excepcin No existe punto de excepcin.

Tabla A.23 Generar Reporte Estadstico

23

ANEXO B: Diagrama de clases 1. Diagrama de Clases de Anlisis


A continuacin en la figura B.1 se presenta las entidades para el sistema a desarrollar.

Figura B.1 Diagrama de clases de Anlisis 1

2. Diccionario de datos
A continuacin en la tabla B.1 se describe las entidades descritas. NOMBRE CLASE Algoritmo DESCRIPCIN Clase que contiene los parmetros de optimizacin del algoritmo. Clase que representa las conexiones de los nodos de un grafo. Clase de tipo Arco que representar el recorrido de una hormiga artificial. Clase que contiene a todos los clientes asiduos a ofrecer el servicio. Clase que contiene a todos los conductores o taxistas. Esta clase representa el departamento donde habita una persona. Esta clase representa el distrito donde vive una persona. Clase que contiene los datos de cualquier empleado. Clase que representar el estado de una solicitud. Clase que representar el fabricante o marca del vehculo utilizado para brindar servicio. Clase que representar la forma de pago del cliente. Clase que contiene todos los nodos y arcos utilizados para obtener la ruta ptima. Clase que representar los horarios o turnos de operacin. Clase que representar al agente que realice los recorridos para hallar la ruta ptima. Clase que representar los lugares de referencia para registrar solicitudes de manera rpida. Clase que representar el modelo del vehculo utilizado para brindar servicio. Clase que representar los nodos de un grafo. Clase que representar los permisos para brindar acceso al sistema. Clase que contiene los datos generales de cualquier persona. Esta clase representa la provincia donde habita una persona.

Arco

ArcoHormiga

Cliente Conductor Departamento Distrito Empleado EstadoSolicitud FabricanteVehiculo FormaDePago Grafo Horario Hormiga

LugarReferencia

ModeloVehiculo Nodo Permiso Persona Provincia

NOMBRE CLASE Punto Rol Servicio

DESCRIPCIN Clase que representa la ubicacin de inicio y destino al momento de brindar servicio. Clase que contiene a todos los roles que permite el sistema. Clase que contiene a todos los servicios realizados por los taxistas. Clase que contiene a todas las solicitudes de servicio por ofrecer. Clase que representa a los componentes de una va. Clase que contiene las cotizaciones o tarifario de la empresa. Clase que representar el tipo de una va. Clase que representar las unidades tanto conductor como vehculo asignado para ofrecer servicios de taxi. Clase que representar a los usuarios del sistema. Clase que contiene a todos los taxis de la empresa. Clase que representa a todas las vas de trnsito que se encuentren dentro de la cobertura de la empresa de taxi.
Tabla B.1 Diccionario de Datos

Solicitud SubVia Tarifa TipoVia Unidad Usuario Vehculo Va

ANEXO C: Catlogo de Pruebas


A continuacin se presenta las clases equivalentes y los casos de pruebas ms relevantes para el sistema.

1. Clases de equivalencia 1.1. Mdulo de Seguridad


1.1.1. Actualizar Contrasea
Campos\Clases Clases Vlidas 1<=Cant. caracteres<=6 A Clases No Vlidas Cant. caracteres <1 o Cant. caracteres >6 B Vaco C Cant. caracteres <1 o Cant. caracteres >6 E Vaco F Cant. caracteres <1 o Cant. caracteres >6 H Vaco I

Contrasea Actual

Contrasea Nueva

1<=Cant. caracteres<=6 D

Repita Contrasea

1<=Cant. caracteres<=6 G

Tabla C.1 Actualizar Contrasea.

1.1.2. Mantener Roles


Campos\Clases Clases Vlidas 1<=Cant. caracteres<=40 A Clases No Vlidas Cant. caracteres <1 o Cant. caracteres >40 B Vaco C Cant. caracteres <1 o Cant. caracteres >200 E Vaco F Cant. Permisos Existentes=0 H Cant. Permisos Asignados=0 J

Rol

Descripcin

1<=Cant. caracteres<=200 D Cant. Permisos Existentes>0 G Cant. Permisos Asignados>0 I

Permisos Existentes Permisos Asignados

Tabla C.2 Mantener Roles.

1.1.3. Mantener Usuarios


Campos\Clases Clases Vlidas 1<=Cant. caracteres<=10 A Clases No Vlidas Cant. caracteres <1 o Cant. caracteres >10 B Vaco C Cant. caracteres <1 o Cant. caracteres >40 E Vaco F Cant. caracteres <1 o Cant. caracteres >40 H Cant. caracteres <1 o Cant. caracteres >40 J Cant. Roles Disponibles=0 L Cant. Roles Asignados =0 N

Usuario

Nombres

1<=Cant. caracteres<=40 D

Ap. Paterno

1<=Cant. caracteres<=40 G 1<=Cant. caracteres<=40 I Cant. Roles Disponibles>0 K Cant. Roles Asignados>0 M

Ap. Materno Roles Disponibles Roles Asignados

Tabla C.3 Mantener Usuarios.

1.2. Mdulo de Mantenimiento


1.2.1. Configurar Parmetros del Sistema
Campos\Clases Clases Vlidas Clases No Vlidas Nmero<1 o Nmero>60 B No numrico C Vaco D

Tiempo Actualizacin de Ventana Principal

1<=Nmero<=60 A

Departamento

Departamento <> Seleccionar E

Departamento = Seleccionar F

Provincia

Provincia <> Seleccionar G

Provincia = Seleccionar H

Tabla C.4 Configurar Parmetros del Sistema.

1.2.2. Configurar Parmetros de optimizacin


Campos\Clases Clases Vlidas Clases No Vlidas Nmero<1 o Nmero>10000 B No numrico C Vaco D Nmero<1 o Nmero>10000 F No numrico G Vaco H Nmero<1 o Nmero>( Nm. de Agentes*Nm. de Iteraciones) J No numrico K Vaco L Nmero<0 o Nmero>1 N No numrico O Vaco P Nmero<0 o Nmero>1 R No numrico S Vaco T Nmero<0 o Nmero>1 V No numrico W Vaco X Nmero<0 o Nmero>1 Z No numrico A1 Vaco B1 Nmero<0 o Nmero>1 D1 No numrico E1 Vaco F1 Nmero<0 o Nmero>40 H1 No numrico I1 Vaco J1

Nmero de Agentes

1<=Nmero<=10000 A

Nmero de Iteraciones

1<=Nmero<=10000 E

Nmero de Reinicio de Feromona

1<=Nmero<=(Nm. de Agentes*Nm. de Iteraciones) I

Valor Probabilstico

0<=Nmero<=1 M

Valor Heurstico

0<=Nmero<=1 Q

Valor Aleatorio Proporcional

0<=Nmero<=1 U

Primer coeficiente de evaporacin (Varphi)

0<=Nmero<=1 Y

Segundo coeficiente de evaporacin (Rho)

0<=Nmero<=1 C1

Feromona Inicial

0<=Nmero<=40 G1

Tabla C.5 Configurar Parmetros de Optimizacin.

1.2.3. Mantener Clientes


Campos\Clases Clases Vlidas Clases No Vlidas Cant. Caracteres <1 o Cant. Caracteres >50 B Numrico C Vaco D Cant. Caracteres <1 o Cant. Caracteres >50 F Numrico G Vaco H Cant. Caracteres <1 o Cant. Caracteres >50 J Numrico K Vaco L Cant. Caracteres <1 o Cant. Caracteres >100 N Vaco O nmero de dgitos <1 o nmero de dgitos >10 Q Vaco R nmero de dgitos <1 o nmero de dgitos >12 T Cant. Caracteres <1 o Cant. Caracteres >50 V Vaco W Tipo Cliente = Seleccionar Y Sexo = Seleccionar A1 Cant. Caracteres <1 o Cant. Caracteres >50 C1 Cant. Caracteres <1 o Cant. Caracteres >50 E1 Forma de Pago = Seleccionar G1 nmero de dgitos <1 o nmero de dgitos >12 I1

Nombre

1<=Cant. Caracteres<=50 A

Ape. Paterno

1<=Cant. Caracteres<=50 E

Ape. Materno

1<=Cant. Caracteres<=50 I

Direccin

1<=Cant. Caracteres<=100 M

Telfono

1<=nmero de dgitos<=10 P

Celular

1<= nmero de dgitos <=12 S

E-Mail

1<=Cant. Caracteres<=50 U Tipo Cliente <> Seleccionar X Sexo <> Seleccionar Z 1<=Cant. Caracteres<=50 B1 1<=Cant. Caracteres<=50 D1 Forma de Pago <> Seleccionar F1 1<=nmero de dgitos<=12 H1

Tipo Cliente Sexo Empresa

rea

Forma de Pago

Cta. Bancaria

Tabla C.6 Mantener Clientes.

1.2.4. Mantener Conductores


Campos\Clases Clases Vlidas Clases No Vlidas Cant. Caracteres <1 o Cant. Caracteres >50 B Numrico C Vaco D Cant. Caracteres <1 o Cant. Caracteres >50 F Numrico G Vaco H Cant. Caracteres <1 o Cant. Caracteres >50 J Numrico K Vaco L Cant. Caracteres <1 o Cant. Caracteres >100 N Vaco O nmero de dgitos <1 o nmero de dgitos >10 Q Vaco R nmero de dgitos <1 o nmero de dgitos >12 T Cant. Caracteres <1 o Cant. Caracteres >50 V Vaco W Sexo = Seleccionar Y Cant. Caracteres <1 o Cant. Caracteres >15 A1 Vaco B1 Unidad = Seleccionar D1

Nombre

1<=Cant. Caracteres<=50 A

Ape. Paterno

1<=Cant. Caracteres<=50 E

Ape. Materno

1<=Cant. Caracteres<=50 I

Direccin

1<=Cant. Caracteres<=100 M

Telfono

1<=nmero de dgitos <=10 P

Celular

1<= nmero de dgitos <=12 S

E-Mail

1<=Cant. Caracteres<=50 U Sexo <> Seleccionar X 1<=Cant. Caracteres<=15 Z Unidad <> Seleccionar C1

Sexo

Nro. Brevete

Unidad

Tabla C.7 Mantener Conductores.

1.2.5. Mantener Vehculos


Campos\Clases Clases Vlidas 1<=Cant. Caracteres<=7 A Clases No Vlidas Cant. Caracteres <1 o Cant. Caracteres >7 B Vaco C Nmero <2000 o Nmero > Ao Actual E Vaco F Marca = Seleccionar H Modelo = Seleccionar J Color = Seleccionar L

Placa

Ao

2000<=Nmero<=Ao Actual D Marca <> Seleccionar G Modelo <> Seleccionar I Color <> Seleccionar K

Marca Modelo Color

Tabla C.8 Mantener Vehculos.

1.2.6. Mantener Tarifas y Cotizaciones


Campos\Clases Distrito Inicial Clases Vlidas Distrito Inicial <> Seleccionar A Distrito Final <> Seleccionar C 0<=Nmero<=100 E Clases No Vlidas Distrito Inicial = Seleccionar B Distrito Final = Seleccionar D Nmero <100 o Nmero > 0 F Vaco G

Distrito Final

Costo

Tabla C.9 Mantener Tarifas y Cotizaciones.

1.2.7. Mantener Lugares de Referencia


Campos\Clases Tipo Lugar Clases Vlidas Tipo Lugar <> Seleccionar A 1<=Cant. Caracteres<=50 C Distrito <> Seleccionar F Tipo Va <> Seleccionar H 1<=Cant. Caracteres<=50 J Clases No Vlidas Tipo Lugar = Seleccionar B Cant. Caracteres <1 o Cant. Caracteres >50 D Vaco E Distrito = Seleccionar G Tipo Va = Seleccionar I Cant. Caracteres <1 o Cant. Caracteres >50 K Vaco L Nmero <9000 o Nmero > 0 N Vaco O Nmero <1000 o Nmero > 0 Q Vaco R

Nombre Lugar

Distrito Tipo Va

Nombre Va

Nmero

0<=Nmero<=9000 M

Cuadra

0<=Nmero<=1000 P

Tabla C.10 Mantener Lugares de Referencia.

1.2.8. Configurar Vas


Campos\Clases Nodo Origen Clases Vlidas Nodo Origen <> Seleccionar A Nodo Destino <> Seleccionar C 0<=Nmero<=1000 E Clases No Vlidas Nodo Origen = Seleccionar B Nodo Destino = Seleccionar D Nmero <1000 o Nmero > 0 F Vaco G Nmero <1000 o Nmero > 0 I Vaco J Nmero <1000 o Nmero > 0 L Vaco M Nmero <100 o Nmero > 0 O Vaco P Nmero <100 o Nmero > 0 R Vaco S Nmero <100 o Nmero > 0 U Vaco V Nmero <100 o Nmero > 0 X

Nodo Destino

Costo

Costo Mn.

0<=Nmero<=1000 H

Costo Mx.

0<=Nmero<=1000 K

GVIH TA

0<=Nmero<=100 N

GVIH TM

0<=Nmero<=100 Q

GVIH TT

0<=Nmero<=100 T

GVIH TN

0<=Nmero<=100 W

Tabla C.11 Configurar Vas.

1.2.9. Configurar horarios de operacin


Campos\Clases Hora Fin Turno Madrugada Clases Vlidas Hora Fin Turno Madrugada <> Seleccionar A Hora Fin Turno Maana <> Seleccionar C Hora Fin Turno Tarde <> Seleccionar E Hora Fin Turno Noche <> Seleccionar G Clases No Vlidas Hora Fin Turno Madrugada = Seleccionar B Hora Fin Turno Maana = Seleccionar D Hora Fin Turno Tarde = Seleccionar F Hora Fin Turno Noche = Seleccionar H

Hora Fin Turno Maana

Hora Fin Turno Tarde

Hora Fin Turno Noche

Tabla C.12 Configurar Horarios de operacin.

1.3. Mdulo de Recepcin y Asignacin de Servicios


1.3.1. Registrar solicitudes de servicio
Campos\Clases Cliente Clases Vlidas 1<=Cant. Caracteres<=50 A Clases No Vlidas Cant. Caracteres <1 o Cant. Caracteres >50 B Vaco C Cant. Caracteres <1 o Cant. Caracteres >50 E Vaco F Distrito = Seleccionar H Tipo Va = Seleccionar J Cant. Caracteres <1 o Cant. Caracteres>50 M Vaco N Nmero <9000 o Nmero > 0 P Vaco Q Nmero <1000 o Nmero > 0 S Vaco T Distrito = Seleccionar V Tipo Va = Seleccionar X Cant. Caracteres <1 o Cant. Caracteres >50 Z Vaco A1 Nmero <9000 o Nmero > 0 C1 Vaco D1 Nmero <1000 o Nmero > 0 F1 Vaco G1 Forma de Pago = Seleccionar I1 Nmero <100 o Nmero > 0 K1 Vaco L1 Cant. Caracteres <1 o Cant. Caracteres >50 N1 Vaco O1 Cant. Caracteres <1 o Cant. Caracteres >1000 Q1

Operador

1<=Cant. Caracteres<=50 D Distrito <> Seleccionar G Tipo Va <> Seleccionar I 1<=Cant. Caracteres<=50 L

Distrito Pto. Partida Tipo Va Pto. Partida Nombre Va Pto. Partida

Nmero Pto. Partida

0<=Nmero<=9000 O

Cuadra Pto. Partida

0<=Nmero<=1000 R Distrito <> Seleccionar U Tipo Va <> Seleccionar W 1<=Cant. Caracteres<=50 Y

Distrito Pto. Llegada Tipo Va Pto. Llegada

Nombre Va Pto. Llegada

Nmero Pto. Llegada

0<=Nmero<=9000 B1

Cuadra Pto. Llegada

0<=Nmero<=1000 E1 Forma de Pago <> Seleccionar H1 0<=Nmero<=100 J1

Forma de Pago

Costo

Unidad

1<=Cant. Caracteres<=50 M1 1<=Cant. Caracteres<=1000 P1

Observaciones

Tabla C.13 Registrar solicitudes de servicio.

1.4. Mdulo de Apoyo a la gestin


1.4.1. Generar Reporte Informativo
Campos\Clases Clases Vlidas Todas las Solicitudes A 1<Identificador Solicitud<10000 B Fecha Inicio < Fecha Fin E Fecha Inicio < Fecha Fin G Clases No Vlidas Identificador Solicitud <1 o Identificador Solicitud >10000 C Vaco D Fecha Inicio >= Fecha Fin F Fecha Inicio >= Fecha Fin H

Solicitud

Fecha Inicio Fecha Fin

Tabla C.14 Generar Reporte Informativo.

10

2. Casos de pruebas 2.1. Mdulo de Seguridad


2.1.1. Actualizar Contrasea
Clases Valores Valor Esperado Pantalla 1. Secuencia de pasos Se ingresa a la opcin Contrasea en el sistema. Se ingresa los valores determinados. Se hace clic en el botn Aceptar. Resultado / Descripcin Se muestra el mensaje de xito esperado.

2. 123456, 654321, 654321 Mensaje: Cambio de contrasea exitoso 3.

ADG

1.

2. Mensaje: Contrasea Actual Incorrecta 3.

BDG

1234567, 654321,654321

Se ingresa a la opcin Contrasea en el sistema. Se ingresa los valores determinados. Se hace clic en el botn Aceptar.

Se muestra el mensaje de error esperado.

Tabla C.15 Actualizar Contrasea. 11

2.1.2. Mantener Roles


Clases Valores Valor Esperado Pantalla 1. 2. 3. Secuencia de pasos Resultado / Descripcin

Se ingresa a la opcin Se muestra el Roles en el sistema. mensaje de Se ingresa los valores xito determinados. esperado. Se hace clic en el botn Guardar.

Operador, Usuario quien realiza las atenciones, Mensaje: Rol ADGI guardado con Todos los xito permisos, Permisos Asignados

12

Clases

Valores

Valor Esperado

Pantalla 1. 2. 3.

Secuencia de pasos

Resultado / Descripcin

Se ingresa a la opcin Se muestra el Roles en el sistema. mensaje de Se ingresa los valores error determinados. esperado. Se hace clic en el botn Aceptar.

ADGJ

Operador, Usuario quien Mensaje: realiza las Permisos atenciones, Asignados: Debe asignar al Todos los permisos, No se menos un permiso asigna ningn permiso

Tabla C.16 Mantener Roles.

13

2.1.3. Mantener Usuarios


Clases Valores Valor Esperado Pantalla 1. Secuencia de pasos Resultado / Descripcin

2. 3. Operador, Juan, Carrasco, Hinostroza, ADGIKM Todos los roles disponibles, Un rol por asignar. Mensaje: Usuario: Operador Contrasea: 13456

Se ingresa a la opcin Se muestra el Usuarios en el mensaje de sistema. xito Se ingresa los valores esperado. determinados. Se hace clic en el botn Guardar.

14

Clases

Valores

Valor Esperado

Pantalla 1.

Secuencia de pasos

Resultado / Descripcin

2. 3. Operador, Juan, Carrasco, Mensaje: Roles Hinostroza, Asignados: ADGIKN Todos los roles Debe asignar al disponibles, menos un rol. Ningn rol asignado.

Se ingresa a la opcin Se muestra el Usuarios en el mensaje de sistema. error Se ingresa los valores esperado. determinados. Se hace clic en el botn Guardar.

Tabla C.17 Mantener Usuarios.

15

2.2. Mdulo de Mantenimiento


2.2.1. Configurar Parmetros del Sistema
Clases Valores Valor Esperado Pantalla 1. Secuencia de pasos Resultado / Descripcin

2. 3.

Se ingresa a la opcin Se muestra el Parmetrosmensaje de >Sistema en el xito sistema. esperado. Se ingresa los valores determinados. Se hace clic en el botn Guardar.

AEG

20, Lima, Lima

Mensaje: Configuracin guardada con xito

16

Clases

Valores

Valor Esperado

Pantalla 1.

Secuencia de pasos

Resultado / Descripcin

2. 3.

Se ingresa a la opcin Se muestra el Parmetrosmensaje de >Sistema en el error sistema. esperado. Se ingresa los valores determinados. Se hace clic en el botn Guardar.

AFH

Lima, Seleccionar, Seleccionar

Mensaje: Departamento: debe ser vlido

Tabla C.18 Configurar Parmetros del Sistema.

17

2.2.2. Configurar Parmetros de optimizacin


Clases Valores Valor Esperado Pantalla 1. Secuencia de pasos Resultado / Descripcin

2. 3.

Se ingresa a la opcin Se muestra el Parmetrosmensaje de >Algoritmo en el xito sistema. esperado. Se ingresa los valores determinados. Se hace clic en el botn Guardar.

AEIMQUY C1G1

400, 60, 2000, 2.0, 2.0, 0.2, 0.02, 0.5, 1.0

Mensaje: Configuracin guardada con xito

18

Clases

Valores

Valor Esperado

Pantalla 1.

Secuencia de pasos

Resultado / Descripcin

2. 3.

Se ingresa a la opcin Se muestra el Parmetrosmensaje de >Algoritmo en el error sistema. esperado. Se ingresa los valores determinados. Se hace clic en el botn Guardar.

Cadena Vaca, BEIMQUY 60, 2000, 2.0, C1G1 2.0, 0.2, 0.02, 0.5, 1.0

Mensaje: Nmero de agentes: debe ser vlido.

Tabla C.19 Configurar Parmetros de Optimizacin.

19

2.2.3. Mantener Clientes


Clases Valores Valor Esperado Pantalla 1. Secuencia de pasos Resultado / Descripcin

2. Armando, Vera, Sarmiento, calles Los Nogales 134 Lince, Mensaje: AEIMPS 6778120, Cliente UXZB1 990123748, guardada D1F1H1 Corporativo, con xito Masculino, BCTS, BEA, Vale

3.

Se ingresa a la Se muestra opcin Clientes en el mensaje el sistema. de xito Se ingresa los esperado. valores determinados. Se hace clic en el botn Guardar.

20

Clases

Valores

Valor Esperado

Pantalla 1.

Secuencia de pasos

Resultado / Descripcin

2. Cadena Vaca, Vera, Sarmiento, calles Los Nogales 134 Mensaje: DEIMPS Lince, Nombre: UXZB1 6778120, debe ser D1F1H1 990123748, vlido. Corporativo, Masculino, BCTS, BEA, Vale.

3.

Se ingresa a la Se muestra opcin Clientes en el mensaje el sistema. de error Se ingresa los esperado. valores determinados. Se hace clic en el botn Guardar.

Tabla C.20 Mantener Clientes.

21

2.2.4. Mantener Conductores


Clases Valores Valor Esperado Pantalla 1. Secuencia de pasos Resultado / Descripcin

2. Eduardo, Gutirrez, Villarn, Calles Los Jarabes 633 Lince, 5771284, AEIMPS 981736618, UXZC1 eduardo.gutierr ez@hotmail.co m, Masculino, 00112313412, AOH-466

3. Mensaje: Conductor guardada con xito

Se ingresa a la Se muestra opcin el mensaje Conductores en el de xito sistema. esperado. Se ingresa los valores determinados. Se hace clic en el botn Guardar.

22

Clases

Valores

Valor Esperado

Pantalla 1.

Secuencia de pasos

Resultado / Descripcin

2. Cadena Vaca, Gutirrez, Villarn, Calles Los Jarabes 633 Lince, Mensaje: 5771284, DEIMPS Nombre: 981736618, UXZC1 debe ser eduardo.gutierr vlido. ez@hotmail.co m, Masculino, 00112313412, AOH-466

3.

Se ingresa a la Se muestra opcin el mensaje Conductores en el de error sistema. esperado. Se ingresa los valores determinados. Se hace clic en el botn Guardar.

Tabla C.21 Mantener Conductores.

23

2.2.5. Mantener Vehculos


Clases Valores Valor Esperado Pantalla 1. Secuencia de pasos Resultado / Descripcin

2.

3. NGH-023, 2010, Toyota, ADGIK Corola, negro Mensaje: Unidad guardada con xito

Se ingresa a la Se muestra opcin Vehculos el mensaje en el sistema. de xito Se ingresa los esperado. valores determinados. Se hace clic en el botn Guardar.

24

Clases

Valores

Valor Esperado

Pantalla 1.

Secuencia de pasos

Resultado / Descripcin

2.

3. Cadena Vaca, Mensaje: 2010, Toyota, Placa: CDGIK Corola, negro debe ser vlido.

Se ingresa a la Se muestra opcin Vehculos el mensaje en el sistema. de error Se ingresa los esperado. valores determinados. Se hace clic en el botn Guardar.

Tabla C.22 Mantener Vehculos.

25

2.2.6. Mantener Tarifas y Cotizaciones


Clases Valores Valor Esperado Pantalla Secuencia de pasos 1. Resultado / Descripcin

2.

3.

Se ingresa a la Se muestra el opcin Tarifas mensaje de en el sistema. xito Se ingresa los esperado. valores determinados. Se hace clic en el botn Guardar.

ACE

San Miguel, Mensaje: Magdalena, Tarifa 16.0 guardada con xito

26

Clases

Valores

Valor Esperado

Pantalla

Secuencia de pasos 1.

Resultado / Descripcin

2.

3.

Se ingresa a la Se muestra el opcin Tarifas mensaje de en el sistema. error Se ingresa los esperado. valores determinados. Se hace clic en el botn Guardar.

ACG

Mensaje: San Miguel, Costo: debe Magdalena, ser un Cadena Vaca, nmero vlido.

Tabla C.23 Mantener Tarifas y Cotizaciones.

27

2.2.7. Mantener Lugares de Referencia


Clases Valores Valor Esperado Pantalla Secuencia de pasos 1. Resultado / Descripcin

2.

Colegio, Mensaje: Bartolom Herrera San Lugar de ACFHJM Miguel, Avenida, Referencia P La Marina 1210, guardado con xito 12

3.

Se ingresa a la Se muestra el opcin Lugar de mensaje de Referencia en el xito sistema. esperado. Se ingresa los valores determinados. Se hace clic en el botn Guardar.

28

Clases

Valores

Valor Esperado

Pantalla

Secuencia de pasos 1.

Resultado / Descripcin

2.

<Seleccionar>, Bartolom Mensaje: Herrera San Tipo de BCFHJM Miguel, Avenida, Lugar: debe P La Marina 1210, seleccionar algn tipo. 12

3.

Se ingresa a la Se muestra el opcin Lugar de mensaje de Referencia en el error sistema. esperado. Se ingresa los valores determinados. Se hace clic en el botn Guardar.

Tabla C.24 Mantener Lugares de Referencia.

29

2.2.8. Configurar Vas


Clases Valores Valor Esperado Pantalla Secuencia de pasos 1. Resultado / Descripcin

2.

3.

Se ingresa a la Se muestra el opcin Vas -> mensaje de Configurar Vas xito en el sistema. esperado. Se ingresa los valores determinados. Se hace clic en el botn Guardar.

Mensaje: Nodo 1, Nodo Configuracin 39, 120, ACEHKNQ de va 0,0,0,0,0,0 TW guardado con xito

30

Clases

Valores

Valor Esperado

Pantalla

Secuencia de pasos 1.

Resultado / Descripcin

2.

3.

Se ingresa a la Se muestra el opcin Vas -> mensaje de Configurar Vas xito en el sistema. esperado. Se ingresa los valores determinados. Se hace clic en el botn Guardar.

Mensaje: Nodo 1, Nodo Configuracin 39, 120, ACEHKNQ de va 0,0,0,0,0,0 TW guardado con xito

Tabla C.25 Configurar Vas.

31

2.2.9. Configurar Horarios de operacin


Clases Valores Valor Esperado Pantalla 1. Secuencia de pasos Resultado / Descripcin

2.

ACEG

06:00, 12:00, 18:00, 00:00

Mensaje: Horario guardado con xito

3.

Se ingresa a la Se muestra el opcin Vas -> mensaje de Configurar Horario xito en el sistema. esperado. Se ingresa los valores determinados. Se hace clic en el botn Guardar.

32

Clases

Valores

Valor Esperado

Pantalla 1.

Secuencia de pasos

Resultado / Descripcin

2. Mensaje: Turno Madrugada: intervalo incorrecto

BCEG

00:00, 12:00, 18:00, 00:00

3.

Se ingresa a la Se muestra el opcin Vas -> mensaje de Configurar Horario error en el sistema. esperado. Se ingresa los valores determinados. Se hace clic en el botn Guardar.

Tabla C.26 Configurar Horarios de operacin.

33

2.3. Mdulo de Recepcin y Asignacin de Servicios


2.3.1. Registrar solicitudes de servicio
Clases Valores Valor Esperado Pantalla 1. Secuencia de pasos Resultado / Descripcin

Mori Muoz Jos, Ortega Bulnes Miguel ngel, <Seleccionar>, <Seleccionar>, Cadena Vaca, Cadena Vaca, ADGILORUW Cadena Vaca, YB1E1H1J1 <Seleccionar>, M1P1 <Seleccionar>, Cadena Vaca, Cadena Vaca, CadenaVaca, efectivo, 16.00, Jos Carlos Fernndez, Tocar el timbre

2.

3.

Se ingresa a la Se muestra el opcin Registrar mensaje de Solicitud en el xito sistema. esperado. Se ingresa los valores determinados. Se hace clic en el botn Guardar.

Mensaje: Solicitud guardada con xito

34

Clases

Valores

Valor Esperado

Pantalla 1.

Secuencia de pasos

Resultado / Descripcin

2. Mori Muoz Jos, Ortega Bulnes Miguel ngel, San Miguel, Avenida, Universitaria, 1810, Mensaje: ADHILORUW Distrito de 18, YB1E1H1J1 Pueblo Libre, Partida: Debe M1P1 Jirn, Paracas, seleccionar el distrito 210, 2, efectivo, 16.00, Jos Carlos Fernndez, Tocar el timbre

3.

Se ingresa a la Se muestra el opcin Registrar mensaje de Solicitud en el error sistema. esperado. Se ingresa los valores determinados. Se hace clic en el botn Guardar.

Tabla C.27 Registrar solicitudes de servicio.

35

2.4. Mdulo de Apoyo a la gestin


2.4.1. Generar Reporte Informativo
Clases Valores Valor Esperado Pantalla 1. Secuencia de pasos Resultado / Descripcin

2.

3.

Se ingresa a la Se muestra el opcin Reporte de mensaje de Solicitud en el xito sistema. esperado. Se ingresa los valores determinados. Se hace clic en el botn Guardar.

AEG

Todos, 01/08/2010, 31/08/2010

Listado de solicitudes

36

Clases

Valores

Valor Esperado

Pantalla 1.

Secuencia de pasos

Resultado / Descripcin

2.

3.

Se ingresa a la Se muestra el opcin Reporte de mensaje de Solicitud en el error sistema. esperado. Se ingresa los valores determinados. Se hace clic en el botn Guardar.

AFH

Todos, 31/08/2010, 01/08/2010

Mensaje: Reporte: El rango de fechas es incorrecto

Tabla C.28 Generar Reporte Informativo.

37

ExperimentacinNumrica AlgoritmoAntColonySystem
Caso#1
N 1 2 3 4 5 6 7 8 NIteraciones 1 1 1 1 5 5 5 5 NdeAgentes 200 200 200 200 200 200 200 200 NparaReiniciarel RastrodeFeromona

1 1 1 1 1 1 1 1

2 2 2 2 2 2 2 2

0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1

0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1

q0
0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9

0
1 1 1 1 1 1 1 1

Distancia (metros) 740 740 780 790 740 740 740 740

Variacin (+) 0 0 40 50 0 0 0 0

Caso#1 Variabledeestudio: Distanciatotalrecorrida NodoOrigen: 103 NodoDestino: 12 Distanciamnima: 740 Tamaodelamuestra:12

Caso#2
N 1 2 3 4 5 6 7 8 9 10 11 12 NIteraciones 1 1 1 1 5 5 5 5 5 5 5 5 NdeAgentes 200 200 200 200 200 200 200 200 200 200 200 200 NparaReiniciarel RastrodeFeromona

1 1 1 1 1 1 1 1 1 1 1 1

2 2 2 2 2 2 2 2 2 2 2 2

0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.02 0.02 0.02 0.02

0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.5 0.5 0.5 0.5

q0
0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9

0
1 1 1 1 1 1 1 1 1 1 1 1

Distancia (metros) 780 730 730 760 760 780 760 730 730 730 730 730

Variacin (+) 50 0 0 30 30 50 30 0 0 0 0 0

Caso#2 Variabledeestudio: Distanciatotalrecorrida NodoOrigen: 12 NodoDestino: 103 Distanciamnima: 730 Tamaodelamuestra:28

Caso#3
N 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 NIteraciones 1 1 1 1 5 5 5 5 5 5 5 5 10 10 10 10 20 20 20 20 NdeAgentes 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 NparaReiniciarel RastrodeFeromona 2000 2000 2000 2000

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2

0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02

0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5

q0
0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9

0
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

Distancia (metros) 1200 1120 1050 1240 1200 1030 1170 1200 1200 1000 990 990 1170 990 990 990 990 990 990 990

Variacin (+) 210 130 60 250 210 40 180 210 210 10 0 0 180 0 0 0 0 0 0 0

Caso#3 Variabledeestudio: Distanciatotalrecorrida NodoOrigen: 161 NodoDestino: 107 Distanciamnima: 990 Tamaodelamuestra:20

Caso#4
N 1 2 3 4 5 6 7 8 9 10 11 12 13 NIteraciones 1 1 1 1 5 5 5 5 5 5 5 5 10 NdeAgentes 200 200 200 200 200 200 200 200 200 200 200 200 200 NparaReiniciarel RastrodeFeromona

1 1 1 1 1 1 1 1 1 1 1 1 1

2 2 2 2 2 2 2 2 2 2 2 2 2

0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.02 0.02 0.02 0.02 0.02

0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.5 0.5 0.5 0.5 0.5

q0
0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9

0
1 1 1 1 1 1 1 1 1 1 1 1 1

Distancia (metros) 990 1195 1050 1055 990 1120 1050 1105 990 990 990 1160 990

Variacin (+) 0 205 60 65 0 130 60 115 0 0 0 170 0

Caso#4 Variabledeestudio: Distanciatotalrecorrida NodoOrigen: 107 NodoDestino: 161 Distanciamnima: 990 Tamaodelamuestra:20

14 15 16 17 18 19 20

10 10 10 20 20 20 20

200 200 200 200 200 200 200

2000 2000 2000 2000

1 1 1 1 1 1 1

2 2 2 2 2 2 2

0.02 0.02 0.02 0.02 0.02 0.02 0.02

0.5 0.5 0.5 0.5 0.5 0.5 0.5

0.9 0.9 0.9 0.9 0.9 0.9 0.9

1 1 1 1 1 1 1

990 990 1120 990 990 990 990

0 0 130 0 0 0 0

Caso#5
N 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 NIteraciones 1 1 1 1 5 5 5 5 5 5 5 5 10 10 10 10 20 20 20 20 30 30 30 30 40 40 40 40 NdeAgentes 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 300 300 300 300 300 300 300 300 NparaReiniciarel RastrodeFeromona 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2

0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02

0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5

q0
0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9

0
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

Distancia (metros) 1170 1135 1225 1345 1135 1185 1130 1120 930 1135 1240 1080 1185 1120 930 1170 930 1135 930 1060 930 930 960 1120 930 930 930 930

Variacin (+) 240 205 295 415 205 255 200 190 0 205 310 150 255 190 0 240 0 205 0 130 0 0 30 190 0 0 0 0

Caso#5 Variabledeestudio: Distanciatotalrecorrida NodoOrigen: 103 NodoDestino: 170 Distanciamnima: 930 Tamaodelamuestra:68

Caso#6
N 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 NIteraciones 1 1 1 1 5 5 5 5 40 40 40 40 40 40 40 40 50 50 50 50 NdeAgentes 200 200 200 200 200 200 200 200 300 300 300 300 400 400 400 400 400 400 400 400 NparaReiniciarel RastrodeFeromona 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2

0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02

0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5

q0
0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9

0
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

Distancia (metros) 880 965 820 1145 675 760 675 795 655 675 675 675 655 675 655 655 675 655 655 655

Variacin (+) 225 310 165 490 20 105 20 140 0 20 20 20 0 20 0 0 0 0 0 0

Caso#6 Variabledeestudio: Distanciatotalrecorrida NodoOrigen: 93 NodoDestino: 17 Distanciamnima: 655 Tamaodelamuestra:72

Caso#7
N 1 2 3 4 5 6 NIteraciones 1 1 1 1 5 5 NdeAgentes 200 200 200 200 200 200 NparaReiniciarel RastrodeFeromona

1 1 1 1 1 1

2 2 2 2 2 2

0.1 0.1 0.1 0.1 0.1 0.1

0.1 0.1 0.1 0.1 0.1 0.1

q0
0.9 0.9 0.9 0.9 0.9 0.9

0
1 1 1 1 1 1

Distancia (metros) 790 820 880 815 790 790

Variacin (+) 0 30 90 25 0 0

Caso#7 Variabledeestudio: Distanciatotalrecorrida NodoOrigen: 0 NodoDestino: 61 Distanciamnima: 790 Tamaodelamuestra:12

7 8 9 10 11 12

5 5 50 50 50 50

200 200 400 400 400 400

2000 2000 2000 2000

1 1 1 1 1 1

2 2 2 2 2 2

0.1 0.1 0.02 0.02 0.02 0.02

0.1 0.1 0.5 0.5 0.5 0.5

0.9 0.9 0.9 0.9 0.9 0.9

1 1 1 1 1 1

790 815 790 790 790 790

0 25 0 0 0 0

Caso#8
N 1 2 3 4 5 6 7 8 9 10 11 12 NIteraciones 1 1 1 1 5 5 5 5 50 50 50 50 NdeAgentes 200 200 200 200 200 200 200 200 400 400 400 400 NparaReiniciarel RastrodeFeromona 2000 2000 2000 2000

1 1 1 1 1 1 1 1 1 1 1 1

2 2 2 2 2 2 2 2 2 2 2 2

0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.02 0.02 0.02 0.02

0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.5 0.5 0.5 0.5

q0
0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9

0
1 1 1 1 1 1 1 1 1 1 1 1

*750

Distancia (metros) 960 860 875 1005 870 975 800 915 740 740 740 740

Variacin (+) 220 120 135 265 130 235 60 175 0 0 0 0

Caso#8 Variabledeestudio: Distanciatotalrecorrida NodoOrigen: 33 NodoDestino: 87 Distanciamnima: 740 Tamaodelamuestra:72

Caso#9
N 1 2 3 4 5 6 7 8 9 10 11 12 NIteraciones 1 1 1 1 5 5 5 5 50 50 50 50 NdeAgentes 200 200 200 200 200 200 200 200 400 400 400 400 NparaReiniciarel RastrodeFeromona 2000 2000 2000 2000

1 1 1 1 1 1 1 1 1 1 1 1

2 2 2 2 2 2 2 2 2 2 2 2

0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.02 0.02 0.02 0.02

0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.5 0.5 0.5 0.5

q0
0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9

0
1 1 1 1 1 1 1 1 1 1 1 1

Distancia (metros) 630 790 700 835 630 750 630 630 630 630 630 630

Variacin (+) 0 160 70 205 0 120 0 0 0 0 0 0

Caso#9 Variabledeestudio: Distanciatotalrecorrida NodoOrigen: 4 NodoDestino: 107 Distanciamnima: 630 Tamaodelamuestra:16

Caso#10
N 1 2 3 4 5 6 7 8 9 10 11 12 NIteraciones 1 1 1 1 5 5 5 5 50 50 50 50 NdeAgentes 200 200 200 200 200 200 200 200 400 400 400 400 NparaReiniciarel RastrodeFeromona 2000 2000 2000 2000

1 1 1 1 1 1 1 1 1 1 1 1

2 2 2 2 2 2 2 2 2 2 2 2

0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.02 0.02 0.02 0.02

0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.5 0.5 0.5 0.5

q0
0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9

0
1 1 1 1 1 1 1 1 1 1 1 1

Distancia (metros) 940 875 850 880 850 875 875 850 850 850 850 850

Variacin (+) 90 25 0 30 0 25 25 0 0 0 0 0

Caso#10 Variabledeestudio: Distanciatotalrecorrida NodoOrigen: 61 NodoDestino: 161 Distanciamnima: 850 Tamaodelamuestra:32

Caso#11
N 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 NIteraciones 1 1 1 1 5 5 5 5 50 50 50 50 60 60 60 NdeAgentes 200 200 200 200 200 200 200 200 400 400 400 400 400 400 400 NparaReiniciarel RastrodeFeromona 2000 2000 2000 2000 2000 2000 2000

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

2 2 2 2 2 2 2 2 2 2 2 2 2 2 2

0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.02 0.02 0.02 0.02 0.02 0.02 0.02

0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.5 0.5 0.5 0.5 0.5 0.5 0.5

q0
0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9

0
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

Distancia (metros) 1105 1175 1085 1055 1190 1000 1055 1100 880 880 880 920 880 880 880

Variacin (+) 225 295 205 175 310 120 175 220 0 0 0 40 0 0 0

Caso#11 Variabledeestudio: Distanciatotalrecorrida NodoOrigen: 167 NodoDestino: 106 Distanciamnima: 880 Tamaodelamuestra:72

16

60

400

2000

0.02

0.5

0.9

880

Caso#12
N 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 NIteraciones 1 1 1 1 5 5 5 5 50 50 50 50 60 60 60 60 NdeAgentes 200 200 200 200 200 200 200 200 400 400 400 400 400 400 400 400 NparaReiniciarel RastrodeFeromona 2000 2000 2000 2000 2000 2000 2000 2000

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2

0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02

0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5

q0
0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9

0
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

Distancia (metros) 1000 910 850 910 705 910 790 820 705 705 705 705 705 705 705 705

Variacin (+) 295 205 145 205 0 205 85 115 0 0 0 0 0 0 0 0

Caso#12 Variabledeestudio: Distanciatotalrecorrida NodoOrigen: 95 NodoDestino: 163 Distanciamnima: 705 Tamaodelamuestra:72

Caso#13
N 1 2 3 4 5 6 7 8 9 10 11 12 NIteraciones 1 1 1 1 5 5 5 5 60 60 60 60 NdeAgentes 200 200 200 200 200 200 200 200 400 400 400 400 NparaReiniciarel RastrodeFeromona 2000 2000 2000 2000

1 1 1 1 1 1 1 1 1 1 1 1

2 2 2 2 2 2 2 2 2 2 2 2

0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.02 0.02 0.02 0.02

0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.5 0.5 0.5 0.5

q0
0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9

0
1 1 1 1 1 1 1 1 1 1 1 1

Distancia (metros) 600 600 600 600 600 600 600 600 600 600 600 600

Variacin (+) 0 0 0 0 0 0 0 0 0 0 0 0

Caso#13 Variabledeestudio: Distanciatotalrecorrida NodoOrigen: 35 NodoDestino: 0 Distanciamnima: 600 Tamaodelamuestra:8

Caso#14
N 1 2 3 4 5 6 7 8 9 10 11 12 NIteraciones 1 1 1 1 5 5 5 5 60 60 60 60 NdeAgentes 200 200 200 200 200 200 200 200 400 400 400 400 NparaReiniciarel RastrodeFeromona 2000 2000 2000 2000

1 1 1 1 1 1 1 1 1 1 1 1

2 2 2 2 2 2 2 2 2 2 2 2

0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.02 0.02 0.02 0.02

0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.5 0.5 0.5 0.5

q0
0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9

0
1 1 1 1 1 1 1 1 1 1 1 1

Distancia (metros) 520 555 550 670 520 520 520 520 520 520 520 520

Variacin (+) 0 35 30 150 0 0 0 0 0 0 0 0

Caso#14 Variabledeestudio: Distanciatotalrecorrida NodoOrigen: 49 NodoDestino: 15 Distanciamnima: 520 Tamaodelamuestra:12

Caso#15
N 1 2 3 4 5 6 7 8 9 10 11 12 NIteraciones 1 1 1 1 5 5 5 5 60 60 60 60 NdeAgentes 200 200 200 200 200 200 200 200 400 400 400 400 NparaReiniciarel RastrodeFeromona 2000 2000 2000 2000

1 1 1 1 1 1 1 1 1 1 1 1

2 2 2 2 2 2 2 2 2 2 2 2

0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.02 0.02 0.02 0.02

0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.5 0.5 0.5 0.5

q0
0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9

0
1 1 1 1 1 1 1 1 1 1 1 1

Distancia (metros) 915 1295 985 855 855 855 855 855 795 795 795 795

Variacin (+) 120 500 190 60 60 60 60 60 0 0 0 0

Caso#15 Variabledeestudio: Distanciatotalrecorrida NodoOrigen: 174 NodoDestino: 79 Distanciamnima: 795 Tamaodelamuestra:72

N Nodo Nodo Distancia Caso Origen Destino Mn.


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 103 12 161 107 103 93 0 33 4 61 167 95 35 49 174 12 103 107 161 170 17 61 87 107 161 106 163 0 15 79 740 730 990 990 930 655 790 740 630 850 880 705 600 520 795

ParmetrosdeOptimizacin
NparaReiniciarel N N Rastro deFeromona Iteraciones Agentes
5 5 20 20 40 50 50 50 50 50 60 60 60 60 60 200 200 200 200 300 400 400 400 400 400 400 400 400 400 400 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

2 2 2 2 2 2 2 2 2 2 2 2 2 2 2

0.1 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02

0.1 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5

q0
0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9

0
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

Parmetrosde Optimizacin
NIteraciones NAgentes NReinicioFeromona Alfa Beta Phi Rho ValorAleatorioProporcional FeromonaInicial

Valor
60 400 2000 1 2 0.02 0.5 0.9 1

ANEXO E: Tecnologas utilizadas 1. Tecnologas


Esta seccin contiene una presentacin de las tecnologas ms representativas utilizadas en el desarrollo del sistema de informacin propuesto.

1.1. Descripcin
1.1.1. iReports
Nombre Tipo Uso Versin Funcin : : : : : iReports Software Libre 3.7.2 Permitir disear los reportes informativos y estadsticos del sistema.

1.1.2. Grafos
Nombre Tipo Uso Versin Funcin : : : : : Grafos Software Libre 1.2.9 Permitir construir un grafo con informacin de las zonas y calles de ciudades.

1.1.3. GrahML File Format


Nombre Tipo Uso Versin : : : : GraphML Formato de archivo Libre 1.0 1

Funcin

Permitir representar la estructura de un grafo y sus propiedades en un archivo basado en XML.

1.2. Presentacin
1.2.1. iReports

Figura E.1 Software iReports.

1.2.2. Grafos

Figura E.2 Software Grafos.

1.2.3. GrahML File Format

Figura E.3 Formato de archivo GraphML

Você também pode gostar