GMOR Google Maps para la Optimización de Rutas. Índice Introducción Problema de Enrutamiento de...

21
GMOR GMOR Google Maps para la Google Maps para la Optimización de Rutas Optimización de Rutas

Transcript of GMOR Google Maps para la Optimización de Rutas. Índice Introducción Problema de Enrutamiento de...

Page 1: GMOR Google Maps para la Optimización de Rutas. Índice  Introducción  Problema de Enrutamiento de Vehículos (VRP)  Problemas Clásicos  Nuestro Caso.

GMORGMOR

Google Maps para la Google Maps para la Optimización de RutasOptimización de Rutas

Page 2: GMOR Google Maps para la Optimización de Rutas. Índice  Introducción  Problema de Enrutamiento de Vehículos (VRP)  Problemas Clásicos  Nuestro Caso.

ÍndiceÍndice

IntroducciónIntroducción Problema de Enrutamiento de Vehículos (VRP)Problema de Enrutamiento de Vehículos (VRP) Problemas ClásicosProblemas Clásicos Nuestro Caso Práctico: Transporte EscolarNuestro Caso Práctico: Transporte Escolar Método de ResoluciónMétodo de Resolución DemoDemo FuturoFuturo ConclusionesConclusiones

Page 3: GMOR Google Maps para la Optimización de Rutas. Índice  Introducción  Problema de Enrutamiento de Vehículos (VRP)  Problemas Clásicos  Nuestro Caso.

Introducción - SIGIntroducción - SIG

¿Qué es un SIG?¿Qué es un SIG?

Un Sistema de Información Geográfica es una Un Sistema de Información Geográfica es una integración organizada de hardware, software, integración organizada de hardware, software, datos geográficos y personal, diseñado para datos geográficos y personal, diseñado para capturar, almacenar, manipular, analizar y capturar, almacenar, manipular, analizar y desplegar en todas sus formas la información desplegar en todas sus formas la información geográficamente referenciada con el fin de geográficamente referenciada con el fin de resolver problemas complejos de planificación y resolver problemas complejos de planificación y gestión.gestión.

Page 4: GMOR Google Maps para la Optimización de Rutas. Índice  Introducción  Problema de Enrutamiento de Vehículos (VRP)  Problemas Clásicos  Nuestro Caso.

Introducción – Google MapsIntroducción – Google Maps

¿Qué es Google Maps?¿Qué es Google Maps?

Google MapsGoogle Maps es el nombre de un servicio gratuito de es el nombre de un servicio gratuito de GoogleGoogle. Es un servidor de aplicaciones de mapas en Web. . Es un servidor de aplicaciones de mapas en Web. Ofrece imágenes de mapas desplazables, así como fotos Ofrece imágenes de mapas desplazables, así como fotos de satélite del mundo entero e incluso la ruta entre de satélite del mundo entero e incluso la ruta entre diferentes ubicaciones.diferentes ubicaciones.

Page 5: GMOR Google Maps para la Optimización de Rutas. Índice  Introducción  Problema de Enrutamiento de Vehículos (VRP)  Problemas Clásicos  Nuestro Caso.

Introducción – Google MapsIntroducción – Google Maps

HistoriaHistoria– Primer anuncio el 8 de Febrero de 2005Primer anuncio el 8 de Febrero de 2005– Está desarrollado en JavascriptEstá desarrollado en Javascript– En Junio de 2005 fueron añadidos mapas de En Junio de 2005 fueron añadidos mapas de

carreterascarreteras– El mayor responsable de las imágenes de El mayor responsable de las imágenes de

Google Maps es QuickBirdGoogle Maps es QuickBird– En Julio de 2005 se lanza la vista dualEn Julio de 2005 se lanza la vista dual

Ayoze
Originalmente solo para internet explorer y firefox, aunque más tarde se añadió soporte para Opera y Safari
Ayoze
Estados Unidos, Puerto Rico, Canadá y el Reino Unido
Ayoze
un satélite comercial de teledetección, quneu también se usan aviones que vuelan a grandes alturas para tomar las imágenes. En en caso de canarias, las imágenes que se peuden ver son propiedad de la empresa GRAFCAN
Ayoze
Esta vista combina la vista de satélite con mapas ilustrados y los nombres de calles en las imágenes del mundo real
Page 6: GMOR Google Maps para la Optimización de Rutas. Índice  Introducción  Problema de Enrutamiento de Vehículos (VRP)  Problemas Clásicos  Nuestro Caso.

