Petición de Tema de Proyecto

Anuncio
PETICIÓN DE TEMA DE PROYECTO
"RESOLUCIÓN DEL PROBLEMA DE
VEHÍCULOS
CAPACITADO
(CVRP)
INTELLIGENCE"
1.
ENRUTAMIENTO DE
MEDIANTE
SWARM
Introducción
Los problemas NP-Complejos (Non-deterministic Polynomial time) [GAR 79] se
caracterizan por ser difíciles de abordar de forma eficiente, ya que para su óptima
resolución requieren de algoritmos que consumen un tiempo de cómputo elevado. Son
problemas en los que un pequeño aumento del tamaño del problema supone un aumento
exponencial del tiempo de cómputo. Un ejemplo de repercusión práctica considerable
dentro de este tipo de problemas es el problema del enrutamiento de vehículos (VRPVehicule Routing Problem) [LEN 81, TOT 01].
El problema del enrutamiento de vehículos (VRP) está entre los problemas de
optimización combinatoria más complejos de resolver. Consiste en minimizar la distancia
total recorrida por los vehículos de una flota que tienen su punto de partida y llegada en una
ciudad concreta (depósito) y tienen que servir ciertas mercancías a un conjunto de clientes.
Este problema puede entenderse como la intersección de dos conocidos problemas de
optimización combinatoria:
-
Problema del viajante de comercio (TSP - Traveling Salesman Problem)
considerando la capacidad de cada automóvil como infinita [APP 06].
-
Problema de empaquetamiento en compartimentos (BPP - Bin Packing Problem)
[MAR 90].
Dentro de esta definición del problema se ubica un amplio conjunto de variantes:
-
CVRP (Capacitated VRP) [RAL 01], la variante más genérica y práctica, que
introduce la restricción de capacidad de los vehículos, en la que la carga de las
mercancías de una ruta no podrá exceder la capacidad fijada para cada vehículo de
la flota.
-
MDVRP (Multi Depot VRP) [HJO 95], en la que se considera que existen dos o
más depósitos desde los cuales servir a los clientes.
-
PVRP (Periodic VRP) [BAP 02], en el que la planificación se realiza para M días.
-
SDVRP (Split Delivery VRP) [DRO 94, ARC 01], simplificación de CVRP en la
que se permite que un cliente pueda ser servido por varios vehículos.
-
SVRP (Stochastic) [LAP 98], en el que se consideran que uno o varios componentes
del problema son aleatorios. Estos componentes pueden ser clientes, demandas y/o
tiempo de servicio.
-
VRPB (VRP with Backhauls) [ALP, JAC 92], en la que un cliente puede devolver
mercancía.
-
VRPPD (VRP with Pick-Up and Delivering) [RIG 00], similar a VRPB salvo que la
recolección de mercancías a devolver se realiza una vez concluida la entrega de
todas las mercancías de esa ruta.
-
VRPSF (VRP with Satellite Facilities) [BAR 97], en la que se considera que un
vehículo puede cargar mercancías en plena ruta, eliminando la necesidad de volver
al depósito.
-
VRPTW (VRP with Time Windows) [COR 02], en la que se considera que un
cliente tiene asociada una ventana de tiempo durante la cual debe ser servido.
Uno de los mecanismos más prometedores de resolución de los problemas NPcomplejos y que comenzaron a aplicarse al VRP fueron las Metaheurísticas. Dentro de las
basadas en población destaca un inmenso grupo con multitud de aplicaciones y resultados
prácticos hoy día y que se aúna bajo el término de Swarm Intelligence [BON 99, KEN 01].
Swarm Intelligence es un término asociado a una metáfora computacional y de
comportamiento que permite la resolución de problemas complejos tomando inspiración de
ejemplos de sociedades exitosas de colaboración y evolución que aparecen en la naturaleza.
Ejemplos comunes son insectos sociales tales como las hormigas, abejas, termitas, etc., y
vertebrados como colonias de aves o bancos de peces. Este tipo de inteligencia puede ser
encontrada en casi cualquier nivel del mundo biológico (células, órganos, sistema nervioso
e inmunológico, etc.,).
En términos de ingeniería, swarm intelligence hace referencia al diseño ascendente de
sistemas de control distribuidos que muestran formas de “inteligencia” (comportamientos
inteligentes) a nivel global como resultado de la interacción local entre un cierto número de
agentes. En otras palabras, es el diseño de sistemas adaptativos complejos que realizan un
trabajo a partir de un desorden aparente (swarm).
Los comportamientos aglutinados bajo el término swarm intelligence tienen en
común los siguientes aspectos:
-
Vienen proporcionados por sociedades distribuidas constituidas por agentes o
individuos autónomos.
-
El control se encuentra completamente distribuido entre los agentes.
-
Las comunicaciones entre los individuos son localizadas.
-
Las decisiones de los agentes son estocásticas (en ningún caso globales).
-
Los comportamientos a nivel de sistema trascienden al comportamiento del agente
individual.
-
Las reglas de interacción son simples.
-
La respuesta global del sistema es robusta, adaptativa y escalable.
Dentro de este tipo de metaheurísticas profundizaremos en el estudio de, entre otras,
las siguientes: Optimización por Nubes de Partículas (PSO - Particle Swarm Optimization)
[KEN 95], Optimización por Colonias de Hormigas (ACO - Ant Colony Optimization)
[DOR 04] y Optimización por Colonias de Abejas (BCO - Bee Colony Optimization) [DUS
87].
La aplicación de este tipo de algoritmos y el análisis de los resultados que ésta
proporcione puede suponer un gran avance en la resolución de algunas de las variantes más
complejas y útiles del VRP como el CVRP.
2.
Objetivos
Con este proyecto trataremos de abordar problemas de optimización combinatoria
considerados como NP-Complejos, centrándonos en el VRP, desde una perspectiva
diferente, aplicando las metaheurísticas dispuestas bajo la filosofía de evolución en el
espacio de búsqueda conocida como Swarm Intelligence.
Los objetivos que nos proponemos son los siguientes:
-
Estudiar, caracterizar y analizar los problemas de optimización combinatoria
considerados como NP-Complejos a través de varios problemas de esta clase
comandados por el VRP.
-
Estudiar los nuevos algoritmos y conceptos metaheurísticos que surgen bajo el
término Swarm Intelligence.
-
Demostrar la importancia de estas metaheurísticas al aplicarlas a problemas de
optimización combinatoria considerados como NP-Complejos, realizando
implementaciones de las mismas y adaptaciones para su evolución sobre
diferentes instancias del CVRP.
-
Analizar y comparar el funcionamiento de los distintos algoritmos aglutinados
bajo la filosofía conocida como Swarm Intelligence al aplicarlos a instancias del
CVRP. Contrastar los resultados con los proporcionados por las metaheurísticas
basadas en población más conocidas: Algoritmos Genéticos [HOL 75].
-
Desarrollar una plataforma Web en la cual se ilustre el funcionamiento de estos
algoritmos sobre instancias conocidas del CVRP, en la que se permitirá, entre
otras posibilidades:
ƒ
Seleccionar de una colección de ficheros de instancias conocidas el
problema a solucionar.
ƒ
Seleccionar la metaheurística a aplicar para la resolución de dicha
instancia.
ƒ
Aportar los parámetros de funcionamiento del algoritmo seleccionado
para su eficiente ejecución.
ƒ
Ejecutar el algoritmo correspondiente de acuerdo a los parámetros
aportados, mostrando desarrollo del mismo, resultados finales y análisis
de la ejecución.
Como alumno, mis objetivos personales son:
-
Ampliar mis conocimientos sobre metaheurísticas basadas en población y
aprender nuevos conceptos teóricos de métodos heurísticos aglutinados bajo el
término de Swarm Intelligence.
-
Ampliar mis conocimientos sobre problemas NP-Complejos, en qué consisten,
el núcleo de su problemática, formulación, descomposición y técnicas aplicadas
hasta ahora con éxito.
3.
-
Aprender a desenvolverme ante el planteamiento de soluciones a este tipo de
problemas, aportando técnicas de resolución posibles y analizando las ventajas e
inconvenientes de cada una de ellas.
-
Obtener conocimientos de lenguajes de programación desconocidos, a modo de
complemento de formación a los aprendidos durante el transcurso de la
formación universitaria. Preveo instruirme principalmente en lenguajes
orientados a objetos como C++ y Java (haciendo especial mención a la
generación de applets en Java).
-
Aprender a desarrollar una plataforma web dinámica con Php y/o Java y
aglutinar toda una aplicación en la misma.
-
Conocer los procedimientos a seguir para la realización de un proyecto de
dimensión mayor a los realizados hasta el momento para su correcto desarrollo y
documentación.
Antecedentes
El problema que nos disponemos a solucionar es de una gran relevancia práctica, con
lo que en la actualidad existen numerosos estudios realizados sobre el mismo [VRP WEB].
Sin embargo, en el apartado relativo a Metaheurísticas, se han aplicado muy pocas técnicas
encuadradas dentro del marco que abarca la filosofía Swarm Intelligence: existen muchas
técnicas de resolución basadas en Swarm Intelligence que no han sido aplicadas aún, como
PSO y BCO, habiéndose profundizado muy poco también en otras como ACO.
4.
Partes de la que constará el proyecto
Las distintas partes en la que podría ser dividido el proyecto son:
4.1. Servidor Web/Servidor de aplicación/Servidor de Datos:
Se implementará un servidor web mediante herramientas de libre distribución.
Este servidor web posibilitará el acceso a la documentación y la aplicación de los
algoritmos que se disponen bajo la filosofía Swarm Intelligence. En él se ubicarán
tanto las páginas web a ser servidas como los scripts que dirigirán las ejecuciones de
los diferentes algoritmos implementados sobre las distintas instancias disponibles del
problema (CVRP). También dispondremos de las bases de datos de instancias del
CVRP y de las estadísticas que representarán la evolución y resultados de las
ejecuciones. Sobre este servidor se ejecutarán los scripts de programación Web
dinámica.
4.2. Sitio Web del proyecto:
Dispondremos de un sitio Web desde el que se podrá acceder a información y
documentación acerca del concepto de swarm intelligence y acerca de las
metaheurísticas implementadas que se asocian a tal concepto (ACO, PSO, BCO,
etc.,). Al tratarse el proyecto de un sistema que pretende acercar y facilitar el
aprendizaje y la comprensión de este tipo de algoritmos, existe una gran necesidad,
no sólo de demostrar cómo funcionan los algoritmos en teoría o con resultados
parciales relativos a la mejor solución obtenida hasta el momento en la práctica, sino
también de formar y hacer ver a los visitantes e interesados en el sistema la evolución
de los mismos medida en términos estadísticos tanto en la misma ejecución como en
la totalidad de ejecuciones.
4.2. Interfaz para ejecución de Metaheurísticas
En el portal web, dispondremos también de una zona para la ejecución de los
algoritmos aplicados a instancias del CVRP, en la que el usuario podrá personalizar la
misma aportando valores para los parámetros de los distintos algoritmos. La interfaz
mostrará durante la ejecución su desarrollo, incluyendo las soluciones parciales hasta
el momento, mejor solución global, estadísticas, etc.
4.3. Algoritmos implementados
La base conceptual del presente proyecto recae en las metaheurísticas aplicadas
y en concreto en las personalizaciones de los algoritmos, tanto genéticos como de
Swarm Intelligence, para la clase de problemas enmarcada bajo el término VRP.
Tenemos una base de funcionamiento extensible, por tanto, para una posterior
utilización.
5.
Fases de desarrollo del proyecto
El desarrollo de este proyecto puede ser resumido en las siguientes fases:
5.1. Fase de estudio de metaheurísticas: Algoritmos Genéticos y Swarm
Intelligence:
En primer lugar, se estudiará desde un punto de vista teórico el concepto de
swarm intelligence, las distintas filosofías que aglutina y en particular aquellas que
corresponden a la optimización basada en colonias de hormigas, optimización por
nubes de partículas y optimización a partir de colonias de abejas.
5.2. Fase de estudio de problemas NP-Complejos a abordar (VRP - CVRP)
Continuaremos con el estudio de distintos problemas de optimización
combinatoria de interés: su origen, características de sus instancias, representación de
soluciones, dificultad de resolución y aplicaciones. Nos centraremos en particular en
el VRP y dentro de sus variantes en el CVRP.
5.3. Fase de análisis de vías de solución:
Se procederá al análisis del método más óptimo de diseño e implementación del
sistema. En este paso, seleccionaremos los métodos de diseño web, procedural y
gráfico adecuados. Con objeto de orientar el análisis y diseño se seleccionarán
posibles lenguajes web dinámicos, procedurales y de diseño, aplicación de los
algoritmos y representación del problema (VRP-CVRP).
5.4. Fase de diseño e implementación de algoritmos aplicados a VRP:
Procederemos a diseñar e implementar los algoritmos que vamos a utilizar
como base para abordar el problema que nos planteamos. Los algoritmos se crean en
esta primera fase sin artefactos complejos de programación de modo que sean
portables posteriormente a nuestra aplicación o sea posible publicarlos en el sitio web
para su reutilización en el futuro.
5.5. Fase de diseño y creación de base de datos de instancias del CVRP:
Se diseñará y creará una base de datos que tenga en cuenta los problemas de
optimización combinatoria disponibles para su resolución: CVRP. Tal base de datos
presentará un conjunto considerable de instancias del problema y las características
que las mismas presentan, así como las mejores soluciones obtenidas por parte de los
diferentes algoritmos aplicados. En la misma se almacenará la estadística de la
evolución de las diferentes ejecuciones que permita establecer la comparativa entre
los distintos algoritmos.
5.6. Fase de diseño e implementación de interfaz para ejecución de instancias.
En esta fase nos dedicaremos a diseñar e implementar la interfaz de ejecución
de instancias para los distintos algoritmos implementados, de forma que la ejecución
de una instancia sea fácilmente configurable por el usuario y en la que se muestre el
desarrollo de la ejecución de forma clara. En la misma se definirá el entorno sobre el
que se moverá la ejecución del algoritmo y su interacción con la base de datos de
instancias.
5.7. Fase de prueba individual de algoritmos:
Se creará un servidor que contenga tanto una Web de pruebas como las bases de
datos de instancias, en el que se puedan incorporar los elementos básicos para probar
la aplicación de los algoritmos al problema. En dicha web de pruebas, quedarán
embebidos tanto el interfaz web como el visualizador de resultados. Una vez
probados todos y cada uno de los algoritmos de forma individual, todo el contenido
será migrado al sitio web definitivo.
5.8. Fase de diseño y creación del sitio Web:
En esta fase, nos centraremos en diseñar y crear el sitio web definitivo. Se
generará la documentación anexa a la aplicación de los algoritmos al CVRP y se
migrará la aplicación desde la página de pruebas a la que finalmente se usará y se
hospedará en el servidor web definitivo.
5.9. Fase de documentación:
Esta fase se irá realizando de manera simultánea a las otras fases del proyecto.
En ella se generará la documentación del proyecto en formato de documento impreso
que se entregará para la lectura del mismo.
6.
Recursos
Los distintos recursos de los que dispondremos para la elaboración del presente
proyecto se resumen en lo siguientes apartados:
-
-
-
-
Recursos Software:
ƒ
IDE’s de desarrollo de aplicaciones de libre distribución.
ƒ
Compiladores de libre distribución para lenguajes orientados a objetos.
ƒ
Editores de texto avanzados.
Recursos Hardware:
ƒ
Ordenador con procesador Intel Pentium IV a 2,53 GHz, Memoria RAM
1024 MB’s, T. Grafica 128 MB’s NVIDIA Geforce, HD interno 250 GB’s
+ HD externo 80 GB’s y Sistemas Operativos Windows XP SP2 y Linux.
ƒ
Ordenador Portátil Packard Bell EasyNote MX, con procesador AMD
Turion64 X2 TL-50 (2x1.61 GHz), Memoria RAM 1024 MB’s, T. Gráfica
512 MB’s Compartidos Nvidia GeForce Go 6100, HD 80 GB’s y Sistema
Operativo Windows XP SP2.
Recursos Personales:
ƒ
Alumno:
Eduardo Gandía Nevado
ƒ
Director/es de proyecto:
D. Enrique Yeguas Bolívar
D. Sebastián Ventura Soto
Otros recursos:
ƒ
7.
Bibliografía para comprensión, aplicación e implementación de los
conceptos expuestos. Esta bibliografía queda contenida en el apartado de
Bibliografía del presente documento.
Bibliografía
[ALP]
Cumhur Alper Gelogullari. "Vehicle Routing Problem with Backhauls".
Representación Power Point.
[APP 06]
David L. Applegate, Robert E. Bixby, Vasek Chvátal & William J. Cook. “The
Traveling Salesman Problem: A Computacional Study”. Princeton University Press,
606 pp. 2006.
[ARC 01]
C. Archetti, R. Mansini, M.G. Speranza - "The Split Delivery Vehicle Routing
Problem with Small Capacity", Tecnical Report n. 201,Department of Quantitative
Methods, University of Brescia 2001.
[BAP 02]
S. Baptista, R.C. Oliveira and E. Zúquete. "A Period Vehicle Routing Case Study",
European Journal of Operational Research 139:220-229, Elsevier, 2002.
[BAR 97]
J.F. Bard, L. Huang, M. Dror, and P. Jaillet, "A Branch and Cut Algorithm for the
VRP with Satellite Facilities", IIE Transactions 30, pp 821-834. 1997.
[BON 99]
F E. Bonabeau, M. Dorigo and G. Theraulaz, "Swarm Intelligence: From Natural to
Artificial Systems", Oxford University Press, 1999.
[BUR 88]
W. Burrows. "The Vehicle Routing Problem with Loadsplitting: A Heuristic
Approach". In 24th Annual Conference of the Operational Research Society of New
Zealand, pages 33-38, 1988.
[COR 02]
CORDEAU, J.-F., DESAULNIERS, G., DESROSIERS, J., SOLOMON, M.M.,
SOUMIS, F. "VRP with Time Windows". In P. Toth and D. Vigo (eds.): The
Vehicle Routing Problem, SIAM Monographs on Discrete Mathematics and
Applications, vol. 9, Philadelphia, PA, 157-193. 2002.
[CPP 98]
Escuela Superior de Ingenieros Industriales. “Aprenda C++ como si estuviera en
primero” Universidad de Navarra, 1998.
[DOR 04]
F M. Dorigo and T. Stuetzle, "Ant Colony Optimization", MIT Press, Cambridge,
MA, 2004.
[DRO 94]
M. Dror, G. Laporte, P. Trudeau, ”Vehicle routing with split deliveries”, Discrete
Appl. Math. 50, 239-254. 1994.
[DUS 87]
Dušan TEODOROVIĆ, Marco DELL’ ORCO. “BEE COLONY OPTIMIZATION
–
A
COOPERATIVE
LEARNING
APPROACH
TO
COMPLEX
TRANSPORTATION PROBLEMS”. 1987.
[GAR 79]
Michael R. Garey and David S. Johnson. Computers and Intractability: A Guide to
the Theory of NP-Completeness. W.H. Freeman. 1979.
[HJO 95]
C. Hjorring. "The Vehicle Routing Problem and Local Search Metaheuristics",
Chapter 2. PhD thesis, Department of Engineering Science, The University of
Auckland, 1995.
[HOL 75]
Holland J.H., “Adaptation in Natural and Artificial Systems”. University of
Michigan Press, Ann Arbor, 1975.
[JAC 92]
C. Jacobs-Blecha, and M. Goetschalckx. "The vehicle routing problem with
backhauls: properties and solution algorithms". Technical Report, School of
Industrial and Systems Engineering, Georgia Institute of Technology, Atlanta,
Georgia. Presented at the National Transportation Research Board, January 13-15,
1992, Washington DC.
[KEN 95]
Kennedy, J. and Eberhart, R. C. Particle swarm optimization. Proceedings of IEEE
International Conference on Neural Networks, Piscataway, NJ. pp. 1942-1948,
1995.
[KEN 01]
F J. Kennedy and R. C. Eberhart, "Swarm Intelligence", Morgan Kaufmann, 2001.
[LAP 98]
G. Laporte, and F.V. Louveaux. "Solving Stochastic Routing Problems with the
Integer L-shaped Method". In Fleet Management and Logistics, T.G. Crainic and G.
Laporte (eds.), 159-167, Kluwer Academic Publishers, Boston. 1998.
[LEN 81]
J. K. Lenstra, A.H.G. Rinnooy Kan, "Complexity of vehicle routing and scheduling
problems", Networks, 11, pp. 221-227. 1981.
[MAR 90]
S. Martello and P. Toth, Knapsack problems. Wiley, Chichester (1990).
[RAL 01]
T. Ralphs, J. Hartman and M. Galati. "Capacitated Vehicle Routing and Some
Related Problems". Some CVRP Slides. Rutgers University. 2001.
[RIG 00]
G. Righini, "Approximation algorithms for the vehicle routing problem with pick-up
and delivery", Note del Polo - Ricerca 33, Polo Didattico e di Ricerca di Crema,
Università degli Studi di Milano, Luglio 2000.
[TOT 01]
P. Toth, D. Vigo: "The Vehicle Routing Problem". Monographs on Discrete
Mathematics and Applications. SIAM, Philadelphia. 2001.
[VRP WEB]
Bernabé Dorronsoro Díaz. Pagina web. http://neo.lcc.uma.es/radi-aeb/WebVRP
Descargar