heuristica de clarke and wright en google maps

5
Servicio de resolución del problema de guiado de vehículos basado en Google Maps A service for solving the Vehicle Routing Problem based on Google Maps Autor: José Fernando Acosta García Directores: José Francisco Chicano García, Enrique Alba Torres Introducción El problema de guiado de vehículos (VRP) consiste en encontrar un conjunto de rutas óptimas para realizar el reparto de una serie de paquetes a sus correspondientes destinos [TV01]. Todos los paquetes se encuentran inicialmente en un almacén y los transportistas deben repartirlos de forma que se minimice el tiempo de reparto o el coste del mismo. Además hay que tener en cuenta que los vehículos usados para el transporte tienen una capacidad limitada y una tasa de consumo de combustible determinada. Este problema tiene un gran interés para las empresas de transporte y logística, ya que el uso de rutas óptimas o casi óptimas supone un ahorro importante en el coste para la empresa. Figura 1 Una solución para una instancia del problema VRP Dado su gran interés, este problema ha sido abordado por multitud de investigadores en todo el mundo y existe una gran cantidad de proyectos de investigación y congresos centrados en él. Asimismo, existen distintas variantes entre las que cabe destacar VRP con límites de capacidad (CVRP) [LGW04] o VRP con ventanas de tiempo (VRPTW) [Sol95]. Sin embargo, incluso en sus versiones más simples el problema es NP-difícil. Esto significa que por el momento las técnicas exactas conocidas para obtener el óptimo global de cualquier instancia del problema requieren un tiempo exponencial con respecto al tamaño del mismo. Este hecho ha motivado la investigación de técnicas aproximadas para la resolución del problema y hoy en día existe un amplio abanico de métodos de optimización desarrollados para resolverlo [NEO].

Upload: diogenes-ojeda

Post on 07-Nov-2015

32 views

Category:

Documents


3 download

DESCRIPTION

Heuristica de Clark and Writes