Introducción – Google MapsIntroducción – Google Maps

APIAPI– Permite insertar un completo Google Map en Permite insertar un completo Google Map en

páginas Web externas a Googlepáginas Web externas a Google– Inicialmente no podía hallar direccionesInicialmente no podía hallar direcciones– Existen dos versionesExisten dos versiones

GratuitaGratuita EmpresasEmpresas

– Mapas proporcionados principalmente por Mapas proporcionados principalmente por TeleAtlasTeleAtlas

Ayoze
Había que especificar manualmente la latitud y la longitud, aunque esto fue implementado posteriormente.
Ayoze
Básicamente la diferencia entre estas dos versiones viene a ser que si se cuenta con una licencia de empresa, Google proporciona una asistencia total al cliente y la posibilidad de desarrollar aplicaciones de intranet que utilicen la API de Google Maps.
Ayoze
Además no se cuenta con las limitaciones en las peticiones a los servidores de Google Maps que si se tienen en la versión gratuita del mismo, las cuales son unas 10.000 peticiones a sus servidores al día en intervalos de 8,64 segundos aproximadamente.
Ayoze
En cuanto a la información mostrada en los mapas, cabe destacar que en lugar de usar los mapas de Navteq, al igual que la página de Google Maps, esta API usa los mapas proporcionados por TeleAtlas, empresa de origen europeo, que ofrece una opción más económica y que está en pleno auge, de hecho cada día sus resultados se acercan más a los proporcionados por Navteq.
Page 7: GMOR Google Maps para la Optimización de Rutas. Índice  Introducción  Problema de Enrutamiento de Vehículos (VRP)  Problemas Clásicos  Nuestro Caso.

Problema de Enrutamiento de Problema de Enrutamiento de Vehículos (VRP)Vehículos (VRP)

Características de los problemasCaracterísticas de los problemas– Los clientesLos clientes– Los depósitosLos depósitos– Los vehículosLos vehículos

Flota homogéneaFlota homogénea Flota heterogéneaFlota heterogénea

Ayoze
A grandes rasgos un problema de enrutamiento de vehículos consiste en, dado un conjunto de clientes y depósitos dispersos geográficamente y una flota de vehículos, determinar un conjunto de rutas de costo mínimo que comiencen y terminen en los depósitos, para que los vehículos visiten a los clientes mientras se respeten sus capacidades y quizás otras restricciones adicionales.
Ayoze
Cada cliente tiene una cierta demanda que debería ser satisfecha por algún vehículo. En muchos casos, la demanda es un bien que ocupa espacio en los vehículos y es usual que un mismo vehículo no pueda satisfacer la demanda de todos los clientes en una misma ruta.
Ayoze
Tanto los vehículos como las mercancías a distribuir (si las hubiera) suelen estar ubicadas en depósitos. Usualmente se exige que cada ruta comience y finalice en un mismo depósito, aunque éste podría no ser el caso en algunas aplicaciones.
Ayoze
La capacidad de un vehículo podría tener varias dimensiones, como por ejemplo peso y volumen. Cuando en un mismo problema existen diferentes mercancías a transportar, los vehículos podrían tener varios compartimentos, de modo que la capacidad del vehículo dependa de la mercancía de la que se trate.
Page 8: GMOR Google Maps para la Optimización de Rutas. Índice  Introducción  Problema de Enrutamiento de Vehículos (VRP)  Problemas Clásicos  Nuestro Caso.

Problemas ClásicosProblemas Clásicos

El problema del viajante de comercio (TSP)El problema del viajante de comercio (TSP)

El problema de los El problema de los mm viajantes de comercio viajantes de comercio ((mm-TSP)-TSP)

El problema con capacidades (CVRP)El problema con capacidades (CVRP)

Ayoze
En el Problema del Agente Viajero (o TSP por “Travelling Salesman Problem”) se dispone de un solo vehículo que debe visitar a todos los clientes en una sola ruta y a costo mínimo. No suele haber un depósito (y si lo hubiera no se distingue de los clientes), no hay demanda asociada a los clientes y tampoco hay restricciones temporales.
Ayoze
El problema de losagentes viajeros (o m-TSP) es una generalización del TSP en la cual se tiene un depósito y m vehículos. El objetivo es construir exactamente m rutas, una para cada vehículo, de modo que cada cliente sea visitado una vez por uno de los vehículos. Cada ruta debe comenzar y finalizar en el depósito.
Ayoze
El CVRP es una extensión del m-TSP en la cual cada cliente tiene asociada una demanda y cada vehículo tiene una capacidad (la flota es homogénea). En este problema la cantidad de rutas no está fijada de antemano como en el TSP y en el m-TSP, aunque suele haber un número m máximo de vehículos en la flota.
Page 9: GMOR Google Maps para la Optimización de Rutas. Índice  Introducción  Problema de Enrutamiento de Vehículos (VRP)  Problemas Clásicos  Nuestro Caso.

Nuestro Caso Práctico: Transporte Nuestro Caso Práctico: Transporte EscolarEscolar

Disponemos de un conjunto de puntosDisponemos de un conjunto de puntos– SalidaSalida– ParadasParadas– LlegadaLlegada

Ayoze
será el punto desde donde comiencen todas las rutas. En nuestro problema particular diremos que es el depósito donde se encuentran los vehículos que recogerán a los alumnos. Cada uno de estos vehículos cuenta con una capacidad máxima de alumnos que pueda transportar y que no será posible sobrepasar.
Ayoze
serán los puntos por donde las rutas deben pasar y que tendrán una cierta demanda a cumplir. En nuestro problema, en esas paradas se encontrarán los alumnos y la demanda a cumplir indicará el número de alumnos a recoger en dicho punto.
Ayoze
será el punto donde finalicen todas las rutas. En nuestro problema, representará el colegio donde deben ser entregados los alumnos.
Ayoze
Con lo expuesto anteriormente podemos decir entonces que el problema consiste en hallar el número de rutas necesarias para recoger a todos los alumnos utilizando para ello unos vehículos con capacidad limitada mediante una solución buena.Por tanto, el problema que más se ajusta a nuestro caso es el problema de enrutamiento de vehículos con restricciones (CVRP) .
Page 10: GMOR Google Maps para la Optimización de Rutas. Índice  Introducción  Problema de Enrutamiento de Vehículos (VRP)  Problemas Clásicos  Nuestro Caso.

Nuestro Caso Práctico: Transporte Nuestro Caso Práctico: Transporte EscolarEscolar

Complejidad del problema:Complejidad del problema:

Ayoze
Hay que destacar que este planteamiento está simplificado, ya que en el caso de querer abordarlo de manera totalmente realista, la complejidad del problema sería mucho mayor debido al gran número de otros factores que habría que tener en cuenta, ver figura a continuación. El objetivo de este proyecto no es el de resolver un problema totalmente real sino mostrar el potencial que pueden ofrecer los SIGs a la resolución de problemas de rutas de vehículos en el mundo real (es decir, en logística).
Page 11: GMOR Google Maps para la Optimización de Rutas. Índice  Introducción  Problema de Enrutamiento de Vehículos (VRP)  Problemas Clásicos  Nuestro Caso.

Método de ResoluciónMétodo de Resolución

Algoritmo de ahorros de Clarke & Wright Algoritmo de ahorros de Clarke & Wright ((Savings AlgorithmSavings Algorithm))

Ayoze
Si en una solución dos rutas diferentes (0, . . . , i, 0) y (0, j, . . . , 0) pueden ser combinadas formando una nueva ruta (0, . . . , i, j, . . . , 0) como se muestra en la figura 2.1, el ahorro (en distancia) obtenido por dicha unión es Ci0 + C0j - Cij
Page 12: GMOR Google Maps para la Optimización de Rutas. Índice  Introducción  Problema de Enrutamiento de Vehículos (VRP)  Problemas Clásicos  Nuestro Caso.

Mejoras mediante búsquedas Mejoras mediante búsquedas localeslocales

2-Opt2-Opt

3-Opt3-Opt

FactorialFactorial