TRANSCRIPT

  • Servicio de resolucin del problema de guiado de vehculos basado en Google Maps

    A service for solving the Vehicle Routing Problem

    based on Google Maps

    Autor: Jos Fernando Acosta Garca Directores: Jos Francisco Chicano Garca, Enrique Alba Torres

    Introduccin El problema de guiado de vehculos (VRP) consiste en encontrar un conjunto de rutas ptimas para realizar el reparto de una serie de paquetes a sus correspondientes destinos [TV01]. Todos los paquetes se encuentran inicialmente en un almacn y los transportistas deben repartirlos de forma que se minimice el tiempo de reparto o el coste del mismo. Adems hay que tener en cuenta que los vehculos usados para el transporte tienen una capacidad limitada y una tasa de consumo de combustible determinada. Este problema tiene un gran inters para las empresas de transporte y logstica, ya que el uso de rutas ptimas o casi ptimas supone un ahorro importante en el coste para la empresa.

    Figura 1 Una solucin para una instancia del problema VRP

    Dado su gran inters, este problema ha sido abordado por multitud de investigadores en todo el mundo y existe una gran cantidad de proyectos de investigacin y congresos centrados en l. Asimismo, existen distintas variantes entre las que cabe destacar VRP con lmites de capacidad (CVRP) [LGW04] o VRP con ventanas de tiempo (VRPTW) [Sol95]. Sin embargo, incluso en sus versiones ms simples el problema es NP-difcil. Esto significa que por el momento las tcnicas exactas conocidas para obtener el ptimo global de cualquier instancia del problema requieren un tiempo exponencial con respecto al tamao del mismo. Este hecho ha motivado la investigacin de tcnicas aproximadas para la resolucin del problema y hoy en da existe un amplio abanico de mtodos de optimizacin desarrollados para resolverlo [NEO].

  • Podemos clasificar estas tcnicas en tres grandes categoras: tcnicas exactas, heursticas ad hoc y metaheursticas. Como mencionamos anteriormente, las tcnicas exactas [Fisher94] permiten encontrar una solucin ptima al problema pero suelen ser costosas computacionalmente. No obstante, estas tcnicas son muy tiles cuando el tamao de las instancias a resolver es pequeo. Un ejemplo destacado es Ramificacin y Poda (Branch & Bound). Por otro lado, las heursticas ad hoc son algoritmos especialmente diseados para resolver un problema concreto, VRP en el caso que nos ocupa. Aunque no aseguran obtener una solucin ptima, normalmente consiguen una solucin casi ptima en tiempo polinomial. Algunos ejemplos de heursticas ad hoc para VRP son: la heurstica de Clarke y Wright [CR94] y la de Fisher y Jaikumar [FJ81]. Finalmente, las tcnicas metaheursticas son algoritmos de optimizacin global cuya estructura es general y no depende del problema de optimizacin concreto que resuelven. El principal vnculo con el problema a resolver se establece a travs de una funcin de evaluacin o funcin objetivo que indica a la metaheurstica cul es la calidad de una solucin determinada. Estos algoritmos han obtenido en muchos casos las mejores soluciones conocidas para determinadas instancias de VRP populares en la literatura especfica [AD06]. Algunos ejemplos de tcnicas metaheursticas son: algoritmos genticos [Gold89], optimizacin basada en colonias de hormigas [DS04] y enfriamiento simulado [KGV83]. La mayora de las implementaciones de algoritmos que resuelven el problema usan como entrada un fichero de texto plano. En dicho fichero se presentan las coordenadas de los distintos puntos de reparto y del almacn. Adems, se indican otras caractersticas asociadas a los vehculos o a los puntos de entrega, como por ejemplo: la capacidad de los vehculos, la ventana de tiempo dentro de la cual debe hacerse la entrega, etc. Desde el punto de vista de una empresa, la generacin de estos ficheros de texto puede ser tediosa. En este sentido, Google Maps [GM] puede ser de gran ayuda para especificar con un simple click de ratn los puntos geogrficos relevantes para el problema.

    Figura 2 Una imagen de Google Maps mostrando una ruta en Mlaga

  • No slo se puede usar Google Maps para la especificacin de los puntos de reparto, sino que es posible utilizar sus servicios web para cosultar la distancia y el tiempo estimado para llegar desde uno a otro. Estos datos forman parte de la informacin bsica que necesitan los algoritmos de resolucin para proponer las rutas que ms tarde recorrern los vehculos. Google Maps ofrece una API en Javascript [GMA] para realizar todas estas consultas desde cualquier navegador Web. As pues, la combinacin de Google Maps junto con los algoritmos de resolucin del problema VRP permiten, en principio, desarrollar un servicio para calcular cmodamente rutas (casi) optimas de reparto. Al ofrecerse a travs de la Web, dicho servicio posee el don de la ubicuidad, permitiendo a personas de todo el mundo hacer uso del mismo sin importar donde se encuentren: un claro ejemplo de transferencia de conocimiento a la Sociedad. Objetivos El objetivo del presente proyecto consiste en desarrollar un servicio para resolver el problema de guiado de vehculos (VRP) en algunas de sus variantes usando Google Maps como base para la especificacin de los puntos relevantes y el clculo de la distancia entre puntos. El servicio se ofrecer a travs de una interfaz Web donde los clientes deben registrarse y pueden crear diferentes solicitudes de resolucin. El cliente deber marcar la localizacin del almacn y los destinos en un mapa de Google Maps y el sistema deber proporcionar una solucin de acuerdo con las preferencias del cliente (minimizar distancia o tiempo). Las solicitudes y soluciones se almacenarn en una base de datos para que el cliente las modifique o elimine cuando estime oportuno. Para la programacin de la aplicacin en el servidor se usar Java. En particular se programarn servlets y pginas JSP que interactuarn con la base de datos y con el servicio de optimizacin remota. Estos servlets sern ejecutados dentro de un Servidor Web Tomcat configurado para establecer conexiones seguras con los navegadores por medio de SSL (Socket Secure Layer). La base de datos se implementar en MySQL haciendo uso de herramientas CASE para su diseo. La parte de la aplicacin que se ejecuta en el lado del cliente se implementar con Javascript inmerso en pginas HTML. El cdigo implementado deber acceder a la API de Google Maps para consultar informacin geogrfica. Como se puede observar, el proyectando deber dominar una gran variedad de tecnologas para desarrollar el proyecto. Fases del proyecto El proyecto se realizar siguiendo un proceso de desarrollo en espiral. En cada iteracin se irn incorporando nuevas funciones a la herramienta. A continuacin se muestran las distintas iteraciones para el desarrollo de la herramienta final. Estas iteraciones se corresponden con las distintas fases del proyecto.

    1. Disear y desarrollar una versin simple de la interfaz en HTML y del servidor (servlets) que permita el envo al servidor de los puntos marcados en el navegador Web usando un mapa de Google Maps inmerso en la pgina Web.

  • 2. Aadir la funcin de consulta de distancias entre puntos usando la API en Javascript y la informacin que ofrece Google Maps.

    3. Aadir una capa de seguridad al sistema usando SSL para establecer un canal

    seguro de paso de informacin entre el cliente y el servidor.

    4. Disear una base de datos para almacenar la informacin de las solicitudes de resolucin de los clientes y soluciones de las mismas. Se usarn herramientas CASE para el diseo y se implementar en MySQL.

    5. Aadir un sistema de autenticacin para entrar al sistema y crear pginas Web para gestionar las solicitudes de los usuarios.

    6. Aadir al sistema una conexin con un sistema de optimizacin remota que

    permita resolver las solicitudes planteadas por los clientes. Este sistema podr ejecutarse en una mquina diferente y debern enviarse los detalles de las instancias por un canal seguro de comunicacin. Dependiendo de la urgencia del resultado el sistema debe escoger entre un amplio abanico de tcnicas de resolucin.

    7. Crear manuales de uso y pginas Web de ayuda para los usuarios. Mejorar las

    pginas Web del servicio desde un punto de vista esttico haciendo uso de hojas de estilo CSS y datos en XML para homogeneizar el aspecto visual.

    Medios materiales

    Equipo porttil o PC Entorno de desarrollo Java Adobe Dreamweaver para el desarrollo de las pginas Web, hojas de estilo y

    documentos XML

    Herramientas CASE para el diseo de los diagramas UML y la base de datos

    Servidores Web Tomcat

    Servidor de base de datos MySQL

    Editor de textos y compilador de LaTeX para la memoria y documentos intermedios.

    Libros y artculos aportados por los directores del proyecto. Revistas de la

    hemeroteca y de acceso electrnico.

  • Referencias [AD06] E. Alba, B. Dorronsoro, Computing Nine New Best-So-Far Solutions for

    Capacitated VRP with a Cellular Genetic Algorithm, Information Processing Letters, 98(6):225-230. 2006. ISSN: 0020-0190.

    [CR64] G. Clarke and J. Wright "Scheduling of vehicles from a central depot to a

    number of delivery points", Operations Research, 12 (4), 568-581, 1964. [DS04] Dorigo, M. & Sttzle, T. Ant Colony Optimization The MIT Press, 2004 [Fisher94] M. L. Fisher, "Optimal Solution of Vehicle Routing Problems Using

    Minimum K-trees", Operations Research 42, 626-642, 1994 [FJ81] M. L. Fisher and R. Jaikumar. "A Generalized Assignment Heuristic for

    Vehicle Routing". Networks, 11:109-124, 1981 [GM] http://maps.google.com

    [GMA] http://code.google.com/intl/es-ES/apis/maps/ [Gold89] Goldberg, D. E. Genetic Algorithms in Search, Optimization and

    Machine Learning Addison-Wesley, 1989 [KGV83] Kirkpatrick, S.; Gelatt, C. D. & Vecchi, M. P. Optimization by Simulated

    Annealing Science, 1983, 4598, 671-680 [LGW04] F. Li, B. Golden, E. Wasil: "Very large-scale vehicle routing: new test

    problems, algorithms, and results". Computers & Operations Research, 32 (5), pp. 1165-1179. 2005.

    [NEO] http://neo.lcc.uma.es/radi-aeb/WebVRP/index.html [Sol95] M. M. Solomon. "Algorithms for the Vehicle Routing Problem with

    Time Windows". Transportation Science, 29(2), pp. 156-166. 1995. [TV01] P. Toth, D. Vigo: "The Vehicle Routing Problem". Monographs on

    Discrete Mathematics and Applications. SIAM, Philadelphia. 2001.