Ayoze
Este método intenta obtener una mejor solución para una ruta dada. Básicamente, lo que se pretende lograr con este algoritmo de optimización es la eliminación de cruces entro los arcos que unen los puntos de una ruta. Para ello, elimina dos arcos de la ruta e intenta reconectarlos de la mejor manera posible
Ayoze
Este algoritmo, al igual que el anterior, intenta encontrar una mejor ruta entre un conjunto de puntos dados. Su objetivo es similar también al algoritmo 2-Opt, aunque en este caso se trata de un algoritmo un poco más complejo, ya que las operaciones en lugar de hacerlas con dos arcos, se llevan a cabo con tres arcos simultáneamente. Por tanto, lo que hace este algoritmo es eliminar tres arcos e intentar buscar un camino más óptimo reconectándolos de manera alternativa
Ayoze
Este algoritmo, a diferencia de los dos anteriores, no trata de encontrar una mejor ruta sino que encuentra la ruta más óptima para un conjunto de puntos dados. Su objetivo es el de encontrar la mejor ruta que une todos los puntos pertenecientes a la ruta pasada. Para ello, lo que el algoritmo hace es comprobar una por una cada una de las posibles soluciones al problema, es decir, comprueba cada uno de los posibles caminos que unen todos los puntos.
Page 13: GMOR Google Maps para la Optimización de Rutas. Índice  Introducción  Problema de Enrutamiento de Vehículos (VRP)  Problemas Clásicos  Nuestro Caso.

2-Opt2-Opt

Page 14: GMOR Google Maps para la Optimización de Rutas. Índice  Introducción  Problema de Enrutamiento de Vehículos (VRP)  Problemas Clásicos  Nuestro Caso.

3-Opt3-Opt

Page 15: GMOR Google Maps para la Optimización de Rutas. Índice  Introducción  Problema de Enrutamiento de Vehículos (VRP)  Problemas Clásicos  Nuestro Caso.

FactorialFactorial

Page 16: GMOR Google Maps para la Optimización de Rutas. Índice  Introducción  Problema de Enrutamiento de Vehículos (VRP)  Problemas Clásicos  Nuestro Caso.

La aplicación: GMORLa aplicación: GMOR

DemoDemo

Page 17: GMOR Google Maps para la Optimización de Rutas. Índice  Introducción  Problema de Enrutamiento de Vehículos (VRP)  Problemas Clásicos  Nuestro Caso.

FuturoFuturo

Ampliaciones del problemaAmpliaciones del problema– El problema con flota heterogéneaEl problema con flota heterogénea– El problema con ventanas de tiempoEl problema con ventanas de tiempo

Otras heurísticas clásicasOtras heurísticas clásicas– Algoritmo de ahorros basado en matchingAlgoritmo de ahorros basado en matching

Búsquedas locales multi-rutaBúsquedas locales multi-ruta– Transferencias cíclicasTransferencias cíclicas

Ayoze
Dado que, tal y como se ha dicho anteriormente, el problema no trata situaciones totalmente reales, las ampliaciones que a continuación exponemos están enfocadas precisamente a obtener un mayor realismo.
Ayoze
En esta variante del problema, además de capacidades, cada cliente i ∈ V \ {0} tiene asociada una ventana de tiempo que establece un horario de servicio permitido para que un vehículo llegue a él y un tiempo de servicio o retraso .
Ayoze
Cuando en el Algoritmo de Ahorros se decide unir dos rutas , se está descartando otras uniones posibles en las que participan (porque i y j dejan de ser extremos en la nueva ruta). La unión que da el máximo ahorro podría, en algunos casos, hacer que las uniones que permanecen factibles no sean buenas. Elegir siempre el máximo ahorro es una estrategia demasiado voraz.En el Algoritmo de Ahorros Basado en Matching se decide la unión a realizar considerando como afecta ésta a las posibles uniones en iteraciones posteriores. Para esto, se considera un grafo que tiene a todas las rutas como nodos y un arco entre dos nodos p y q cuyo peso es el ahorro obtenido si las rutas correspondientes se combinan (siempre que la combinación sea factible). Un Matching de peso máximo sobre dicho grafo da un conjunto de combinaciones a realizar que es globalmente bueno.
Ayoze
Otra posible ampliación que proponemos es la de implementar búsquedas locales pero en esta ocasión multi-rutas, es decir, buscan la mejor solución intercambiando nodos entre las diferentes rutas que forman la solución final.
Page 18: GMOR Google Maps para la Optimización de Rutas. Índice  Introducción  Problema de Enrutamiento de Vehículos (VRP)  Problemas Clásicos  Nuestro Caso.

ConclusionesConclusiones

Mapas digitalesMapas digitales– VentajasVentajas

Gran personalizaciónGran personalización Alta interacción con el mapaAlta interacción con el mapa Información que proporcionanInformación que proporcionan

– DesventajasDesventajas Limitaciones en las operacionesLimitaciones en las operaciones

Ayoze
Por último, debemos decir que las limitaciones que Google impone para el uso de su API gratuitamente empañan un poco los resultados obtenidos, ya que estas limitaciones están orientadas hacia la consulta de sus servidores por lo que en algunas operaciones debemos respetar intervalos de tiempo entre las distintas consultas a sus servidores. Esto provoca que dichas operaciones se prolonguen considerablemente en el tiempo. Por otra parte, esto es totalmente comprensible ya que ofrecer un servicio gratuito de esta magnitud debe ser un trabajo considerable.
Ayoze
Tal y como hemos podido ver, las funciones proporcionadas por la API de Google Maps nos han permitido personalizar nuestro mapa digital en gran medida.
Ayoze
Podemos decir que se ha cumplido satisfactoriamente con nuestras expectativas, ya que no sólo se limita a movernos por un mapa mundial, sino que además nos permite obtener datos de suma importancia para los problemas que pretendemos resolver, como puede ser la distancia para calcular la matriz de distancias entre una serie de puntos que pertenecen a un problema.
Ayoze
También cabe destacar la cantidad de datos que contienen dichos mapas, no siendo aún totalmente completos, y que nos permiten conocer los nombres de las calles, los sentidos de circulación, las localizaciones exactas de las carreteras,...
Ayoze
Por último, debemos decir que las limitaciones que Google impone para el uso de su API gratuitamente empañan un poco los resultados obtenidos, ya que estas limitaciones están orientadas hacia la consulta de sus servidores por lo que en algunas operaciones debemos respetar intervalos de tiempo entre las distintas consultas a sus servidores. Esto provoca que dichas operaciones se prolonguen considerablemente en el tiempo. Por otra parte, esto es totalmente comprensible ya que ofrecer un servicio gratuito de esta magnitud debe ser un trabajo considerable.
Page 19: GMOR Google Maps para la Optimización de Rutas. Índice  Introducción  Problema de Enrutamiento de Vehículos (VRP)  Problemas Clásicos  Nuestro Caso.

ConclusionesConclusiones

Resolución de problemas de enrutamientoResolución de problemas de enrutamiento– Algoritmos clásicosAlgoritmos clásicos– Mejoras con búsquedas localesMejoras con búsquedas locales– Posibilidad de depurar los algoritmosPosibilidad de depurar los algoritmos

Ayoze
Para esta parte del proyecto decidimos consultar la literatura y llevar a cabo la implementación de algunos algoritmos clásicos en la resolución de este tipo de problemas. Debido a esto nos decidimos por el algoritmo de ahorros de Clarke & Wright (Savings Algorithm) con el que logramos obtener soluciones a los problemas de enrutamiento de vehículos con capacidad limitada (CVRP) totalmente viables, y que podían ser representados en el mapa digital correctamente.
Ayoze
Debido a que las solución obtenidas con el algoritmo anteriormente mencionado, a pesar de ser correctas, estaban bastante lejos de ser óptimas se optó por implementar una serie de mejoras. Estas mejoras en concreto son la 2-Opt, 3-Opt y la factorial. Gracias a ellas las soluciones que ahora se obtienen son mucho mejores, llegando a ser óptimas en muchos casos, sobretodo a nivel local de cada una de las rutas.
Ayoze
Por último decir que, para confirmar que estas mejoras y el algoritmo funcionaban correctamente añadimos a la aplicación un debugger, que nos permite crear problemas generados aleatoriamente y visualizar los resultados obtenidos, con lo que podemos observar por ejemplo como se eliminan los cruces en las soluciones obtenidas mediante la mejora 2-Opt.
Ayoze
Como conclusión, el trabajo desarrollado durante este proyecto confirma que la tecnología informática disponible actualmente, combinando tanto mapas digitales como algoritmos de optimización, permiten el desarrollo e implementación de prototipos informáticos que pueden ayudar notablemente a decisores que deban resolver problemas de logística tales como el diseño de rutas de transporte escolar, recogida y entrega de mercancías y/o personas, rutas para visitar clientes, etc.
Page 20: GMOR Google Maps para la Optimización de Rutas. Índice  Introducción  Problema de Enrutamiento de Vehículos (VRP)  Problemas Clásicos  Nuestro Caso.

PreguntasPreguntas

¿Alguna pregunta?¿Alguna pregunta?

Page 21: GMOR Google Maps para la Optimización de Rutas. Índice  Introducción  Problema de Enrutamiento de Vehículos (VRP)  Problemas Clásicos  Nuestro Caso.

FinFin

Gracias por su atención.Gracias por su atención.