Proyecto Fin de Carrera Ingeniería...
Transcript of Proyecto Fin de Carrera Ingeniería...
OPTIMIZACIÓN DE RUTAS EN VEIASA 1
Proyecto Fin de Carrera Ingeniería Industrial
Autora: Macarena González Gutiérrez
Tutor: D. Ignacio Eguía Salinas
Dpto. Organización Industrial y Gestión de Empresas I Escuela Técnica Superior de Ingeniería
Universidad de Sevilla
Sevilla, 2014
Desarrollo de una herramienta de optimización de rutas para la empresa Verificaciones Industriales de Andalucía (VEIASA)
OPTIMIZACIÓN DE RUTAS EN VEIASA 2
Proyecto Fin de Carrera Ingeniería Industrial
Desarrollo de una herramienta de optimización de rutas para la empresa Verificaciones Industriales
de Andalucía (VEIASA)
Autora:
Macarena González Gutiérrez
Tutor:
D. Ignacio Eguía Salinas
Profesor Titular
Dpto. Organización Industrial y Gestión de Empresas I
Escuela Técnica Superior de Ingeniería
Universidad de Sevilla
Sevilla, 2014
OPTIMIZACIÓN DE RUTAS EN VEIASA 3
Índice
Índice ................................................................................................................ 3
Índice de Figuras ............................................................................................. 5
1. INTRODUCCIÓN Y OBJETIVOS .............................................................. 7
1.1. Introducción ............................................................................................................ 7
1.2. Objetivos ................................................................................................................. 9
1.3. Estructura del documento ....................................................................................... 9
2. REVISIÓN DE LA LITERATURA ............................................................ 11
2.1. Introducción al problema del diseño de rutas ....................................................... 11
2.2. Características del problema VRP ........................................................................ 12
2.3. Variantes y extensiones del VRP ......................................................................... 13
2.4. Métodos de resolución del VRP ........................................................................... 16
3. DEFINICION DEL PROBLEMA EN VEIASA .......................................... 25
3.1. Introducción al problema del diseño de rutas en VEIASA .................................... 25
3.2. Descripción de la empresa VEIASA ..................................................................... 25
3.3. Problemática del diseño de rutas en VEIASA ...................................................... 29
3.4. Estudio de soluciones comerciales para el diseño de rutas ................................. 37 3.4.1. LogisPlan 37
3.4.2. Involve 40
3.4.3. Ventajas e inconvenientes 42
4. METODOLOGÍAS PROPUESTAS PARA VEIASA ................................ 43
4.1. Introducción .......................................................................................................... 43
4.2. Modelo de optimización del problema .................................................................. 43 4.2.1. Uso de modelos de programación matemática 43
4.2.2. Modelo de programación lineal mixta-entera 44
4.2.3. Limitaciones de los modelos de optimización 49
4.3. Resolución aproximada mediante Clúster y Enrutado .......................................... 51 4.3.1. Introducción al método. 51
OPTIMIZACIÓN DE RUTAS EN VEIASA 4
4.3.2. Selección del clúster de clientes. 52
4.3.3. Resolución basada en Google Maps Engine Lite & RouteXL. 53
4.3.4. Resolución e integración de la solución usando Microsoft MapPoint. 56
5. APLICACIÓN PRÁCTICA PARA VEIASA EN SEVILLA ....................... 59
5.1. Introducción .......................................................................................................... 59
5.2. Preparación de los servicios ................................................................................. 59
5.3. Diseño de las rutas de servicios ........................................................................... 61
6. ANÁLISIS DE RESULTADOS ................................................................ 71
7. CONCLUSIONES .................................................................................... 72
8. BIBLIOGRAFÍA ....................................................................................... 73
9. ANEXOS .................................................................................................. 74
9.1. Datos de VEIASA ................................................................................................. 74 9.1.1. Grupo de Verificaciones 74
9.1.2. Tipos de Verificación 74
9.1.3. Patrones 74
9.1.4. Descripción de patrones 74
9.1.5. Verificación – Patrón 80
9.2. Códigos Fuente (VBA en Excel) ........................................................................... 80 9.2.1. Hoja basada en GMEL & RouteXL 80
9.2.2. Hoja basada en Microsoft MapPoint 85
OPTIMIZACIÓN DE RUTAS EN VEIASA 5
Índice de Figuras
FIGURA 1. RED DE LABORATORIOS DE VEIASA ........................................................................................................... 7 FIGURA 2. REPRESENTACIÓN GRÁFICA DEL PROBLEMA VRP ......................................................................................... 11 FIGURA 3. VARIANTES DEL PROBLEMA VRP ............................................................................................................. 14 FIGURA 4. PROBLEMÁTICA ASOCIADA A LAS VARIANTES DEL VRP ................................................................................. 14 FIGURA 5. REPRESENTACIÓN DEL VRPTW ............................................................................................................... 16 FIGURA 6. PSEUDOCÓDIGO DEL RECOCIDO SIMULADO ............................................................................................... 20 FIGURA 7. PSEUDOCÓDIGO DEL ALGORITMO GENÉTICO ............................................................................................. 20 FIGURA 8. PSEUDOCÓDIGO DE LA BÚSQUEDA TABÚ SIMPLE ........................................................................................ 21 FIGURA 9. ESQUEMA DE FUNCIONAMIENTO DEL AMP ............................................................................................... 22 FIGURA 10. PSEUDOCÓDIGO DE LA CONSTRUCCIÓN DEL GRASP ................................................................................... 22 FIGURA 11. EVOLUCIÓN DE LOS MÉTODOS APROXIMADOS PARA EL VRP .......................................................................... 23 FIGURA 12. ESTACIONES FIJAS DE ITV EN 2012 .......................................................................................................... 26 FIGURA 13. DATOS DE PRIMERAS INSPECCIONES EN ITV 2012 ...................................................................................... 27 FIGURA 14. LABORATORIOS DE CONTROL METROLÓGICO DE VEIASA EN 2012 ............................................................... 27 FIGURA 15. TABLAS DE ESTADÍSTICAS DEL LABORATORIO CENTRAL DE VEIASA ................................................................. 28 FIGURA 16. TABLAS DE ESTADÍSTICAS DE LABORATORIOS PROVINCIALES DE VEIASA.......................................................... 29 FIGURA 17. ESQUEMA DEL PROCESO DE DISEÑO DE RUTAS EN VEIASA ........................................................................... 30 FIGURA 18. LOGISPLAN. INFORMACIÓN DE CLIENTES ................................................................................................... 38 FIGURA 19. LOGISPLAN. INFORMACIÓN DE RECURSOS ................................................................................................. 38 FIGURA 20. LOGISPLAN. SELECCIÓN DE FECHA DE PLANIFICACIÓN .................................................................................. 38 FIGURA 21. LOGISPLAN. MAPA E INFORMACIÓN DE RUTAS CALCULADAS ......................................................................... 39 FIGURA 22. LOGISPLAN. PARÁMETROS DE PLANIFICACIÓN ............................................................................................ 39 FIGURA 23. LOGISPLAN. RESUMEN DE LA SOLUCIÓN CALCULADA ................................................................................... 40 FIGURA 24. INVOLVE. INFORMACIÓN DE CLIENTES ....................................................................................................... 41 FIGURA 25. INVOLVE. INFORMACIÓN DE VENDEDORES ................................................................................................. 41 FIGURA 26. INVOLVE. REPRESENTACIÓN DE LA RUTA CALCULADA ................................................................................... 42 FIGURA 27. CÓDIGO FUENTE CPLEX PARA TSP .......................................................................................................... 50 FIGURA 28. FICHERO DE DATOS CPLEX PARA TSP ...................................................................................................... 51 FIGURA 29. MENÚ INCRUSTADO EN EXCEL PARA MACROS DESARROLLADAS ...................................................................... 52 FIGURA 30. SOLICITUDES ADMITIDAS Y ORDENADAS EN EXCEL ....................................................................................... 53 FIGURA 31. SELECCIÓN DE ARCHIVO PARA IMPORTAR EN GMEL .................................................................................... 54 FIGURA 32. VISUALIZACIÓN DE CLIENTES EN GOOGLE MAPS ENGINE LITE ........................................................................ 55 FIGURA 33. PÁGINA PRINCIPAL DE ROUTEXL .............................................................................................................. 55 FIGURA 34. VISUALIZACIÓN DE RUTA EN ROUTEXL ...................................................................................................... 56 FIGURA 35. VISUALIZACIÓN DE RUTA CREADA EN MAPPOINT ........................................................................................ 57 FIGURA 36. PARAMETRIZACIÓN DE RUTA EN MAPPOINT .............................................................................................. 58 FIGURA 37. COMPROBACIÓN DIRECCIONES CORRECTAS EN MAPPOINT ........................................................................... 58 FIGURA 38. FICHERO DE ENTRADA DE DATOS DE SERVICIOS PROCEDENTES DE ERP DE VEIASA ............................................ 59 FIGURA 39. IMPORTACIÓN DE DATOS DE SERVICIOS A CLIENTES EN EXCEL PARA VEIASA ..................................................... 60 FIGURA 40. DATOS CON TIEMPOS DE SERVICIOS A CLIENTES EN EXCEL PARA VEIASA ......................................................... 60 FIGURA 41. FILTRO DE SERVICIOS DE HIDROCARBUROS EN EXCEL PARA VEIASA ............................................................... 61 FIGURA 42. LOCALIZACIÓN DE CLIENTES CON SERVICIOS DE HIDROCARBUROS PARA VEIASA ............................................... 61
OPTIMIZACIÓN DE RUTAS EN VEIASA 6
FIGURA 43. PLANIFICACIÓN DE JORNADAS CON SERVICIOS DE HIDROCARBUROS PARA VEIASA ............................................ 62 FIGURA 44. LOCALIZACIÓN DE CLIENTES CON SERVICIOS DE MASAS PARA VEIASA ............................................................. 63 FIGURA 45. MAPA CON DISEÑO DE RUTA PARA SERVICIOS DE MASAS PARA VEIASA .......................................................... 63 FIGURA 46. PLANIFICACIÓN DE JORNADAS CON SERVICIOS DE MASAS PARA VEIASA ......................................................... 64 FIGURA 47. RUTAS CON SERVICIOS DE MASAS PARA VEIASA ........................................................................................ 65 FIGURA 48. LOCALIZACIÓN DE CLIENTES CON SERVICIOS DE GASES PARA VEIASA .............................................................. 66 FIGURA 49. PLANIFICACIÓN DE JORNADAS CON SERVICIOS DE GASES PARA VEIASA ........................................................... 66 FIGURA 50. RUTAS CON SERVICIOS DE GASES PARA VEIASA ......................................................................................... 67 FIGURA 51. LOCALIZACIÓN DE CLIENTES CON SERVICIOS DE VOLUMEN PARA VEIASA......................................................... 68 FIGURA 52. PLANIFICACIÓN DE JORNADAS CON SERVICIOS DE VOLUMEN PARA VEIASA ..................................................... 68 FIGURA 53. LOCALIZACIÓN DE CLIENTES CON SERVICIOS DE PRESIÓN PARA VEIASA ........................................................... 68 FIGURA 54. PLANIFICACIÓN DE JORNADAS CON SERVICIOS DE PRESIÓN PARA VEIASA ........................................................ 69 FIGURA 55. RUTAS CON SERVICIOS DE PRESIÓN PARA VEIASA ...................................................................................... 70
OPTIMIZACIÓN DE RUTAS EN VEIASA 7
1. INTRODUCCIÓN Y OBJETIVOS
1.1. Introducción
Verificaciones Industriales de Andalucía, S. A. (VEIASA) es una empresa que se encarga del Control
Metrológico de equipos de medida y de las Inspecciones Técnicas de Vehículos (ITV).
VEIASA cuenta con ocho laboratorios provinciales de control metrológico y un laboratorio central en
Sevilla, unidades móviles ligeras y camiones para la verificación de básculas de gran tonelaje (Figura
1).
Figura 1. Red de laboratorios de VEIASA
A VEIASA llegan diariamente servicios de control metrológico (verificaciones) para ser realizados en
la ubicación del cliente o en el laboratorio provincial. Para efectuar el control metrológico en las
ubicaciones de los clientes, los laboratorios provinciales disponen de una flota de vehículos
(furgonetas) que se dedican a prestar el servicio en la ubicación del cliente. Esta flota es fija, aunque
varía en cuanto a cantidad según la provincia. Hay dos tipos de furgonetas:
1. Normales (estándar).
2. Especiales: con una instalación de tuberías especial para analizadores de gases y
opacímetros.
También se requiere del personal adecuado para el servicio. Este personal lo conforman los
verificadores, personas cualificadas adecuadamente para cada tipo de petición. El tiempo en ruta de
cada verificador no debe superar el horario de su jornada de trabajo. El verificador partirá del
laboratorio (origen) con un vehículo, realizará una serie de verificaciones o calibraciones y retornará
al laboratorio, todo ello antes de que se haya consumado el número de horas que debe trabajar cada
uno.
Hay diferentes tipos de turnos (según una planificación previa del personal), y los verificadores van
rotando en ellos. Éstos son:
OPTIMIZACIÓN DE RUTAS EN VEIASA 8
- Turno Mañana: De [7:45 – 15:15] (en verano es el mismo horario).
- Turno Tarde: De [9:00 – 14:00] y de [16:00 – 18:00]
Es necesario también prever un número de horas semanales a dedicar a tareas administrativas
(rellenar informes…).
Los verificadores usan diferentes equipos (patrones) según la tipología del servicio a realizar (tipo de
verificación). Estos patrones son elementos físicos que sirven de referencia para las medidas a
realizar en las verificaciones. Cada servicio debe ser realizado usando un patrón concreto. Los
patrones son cargados en los vehículos, pudiéndose cargar más de un patrón por vehículo. Sin
embargo no todas las combinaciones de patrones son posibles, ya que existen patrones voluminosos
que no pueden ser cargados con otros, ni la capacidad de carga de los vehículos es ilimitada.
También existe una restricción en cuanto al número de patrones disponibles, ya que cada laboratorio
dispone de una serie de patrones de cada tipo. Finalmente, cada verificador está especializado en la
realización de un conjunto de tipos de verificaciones.
También se contempla la planificación de algunas prestaciones de servicios que pueden realizarse en
el laboratorio central de VEIASA. En esta forma de proceder, los clientes depositan su aparato y se
trata de igual manera que en el caso anterior, exceptuando que no conlleva ruta externa ni vehículo.
Las peticiones de los clientes se almacenan en una base de datos, donde se guarda su tipo de
verificación y el lugar a realizarla. Cada día, el número potencial de servicios a atender por los
vehículos supera con creces su capacidad, es decir, si se intentasen atender todos los servicios
encolados, no sería suficiente con un día de trabajo.
Cada día, a cada vehículo se le asignan unos patrones y un verificador, seleccionando una ruta
acorde con los mismos.
Los tipos de verificaciones o servicios que pueden desarrollarse así son:
Sistemas de medida en camiones cisterna
Registradores de temperatura y termómetros
Opacímetros
Manómetros de inflado de neumáticos
Instrumentos de pesaje de funcionamiento no automático < 60 Kg
Instrumentos de pesaje de funcionamiento no automático entre 60 Kg y 500 Kg
Instrumentos de pesaje de funcionamiento no automático > 500 Kg
Equipos de medida de aparatos surtidores
Analizadores de Gases
Masas
Las distintas prestaciones de servicio a realizar cubren toda la zona geográfica de Andalucía. Cada
provincia cuenta con un laboratorio provincial de donde partirán los verificadores de cada zona y a
donde retornarán después de terminar con su ruta. Málaga y Cádiz cuentan con servicios comarcales,
OPTIMIZACIÓN DE RUTAS EN VEIASA 9
desde donde se efectúan rutas ya que no cuentan con laboratorios (éstos son Marbella, Jerez y
Algeciras). Esto implica, que desde el punto de vista de distribución, las rutas están establecidas por
zonas geográficas y días de la semana.
1.2. Objetivos
La motivación principal de este trabajo radica en los siguientes objetivos:
• Revisión del estado del arte del problema de diseño de rutas, conocido como Vehicle
Routing Problem (VRP). En concreto, se analizará el problema general y sus variantes, así
como una clasificación de los métodos de resolución.
• Análisis de la problemática para el diseño de rutas de verificación en la empresa VEIASA.
Este análisis incluye los requisitos del cliente respecto a la necesidad de una herramienta que
diseñe las rutas y que cumpla las limitaciones de recursos existentes.
• Analizar la información disponible en VEIASA para abordar el problema: listado de los
pedidos, datos de los clientes (demanda, ubicación, tipo de verificación), listado de patrones
disponibles, incompatibilidades, etc.
• Estudio de soluciones comerciales para el diseño de rutas. Como resultado se analizan las
limitaciones de las herramientas existentes para cumplir con los requisitos del cliente.
• Diseño de un modelo de programación lineal para el cálculo de rutas de verificación en
VEIASA y que cumpla con todas las limitaciones de recursos del problema. Se analiza
también la dificultad de su resolución de forma óptima para ser integrada en una herramienta
real.
• Desarrollo de un método de resolución del problema de diseño de rutas de verificación en
VEIASA basado en la integración de varias herramientas comerciales y usando una solución
aproximada basada en “primero agrupar los clientes y después calcular las rutas” (First
Cluster-Route Second Method).
• Aplicación de la metodología a un caso real de VEIASA en la provincia de Sevilla.
1.3. Estructura del documento
El documento está dividido en siete capítulos.
En el primer capítulo se ha expuesto la problemática actual de la empresa y el por qué se decide
abordarlo. Se emplea mucho tiempo y esfuerzo semanal en dicha tarea, y por ello se intenta mejorar
con alguna solución de apoyo a la toma de decisiones.
En el segundo capítulo se expone brevemente la literatura que existe respecto al diseño de rutas. A
pesar de ser un problema conocido, estos problemas son de difícil resolución por su complejidad
matemática.
OPTIMIZACIÓN DE RUTAS EN VEIASA 10
El tercer capítulo profundiza en todas las cuestiones particularizadas de la empresa objeto de estudio:
VEIASA. Se describen todos los aspectos a tener en cuenta en el problema (restricciones,
prestaciones de servicio, horarios, turnos).
También se abordan las soluciones comerciales más apropiadas para este caso. Se ha contactado
con varias empresas, y finalmente se exponen en este documento dos soluciones comerciales como
posibles candidatas a resolver el problema planteado. Se analizan las limitaciones de estas
soluciones y se expone la necesidad de buscar una solución específica.
En el cuarto capítulo se analiza el modelo matemático, y se expone una metodología propia para la
resolución parcial del problema a medida usando VBA incrustada en Excel y varias herramientas de
mercado como Google Maps Engine Lite, RouteXL o MapPoint.
En el capítulo quinto se aplica la metodología en la resolución de un caso práctico real para la
provincia de Sevilla de una planificación semanal.
En el capítulo sexto se analizan los distintos resultados según las opciones contempladas.
En el séptimo capítulo se resume toda la metodología usada, ideas, argumentos y se aprecia el área
de mejora posible a desarrollar por VEIASA para optimizar el problema.
OPTIMIZACIÓN DE RUTAS EN VEIASA 11
2. REVISIÓN DE LA LITERATURA
2.1. Introducción al problema del diseño de rutas
El problema del diseño de rutas de transporte (Vehicle Routing Problem, VRP) es un nombre genérico
aplicado a una clase de problemas en los que debe determinarse un conjunto de rutas para una flota
de vehículos que parten de uno o más depósitos o almacenes para satisfacer la demanda de varios
clientes dispersos geográficamente (Figura 2). El objetivo es entregar la demanda a dichos clientes
minimizando el coste total que se incurre en las rutas.
El VRP es un problema muy conocido que cae dentro de la denominada clase de problemas NP-
Completa. Esto significa que el esfuerzo de computación que se ha de realizar para encontrar una
solución óptima crece de forma exponencial con el tamaño del problema. Por este motivo se recurre
al empleo de métodos aproximados de manera que se pueda encontrar soluciones suficientemente
buenas en un tiempo de computación razonable.
El VRP aparece de forma natural en áreas como transporte, distribución y logística. En muchos
sectores del mercado, el transporte implica un gran coste que se imputa a los productos que se
distribuyen y, además, el mismo transporte del producto puede suponer un valor añadido. La
utilización de métodos de computación para calcular las rutas óptimas o cercanas a las óptimas
puede suponer unos ahorros de costes importantes (del orden del 5% al 20%).
Figura 2. Representación gráfica del problema VRP
OPTIMIZACIÓN DE RUTAS EN VEIASA 12
2.2. Características del problema VRP
A grandes rasgos un Problema de diseño de rutas de vehículos (VRP) 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 (Toth and Vigo (2002)).
El VRP procede como extensión de los tradicionales Problemas del viajante de negocios (TSP,
Travelling Salesman Problem), donde 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 ni
de capacidad del vehículo. Aunque el TSP es un problema más simple que el VRP también está
clasificado como problema de clase NP-Completa. Como extensión del problema TSP, existe el
problema m-TSP (multiple - Travelling Salesman Problem), donde se tiene un depósito y m vehículos
con el objetivo de 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 y a
veces la ruta se puede limitar a p clientes.
Las VRP se caracterizan por tres elementos fundamentales: los clientes, los depósitos y los vehículos,
así como diferentes restricciones operativas sobre las rutas. Las propiedades de dichos elementos
dan lugar a diferentes variantes del problema que luego se analizarán.
Los clientes
Cada cliente tiene cierta demanda que deberá ser satisfecha por algún vehículo. En muchos casos, la
demanda es un bien que ocupa lugar 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. Un caso equivalente al anterior ocurre
cuando los clientes son proveedores y lo que se desea es recoger la mercadería y transportarla hacia
el depósito. También podría ocurrir que la mercadería deba ser transportada a los clientes pero no
esté inicialmente en el depósito, sino distribuida en ciertos sitios proveedores. En este caso, los
proveedores deben ser visitados antes que los clientes.
En otros casos la demanda no es un bien sino un servicio: el cliente simplemente debe ser visitado
por el vehículo. Un mismo vehículo podría, potencialmente, visitar a todos los clientes. En otra
variante del problema, cada cliente tiene una ubicación y desea ser transportado hacia otro sitio. Aquí
la capacidad del vehículo impone una cota sobre la cantidad de clientes que puede alojar
simultáneamente.
Es usual que cada cliente deba ser visitado exactamente una vez. Sin embargo, en ciertos casos se
acepta que la demanda de un cliente sea satisfecha en momentos diferentes y por vehículos
diferentes.
Los clientes podrían tener restricciones relativas su horario de servicio. Usualmente estas
restricciones se expresan en forma de intervalos de tiempo (llamados ventanas de tiempo) en los que
se debe llegar al cliente.
En problemas con varios vehículos diferentes podrían existir restricciones de compatibilidad entre
éstos y los clientes. En estos casos, cada cliente sólo puede ser visitado por algunos de los vehículos
(por ejemplo, algunos vehículos muy pesados no pueden ingresar en ciertas localidades).
OPTIMIZACIÓN DE RUTAS EN VEIASA 13
Los depósitos
Tanto los vehículos como las mercaderí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
este podría no ser el caso en algunas aplicaciones (por ejemplo, podría ser que el viaje debiera
finalizar en el domicilio del conductor del vehículo).
En los problemas con múltiples depósitos cada uno de estos tiene diferentes características, por
ejemplo, su ubicación y capacidad máxima de producción. Podría ocurrir que cada depósito tenga
una flota de vehículos asignada a priori o que dicha asignación sea parte de lo que se desea
determinar.
Los depósitos, al igual que los clientes, podrían tener ventanas de tiempo asociadas. En algunos
casos debe considerarse el tiempo necesario para cargar o preparar un vehículo antes de que
comience su ruta, o el tiempo invertido en su limpieza al regresar. Incluso, por limitaciones de los
propios depósitos, podría querer evitarse que demasiados vehículos estén operando en un mismo
depósito a la vez (es decir, la congestión del depósito).
Los vehículos
La capacidad de un vehículo podría tener varias dimensiones, como por ejemplo peso y volumen.
Cuando en un mismo problema existen diferentes tipos de producto, los vehículos podrían tener
compartimentos, de modo que la capacidad del vehículo dependa del tipo de producto de que se trate.
En general, cada vehículo tiene asociado un costo fijo en el que se incurre al utilizarlo y un costo
variable proporcional a la distancia que recorra.
Los problemas en que los atributos (capacidad, costo, etc.) son los mismos para todos los vehículos
se denominan de flota homogénea, y, si hay diferencias, de flota heterogénea. La cantidad de
vehículos disponibles podría ser un dato de entrada o una variable de decisión. El objetivo más usual
suele ser utilizar la menor cantidad de vehículos y minimizar la distancia recorrida ocupa un segundo
lugar.
Regulaciones legales podrían imponer restricciones sobre el tiempo máximo que un vehículo puede
estar en circulación e incluso prohibir el pasaje de ciertos vehículos por ciertas zonas. En algunos
casos se desea que la cantidad de trabajo realizado por los vehículos (usualmente el tiempo de viaje)
no sea muy dispar.
En general se asume que cada vehículo recorre una sola ruta en el período de planificación, pero
últimamente se han estudiado modelos en los que un mismo vehículo puede recorrer más de una ruta.
2.3. Variantes y extensiones del VRP
En los problemas VRP reales aparecen muchas restricciones y características propias de la flota,
dando lugar a las variantes y extensiones del VRP (Figura 3). Cada variante lleva asociada una
problemática diferente y requiere una resolución específica (Figura 4).
OPTIMIZACIÓN DE RUTAS EN VEIASA 14
Figura 3. Variantes del problema VRP
Figura 4. Problemática asociada a las variantes del VRP
Entre las variantes más ampliamente estudiadas en la literatura se puede citar las siguientes:
VRP con capacidad limitada (CVRP)
El VRP es una extensión del m-TSP en la cual cada cliente tiene asociada una demanda di y cada
vehículo tiene una misma capacidad C (la flota es homogénea). En este problema la cantidad de
rutas no es fijada de antemano como en el TSP y en el m-TSP. En algunos casos se agrega a este
problema la restricción de que ninguna ruta puede tener largo mayor que cierta cota L. Cada vehículo,
además, puede recorrer a lo sumo una ruta. Se asume en la mayoría de los casos que m es una
variable de decisión que no tiene cota superior, es decir, la disponibilidad de los vehículos es ilimitada.
VRP con múltiples depósitos (MDVRP)
Una empresa puede disponer de varios depósitos o almacenes desde los que suministra la demanda
a sus clientes. Si los clientes están agrupados alrededor de los depósitos, entonces el problema
puede verse como un conjunto de problemas independientes VRP. Pero si los clientes y los depósitos
están mezclados, entonces se ha de resolver un problema MDVRP.
Para resolver un problema MDVRP se necesita asignar los clientes a los depósitos. Para cada
depósito se tiene una flota de vehículos. Cada vehículo que parte de un depósito, sirve a los clientes
asignados a ese depósito y después regresa a dicho depósito. El objetivo del problema es servir a
todos los clientes minimizando el número de vehículos y la distancia total viajada.
OPTIMIZACIÓN DE RUTAS EN VEIASA 15
VRP periódico (PVRP):
En el problema VRP clásico, el periodo de planificación es un día. En el caso del problema PVRP, el
periodo de planificación se extiende a M días.
El objetivo es minimizar la flota de vehículos y el tiempo total de viaje. Un vehículo puede o no
regresar al depósito el mismo día de su partida. Durante el periodo de M días, cada cliente debe ser
visitado al menos una vez.
VRP de entrega dividida (SDVRP):
Se trata de un problema VRP en el que se permite que un cliente pueda ser atendido por varios
vehículos si el coste total se reduce. Esto es importante si el tamaño de los pedidos de un cliente
excede la capacidad de un vehículo.
El objetivo es minimizar la flota de vehículos y el tiempo total de viaje.
VRP estocástico (SVRP):
Se trata de un VRP en que uno o varios componentes son aleatorios. Por ejemplo:
- Clientes aleatorios. Un cliente aleatorio i, es un cliente que tiene una probabilidad pi de estar
presente y una probabilidad (1-pi) de estar ausente.
- Demandas estocásticas: La demanda del cliente i, di, tiene una determinada distribución de
probabilidad.
- Tiempos estocásticos: el tiempo de servicio, ti, y los tiempos de viaje tij, son variables
aleatorias.
Cuando algunos datos son aleatorios es posible que tras una decisión inicial y una aleatoriedad
posterior, no sea posible cumplir con todas las restricciones si se establece una única secuencia. Por
tanto se puede llevar a cabo ciertas acciones correctivas cuando una restricción es violada, según
sea la realización de la variable aleatoria.
VRP con recogidas y entregas (VRPPD):
Es un VRP en que cabe la posibilidad de que los clientes pueden devolver determinados bienes. Por
tanto, se debe tener presente que los bienes devueltos por los clientes han de caber en el vehículo.
Esta restricción hace más difícil el problema de planificación y puede obligar a una mala utilización de
las capacidades de los vehículos, un aumento de las distancias recorridas o a un mayor número de
vehículos.
Por todo lo dicho, se suelen considerar situaciones tales como que las entregas comienzan en un
depósito y las recogidas se traen a la vuelta al depósito, de manera que no hay intercambio de bienes
entre clientes. Otra alternativa es relajar la restricción de que todos los clientes deben ser visitados
exactamente una vez.
OPTIMIZACIÓN DE RUTAS EN VEIASA 16
El objetivo es minimizar la flota de vehículos y el tiempo total de recorrido con la restricción de que el
vehículo debe tener suficiente capacidad para transportar los bienes a entregar así como los
recogidos para devolverlos al depósito.
VRP con backhauls (VRPB):
El VRPB es un caso particular del VRPPD en que los clientes pueden demandar o devolver artículos,
donde además se debe cumplir que todas las entregas se realicen antes de las recogidas. Esto se
debe al hecho de que los vehículos se cargan por la parte trasera y que la recolocación de la carga
en los vehículos se considera antieconómica o no factible. Las cantidades demandadas y las
recogidas se conocen de antemano.
El objetivo es encontrar un conjunto de rutas que minimice la distancia total recorrida.
VRP con ventanas de tiempo (VRPTW):
Es un VRP con la restricción adicional de que se asocia una ventana de tiempo a cada cliente (Figura
5). Al cliente i, se le asocia la ventana de tiempo [ei,li]. Si un vehículo llega al cliente antes del instante
ei el vehículo espera hasta ese instante para atender al cliente. Si llega en el intervalo de la ventana
de tiempo, el vehículo suministra la demanda en el momento de la llegada; y, finalmente, si el
vehículo llega con posterioridad a li entonces el cliente queda sin atender.
Figura 5. Representación del VRPTW
El objetivo general es minimizar la flota de vehículos, el tiempo total de viaje, así como el tiempo total
de espera al suministro de los clientes.
2.4. Métodos de resolución del VRP
Las técnicas de resolución del VRP más comunes son casi todos heurísticos o metaheurísticos
porque los métodos exactos de resolución no garantizan encontrar la solución óptima en un tiempo
razonable de computación cuando el número de clientes es grande.
OPTIMIZACIÓN DE RUTAS EN VEIASA 17
Las técnicas de resolución se clasifican así:
Optimización o técnicas exactas: Son métodos que garantizan encontrar una solución óptima. A
su vez se clasifican en:
o Ramificación y acotamiento.
o Ramificación y corte.
Heurísticos:
Deriva del griego heuriskein, que significa “encontrar” o “descubrir”. Realizan una exploración
limitada en el espacio de soluciones. Producen soluciones razonablemente buenas con tiempos
de computación modestos. Una buena definición podría ser: “un método heurístico es un
procedimiento para resolver un problema de optimización bien definido mediante una
aproximación intuitiva, en la que la estructura del problema se utiliza de forma inteligente para
obtener una buena solución”.
En general resultan interesantes cuando no existan métodos exactos para el problema
considerado; en caso de que los métodos exactos sean ineficaces en términos de tiempo, se
pueden utilizar como paso previo para obtener una solución suficientemente buena y a partir de
ella encontrar otras soluciones mejores con otros métodos.
Los métodos heurísticos se clasifican en:
o Métodos de construcción: Construyen de forma gradual una solución factible a la vez
que tratan de minimizar el coste, pero de por sí no tienen una fase de mejora. Entre estos
se encuentran:
▪ Método de los ahorros (Clarke and Wright (1964)): Es uno de los métodos más conocidos y básicamente la mecánica de este modelo es que si en una solución de dos rutas diferentes pueden ser combinadas formando una nueva ruta, el ahorro obtenido en distancia por dicha unión es la nueva solución. En este algoritmo se parte de una solución inicial donde se asume que cada cliente es visitado por un vehículo y se realizan las uniones de rutas que den mayores ahorros siempre que no violen las restricciones del problema.
Este método ha permanecido a través de los años por ser lo suficientemente flexible como para manejar un amplio rango de restricciones prácticas, siendo relativamente rápido de calcular en un ordenador para problemas con número moderado de paradas y capaz de generar soluciones que están cerca de lo óptimo. Las comparaciones con los resultados óptimos de problemas pequeños, con un número limitado de restricciones, han mostrado que la valoración del método "de ahorros" genera soluciones que están, en promedio, a un 2% del óptimo. El método puede manejar muchas restricciones prácticas, principalmente porque es capaz de formar rutas y ordenar paradas en las rutas simultáneamente.
El objetivo del método de ahorros es minimizar la distancia total viajada por todos los vehículos y minimizar indirectamente el número de vehículos necesarios para atender todas las paradas.
Existe una versión paralela en la que se trabaja sobre todas las rutas simultáneamente y otra secuencial que construye las rutas de una por vez. Las
OPTIMIZACIÓN DE RUTAS EN VEIASA 18
soluciones obtenidas con el algoritmo de ahorros pueden, en general, ser mejoradas mediante operadores de búsqueda local como:
▪ Método de emparejamientos ▪ Heurístico de mejora de multi-rutas.
o Algoritmo de 2 fases: el problema se descompone en sus dos componentes naturales:
▪ Agrupamiento de vehículos en rutas factibles.
▪ Construcción de la ruta.
A su vez, dependiendo del orden en que se efectúan las dos tareas anteriores, se tienen:
▪ Algoritmos de agrupamiento primero y enrutamiento después (cluster first –route second).
Lo que busca este método es generar grupos de cliente (clusters) que estarán en una misma ruta en la solución final y luego, para cada cluster crear una ruta que visite a todos sus clientes. En la primera etapa se tiene en cuenta la restricción de capacidad de cada vehículo, asegurando que la demanda total de cada cluster pueda ser atendida por un vehículo específico.
▪ Algoritmos de enrutamiento primero y agrupamiento después.
Es el algoritmo inverso al anterior, de forma que primero se forma una única ruta y luego se va dividiendo en grupos de cliente (clusters) teniendo en cuenta la restricción de capacidad de cada vehículo, asegurando que la demanda total de cada cluster pueda ser atendida por un vehículo específico.
Metaheurísticos:
Heurística de nivel más alto. Son métodos que realizan una exploración intensiva del espacio de
soluciones. La calidad de las soluciones de estos métodos es mucho mayor que la obtenida por
los heurísticos clásicos.
Es una estrategia que guía el proceso de búsqueda, incluyendo en general heurísticas
subordinadas.
Entre ellos, podemos encontrar:
o Algoritmos de hormigas (Dorigo, Maniezzo y Colorni (1996)):
Las colonias de hormigas (Ant Colony Optimization, ACO) se basan en que en la
naturaleza varias hormigas exploran distintas direcciones del espacio de soluciones
factibles, dejando tras de sí un rastro de feromonas, que le indican a la siguiente hormiga
las direcciones más “interesantes” para ser exploradas.
Este comportamiento tiene como etapa inicial la exploración aleatoria del área cercana al
nido de la hormiga. Tan pronto como una hormiga encuentra la comida, la lleva al nido.
Mientras que realiza este camino, la hormiga va depositando una sustancia química
denominada feromona, que ayudará al resto de las hormigas a encontrar la comida. Esta
comunicación indirecta entre las hormigas mediante el rastro de feromona las capacita
para encontrar el camino más corto entre el nido y la comida. Esta funcionalidad es la que
OPTIMIZACIÓN DE RUTAS EN VEIASA 19
intenta simular este método para resolver problemas de optimización, donde el rastro de
feromona se simula mediante un modelo probabilístico.
Dichas direcciones se toman con una probabilidad proporcional al nivel de feromona
existente, en un intento por no caer en un óptimo local. Además, los niveles de feromonas
disminuyen tras cada iteración (se evapora).
o Programación restringida.
La programación con restricciones es un método ampliamente utilizado para la
descripción y resolución de problemas combinatorios particularmente difíciles, por
ejemplo en las áreas de planificación y scheduling. Es un paradigma de programación
que se basa en la especificación de un conjunto de variables, y otro conjunto de
restricciones que deben ser satisfechas por cualquier solución del problema. Estos
métodos combinan búsqueda con mecanismos de propagación de restricciones, que son
capaces de reducir en gran medida el espacio de búsqueda.
Se basan en construir una planificación trabajo por trabajo, y en cada paso se ordenan
los trabajos candidatos según la regla utilizada.
Aunque por sí solas las reglas de prioridad no suelen obtener muy buenos resultados, es
muy habitual utilizarlas en combinación con otras técnicas.
o Recocido simulado (Kirkpatrick, Gelatt and Vecchi (1983))
El nombre proviene del proceso de recocido del acero y cerámicas, una técnica que
consiste en calentar y luego enfriar lentamente el material para variar sus propiedades
físicas. El método de recocido se utiliza muy comúnmente para mejorar las cualidades
físicas de un material (así los átomos quedan en equilibrio).
La idea del SA es simular el proceso de recocido del metal y del cristal, donde para evitar
los óptimos locales, el algoritmo permite elegir una solución peor que la solución actual.
En cada iteración se elige, a partir de la solución actual s, una solución s´ del vecindario
N(s). Si s’ es mejor que s (es decir, tiene un mejor valor en la función de fitness), se
sustituye s por s’ como solución actual.
Si la solución s’ es peor, entonces se acepta con una determinada probabilidad que
depende de la temperatura actual T y de la variación en la función de fitness f (s’) - f (s)
(caso de minimización). Esta probabilidad generalmente se calcula siguiendo la
distribución de Boltzmann, que se presenta en la ecuación: ))()'(
(T
sfsfeP
−⋅=
OPTIMIZACIÓN DE RUTAS EN VEIASA 20
Figura 6. Pseudocódigo del Recocido Simulado
o Algoritmos genéticos (Holland (1975):
Es una técnica aleatoria de búsqueda global que es capaz de resolver problemas
mediante la imitación de procesos observados durante la evolución natural. Por tanto,
puede ser aplicado en un amplio rango de problemas poco definidos, los cuales no se
prestan a ser resueltos por métodos más especializados. Un algoritmo genético,
básicamente desarrolla una población representado por una cadena de dígitos (bits),
también denominada cromosomas, donde cada uno de estos cromosomas tiene
codificado una solución para un determinado problema. Esa evolución se lleva a cabo a
partir de la aplicación de unos operadores, los cuales imitan los fenómenos naturales
observados en la naturaleza (como la reproducción, mutación, etc.…).
Figura 7. Pseudocódigo del Algoritmo Genético
o Búsqueda tabú (Glover, 1989):
Se examinan secuencias de soluciones, al igual que en el recocido simulado, con la
particularidad de que el siguiente movimiento se realiza hacia el mejor vecino de la actual
solución aunque sea peor. Para impedir caer en comportamientos cíclicos, se prohíben
(se hacen tabú) las soluciones examinadas recientemente para un determinado número
de iteraciones. El mecanismo básico de búsqueda tabú puede ser mejorado
implementando estrategias de intensificación y diversificación.
OPTIMIZACIÓN DE RUTAS EN VEIASA 21
Figura 8. Pseudocódigo de la Búsqueda Tabú simple
o Tabú granular.
El problema principal de la Búsqueda Tabú es el gran tiempo computacional requerido en
la exploración de vecindarios.
Tabú granular lleva a una reducción drástica en el tiempo computacional requerido por
cada iteración del algoritmo de Búsqueda Tabú.
El objetivo es alcanzado utilizando vecindarios que pueden ser examinados en un tiempo
mucho menor al requerido en la forma tradicional pero sin afectar considerablemente la
calidad de la soluciones hayadas. El método propone generar vecindarios acotados
descartando de los vecindarios tradicionales una gran cantidad de movimientos no
prometedores y explorando sólo un subconjunto que contiene movimientos más
prometedores.
o Procedimiento de memoria adaptativa (Adaptive Memory Procedure (AMP))
Es una metaheurística que puede utilizarse en combinación con cualquier algoritmo de
búsqueda local. Consiste en utilizar una estructura de memoria para generar soluciones
iniciales sobre las que se ejecuta una heurística de búsqueda local. Las soluciones
obtenidas por dicha heurística se utilizan, a su vez, para modificar la información
almacenada en la memoria.
La idea consiste en almacenar componentes de algunas de las mejores soluciones en-
contradas por el algoritmo, en una estructura llamada memoria de largo plazo.
Periódicamente, se construye una solución en base a la información almacenada en la
memoria y se realiza una búsqueda local comenzando en dicha solución. La solución
obtenida por el algoritmo de búsqueda local se utiliza para actualizar la información
almacenada en la memoria.
OPTIMIZACIÓN DE RUTAS EN VEIASA 22
Figura 9. Esquema de funcionamiento del AMP
o GRASP (Feo and Resende (1995))
GRASP (Greedy Randomized Adaptive Search Procedure) es una metaheurística que combina
procedimientos constructivos y de búsqueda local.
GRASP es un procedimiento iterativo en dos fases:
1. Una de construcción de la solución (heurística)
2. Otra de mejora.
La construcción de la solución se caracteriza por ser dinámica y aleatoria. Los valores de la
heurística son actualizados en cada iteración.
Figura 10. Pseudocódigo de la Construcción del GRASP
Todas estas técnicas comparten algunas características:
Son “ciegas” lo que significa que a lo largo del proceso no se dispone de ninguna
información relativa a la proximidad de la solución considerada al óptimo global del problema.
Son métodos aproximados y, en caso de que se pueda hablar de optimalidad, no garantizan
la obtención de la solución óptima (o de una de ellas si existen varias).
OPTIMIZACIÓN DE RUTAS EN VEIASA 23
Aceptan ocasionalmente malos movimientos (es decir, se trata de procesos de búsqueda en
los que cada nueva solución no es necesariamente mejor -en términos de la función objetivo-
que la inmediatamente anterior).
Algunas veces aceptan, incluso, soluciones no factibles como paso intermedio para acceder a
nuevas regiones con soluciones factibles no exploradas.
Son relativamente sencillas; todo lo que se necesita es una representación adecuada del
espacio de soluciones, una solución inicial (o un conjunto de ellas) y un mecanismo para
explorar el campo de soluciones. Sin embargo, a medida que se han aplicado a problemas
específicos, se han ido desarrollando variantes menos sencillas de las técnicas originales. En
esencia se trata de realizar un elevadísimo número de iteraciones sencillas.
Son generales: prácticamente se pueden aplicar en la resolución de cualquier problema de
carácter combinatorio. Sin embargo, la técnica será más o menos eficiente en la medida en
que la representación de las soluciones sea adecuada, las operaciones que realiza el
metaheurístico tengan relación con el problema considerado y se exploten adecuadamente
sus características.
En cada iteración, la nueva solución depende de la solución de partida y de la trayectoria
seguida hasta ese momento, de forma que el proceso de búsqueda puede pasar varias veces
por la misma solución, eligiendo en cada una de las ocasiones una nueva solución distinta
A excepción del GRASP y las colonias de hormigas, todas las técnicas son de carácter
iterativo, esto es, se parte de una solución completa (o varias) a partir de la cual se obtienen
nuevas soluciones también completas. Las diferencias entre unas técnicas y otras radican en
la forma de obtener unas soluciones a partir de otras.
Figura 11. Evolución de los métodos aproximados para el VRP
OPTIMIZACIÓN DE RUTAS EN VEIASA 24
Generalmente, cuando se plantea un problema VRP, se tiende a buscar directamente métodos
heurísticos para su resolución. Pero los métodos heurísticos tienen que ser validados con un método
de optimización para comprobar que los resultados de las heurísticas son cercanos a las soluciones
óptimas. Una posibilidad que se va a plantear en este proyecto es el desarrollo de un modelo de
programación lineal capaz de resolver de forma óptima el problema planteado.
OPTIMIZACIÓN DE RUTAS EN VEIASA 25
3. DEFINICION DEL PROBLEMA EN VEIASA
3.1. Introducción al problema del diseño de rutas en VEIASA
El objetivo de este proyecto se centra en solucionar dos áreas fundamentales en VEIASA:
1. Planificar de forma más eficiente las rutas a realizar por los verificadores durante la
prestación de servicios de los laboratorios provinciales.
2. Unificar el método de diseño de las rutas. Actualmente las rutas se deciden en base a unos
criterios y objetivos, pero no hay un método único. Cada jefe de laboratorio provincial realiza
esta gestión en base a su experiencia.
En una primera instancia se analizan algunas soluciones comerciales adaptables al problema.
Después de analizarse detenidamente se desestiman debido a su gran desembolso económico y a la
poca flexibilidad que permiten en la planificación.
Por tanto, se concluye crear una solución usando la herramienta Excel integrada con macros para
ayudar en dicha planificación. Esta herramienta no proporciona la totalidad de la solución requerida
de planificación pues no calcula las rutas, pero ayuda proporcionando flexibilidad en la selección de
los clientes a visitar. Por ello, para el cálculo de cada ruta se utilizarán herramientas GIS gratuitas.
Además, al ser Excel una herramienta instalada en todos los ordenadores de la empresa y que los
jefes de laboratorio conocen, se unificarán criterios a la vez que eliminará el impacto económico de
una nueva herramienta.
Se pretende optimizar el problema semanal que tiene VEIASA en la planificación de sus rutas y
prestaciones de servicio.
La mayoría de problemas de éste tipo suelen tener una restricción fuerte (pudiendo ser límite de
capacidad en un vehículo, abastecimiento de mercancía….), mientras que éste problema tiene dos
más:
Restricciones asociadas a los Patrones: La limitación del número de patrones disponibles y la
incompatibilidad que hay entre ellos produce una dificultad añadida.
Restricciones asociadas a la Cualificación del personal: No todas las prestaciones de servicio
pueden ser realizadas por los mismos verificadores.
Esto dificulta enormemente la optimización del problema convencional.
3.2. Descripción de la empresa VEIASA
Verificaciones Industriales de Andalucía, S. A. (VEIASA) es una empresa pública, dependiente de la
Consejería de Economía, Innovación, Ciencia y Empleo de la Junta de Andalucía, fundada en 1990
con el objetivo de realizar las actuaciones de inspección y control derivadas de la aplicación de las
OPTIMIZACIÓN DE RUTAS EN VEIASA 26
distintas reglamentaciones industriales y la prestación de todo tipo de servicios que contribuyan al
desarrollo de la industria en la comunidad autónoma de Andalucía.
Sus dos ramas de actividad son la Inspección Técnica de Vehículos y el Control Metrológico de los
equipos de medida, contribuyendo con ello a la seguridad vial, a la protección del medio ambiente y a
la defensa de los consumidores.
VEIASA da cobertura a las necesidades de más de 3,6 millones de vehículos en 60 estaciones ITV
fijas en Andalucía. Además realiza servicios de control metrológico en ocho laboratorios provinciales,
un laboratorio central de referencia y cinco bases comarcales. Para acercar el servicio a aquellos
ciudadanos que poseen vehículos con limitaciones para circular (ciclomotores y vehículos agrícolas),
o que cuenten con instrumentos de medida obligados a pasar control legal, VEIASA cuenta con una
flota compuesta por 13 unidades móviles de ITV (8 para ciclomotores y 5 para vehículos agrícolas),
34 unidades móviles ligeras y 6 camiones para las verificaciones de básculas de gran tonelaje.
Figura 12. Estaciones fijas de ITV en 2012
OPTIMIZACIÓN DE RUTAS EN VEIASA 27
Como se ha comentado, las dos líneas de negocio son: la Inspección Técnica de Vehículos y el
Control Metrológico. Respecto al sector de la ITV en Andalucía, creció en 2012 un 2,56% alcanzando
2.936.715 primeras inspecciones. El mayor número de dichas primeras inspecciones (97,69%) se
realizaron en las estaciones ITV fijas, seguidas de las unidades móviles de vehículos agrícolas
(1,36%) y las unidades móviles de ciclomotores (0,95%).
Figura 13. Datos de primeras inspecciones en ITV 2012
Este proyecto se centra en la segunda línea de negocio dedicada al Control Metrológico. VEIASA
ejerce desde 1992 el control de los equipos de medida que exigen la metrología legal. El área de
metrología de VEIASA controla la comercialización y puesta en servicio de los instrumentos, aparatos,
medios y sistemas de medida para garantizar que cumplan los requisitos esenciales y específicos
establecidos por ley. Además se encargan de la verificación después de reparación o modificación y
la verificación periódica de los instrumentos de medida en servicio, en los que así esté establecido.
Figura 14. Laboratorios de Control Metrológico de VEIASA en 2012
OPTIMIZACIÓN DE RUTAS EN VEIASA 28
En las siguientes tablas se reflejan las actividades de calibración y verificación realizadas en el
laboratorio central y en los laboratorios provinciales.
Figura 15. Tablas de estadísticas del Laboratorio Central de VEIASA
OPTIMIZACIÓN DE RUTAS EN VEIASA 29
Figura 16. Tablas de estadísticas de Laboratorios Provinciales de VEIASA
Respecto a los trabajadores de VEIASA, se trata en su mayoría de ingenieros, ingenieros técnicos y
técnicos especialistas en automoción. La plantilla a inicios de 2013 la componían 1.264 personas.
Finalmente respecto a los resultados económicos, el importe neto de la cifra de negocios en el
ejercicio 2012 alcanzó la cantidad de 98,90 millones de euros, con un resultado después de
impuestos de 20,52 millones de euros.
3.3. Problemática del diseño de rutas en VEIASA
Dentro de la línea de negocio de Control Metrológico de VEIASA, se va a desarrollar una nueva
metodología única para el diseño de rutas de calibración y verificación en clientes.
Actualmente las rutas se planifican según la experiencia y lógica de cada jefe de laboratorio provincial,
siendo imposible determinar si es o no la más óptima. Además no hay un método único establecido
de las rutas de prestaciones de servicio, cada día puede variar en función de las tipologías de
solicitudes y en función del criterio de los jefes de laboratorio.
Las desventajas que se aprecian con este método son:
• Pérdida de tiempo de los Verificadores al no ser la ruta óptima. Exceso de tiempo de la
jornada laboral, incapacidad de cumplir con los objetivos establecidos, imposibilidad de
rehacer la ruta ante cualquier incidente (un cliente decide en el último momento que no se
realice el trabajo, una avería en la furgoneta….).
• Pérdida de tiempo de los Jefes de Laboratorio en la planificación diaria. La planificación se
realiza a una semana vista, ocupando aproximadamente 5 horas semanales para dicha
planificación.
OPTIMIZACIÓN DE RUTAS EN VEIASA 30
Definimos a continuación los requisitos y características para cada prestación de servicio realizada,
es decir, todo la información necesaria para completarla satisfactoriamente.
La siguiente figura muestra un esquema del proceso, con parte de la información requerida.
Figura 17. Esquema del proceso de diseño de rutas en VEIASA
Entrada: información de clientes, personal (verificadores), tipos de servicios (verificaciones),
patrones y vehículos.
CLIENTES
La información de los clientes se obtiene por el volcado de un programa ERP, software de
gestión, de la empresa VEIASA.
Estos clientes pueden ser nuevos o recurrentes. En ambos casos se tiene de ellos la
siguiente información:
• Razón social.
• Razón comercial (si existiese).
• Dirección, teléfono y correo electrónico.
• Prestación de servicio a realizar (tipo de servicio y cantidad de servicios).
• Fecha de recepción
PERSONAL
La información del personal de verificación (verificadores) se obtiene de la BBDD de recursos
humanos, completándose con las cualificaciones de cada uno de ellos, es decir, qué tipos de
verificaciones pueden realizar.
OPTIMIZACIÓN DE RUTAS EN VEIASA 31
VEHÍCULOS
La empresa dispone para cada laboratorio provincial de un listado de su flota de vehículos
para visitar a los clientes, que son furgonetas, furgonetas especiales y camiones.
PATRONES
Cada uno de los servicios a realizar necesita de instrumental específico. Este instrumental se
agrupa en unidades denominadas patrones (por ejemplo, medidor de condiciones
ambientales, juegos de pesas, etc.). Cada tipo de servicio al cliente necesita uno o varios de
dichos patrones y un tipo de vehículo concreto. De cada patrón se dispone de un número
limitado en cada laboratorio provincial. Se dispone de un listado de patrones disponibles en
cada laboratorio.
TIPOS DE SERVICIOS
Existen dos categorías de servicios que se pueden realizar en cliente: las Calibraciones y las
Verificaciones.
• Calibración (no obligatoria): es el conjunto de operaciones que establecen la relación entre los valores de una magnitud indicados por un instrumento de medida y los valores correspondientes de esa magnitud realizados por patrones. La calibración determina las características metrológicas del instrumento y se realiza mediante comparación directa con patrones de medida.
• Verificación (obligatoria): Es el conjunto de exámenes administrativos, visuales y técnicos que tienen por objeto comprobar y confirmar que un instrumento de medida en servicio mantiene desde su última verificación las características metrológicas que le sean de aplicación, en especial en lo referente a los errores máximos permitidos, así como que funcione conforme a su diseño y sea conforme a su reglamentación específica y, en su caso, al diseño o modelo aprobado.
En este proyecto usaremos el concepto de tipo de verificación a cualquier tipo de servicio,
sea de calibración o verificación. La empresa dispone de un listado de tipos de verificaciones,
donde se han estimado los tiempos medios de realización de las mismas y los patrones y tipo
de vehículo necesario para su realización.
En este proyecto se van a estudiar los tipos de verificaciones más habituales que son las
prestaciones de servicios periódicas y que son las siguientes:
1) Surtidores de combustibles.
2) Instrumentos de pesaje de funcionamiento no automático (Balanzas y básculas).
3) Manómetros para neumáticos de vehículos (aquellos existentes en algunas gasolineras).
4) Analizadores de gases de escape de vehículos de gasolina.
5) Opacímetros.
6) Contadores volumétricos de camiones cisterna.
OPTIMIZACIÓN DE RUTAS EN VEIASA 32
7) Termómetros y registradores de temperatura.
A continuación se muestra la información que relaciona cada tipo de verificación periódica
con los patrones y vehículos necesarios, junto con los tiempos medios de realización.
1) Sistemas de medida de carburantes:
Líquidos, distintos del agua, destinados al suministro de carburantes y combustibles
líquidos instalados en establecimientos de venta al público (estaciones de servicio y unidades
de suministro).
2) Instrumentos de pesaje de funcionamiento no automático:
Son instrumentos de pesar que requieren la intervención de un operador durante el proceso de
pesada; por ejemplo para depositar o retirar la carga a medir del receptor de carga, así como para la
obtención del resultado. Estos instrumentos permiten la observación directa de la pesada, bien sea
visualizada o impresa. En el caso de balanzas y básculas de > 60 Kg es necesario un camión para el
transporte de masas patrón.
OPTIMIZACIÓN DE RUTAS EN VEIASA 33
3) Manómetros para neumáticos de vehículos:
Destinados a medir la presión de los neumáticos de los vehículos a motor, que sólo
tengan componentes mecánicos y no dispongan de dispositivos de predeterminación, y
sean de uso público (incluidos talleres de reparación) o bien estén dotados total o parcialmente de
componentes electrónicos y provistos o no de dispositivos de predeterminación, y que sean tanto de
uso público como profesional.
OPTIMIZACIÓN DE RUTAS EN VEIASA 34
4) Analizadores de Gases de Escape:
Instrumentos destinados a medir las emisiones de los gases de escape que se utilizan
en la inspección y mantenimiento profesional de vehículos a motor en circulación
equipados con motores de encendido por chispa (gasolina), que sirven para determinar las fracciones
en volumen de los componentes especificados de los gases de escape siguientes: monóxido de
carbono (CO), dióxido de carbono (CO2), oxígeno (O2) e hidrocarburos (HC).
5) Opacímetros:
Instrumentos destinados a medir la opacidad y determinar el coeficiente de absorción luminosa de los
gases de escape de los vehículos equipados con motores de encendido por compresión (diésel).
OPTIMIZACIÓN DE RUTAS EN VEIASA 35
6) Sistemas de medida en camiones cisterna para líquidos de baja viscosidad:
Procedimiento de control de los sistemas de medida de líquidos distintos del agua
montados sobre camiones cisterna. Dicho procedimiento establece como única opción la utilización
como medio de comparación de vasijas patrón.
7) Registradores de temperatura y termómetros:
Se instalan o utilizan en el transporte, almacenamiento, distribución y control de productos
a temperatura controlada, en cumplimiento de disposiciones reglamentarias.
OPTIMIZACIÓN DE RUTAS EN VEIASA 36
Salida: como resultado de la aplicación que diseña las rutas de servicios de verificación, la
empresa quiere disponer semanalmente un listado de rutas con:
• El orden de visita a los clientes en cada ruta
• La ruta física a seguir de cada cliente a cada cliente
• El verificador que realizará cada ruta
• El vehículo donde se realizará cada ruta
• Los patrones a cargar en cada vehículo para cada ruta
• Los tiempos estimados para realizar cada ruta
Al finalizar cada prestación de servicio existe un Control de Verificación a través de un
albarán que será firmado por el verificador y el cliente. Después el verificador realiza un
informe con el trabajo desarrollado (tarea administrativa).
A modo de resumen, la metodología a aplicar debe tener en cuenta las siguientes restricciones o
requerimientos propios de la empresa:
a) La capacidad de los vehículos a través de las incompatibilidades con el tipo de servicio.
Cada tipo de vehículo puede realizar unos determinados tipos de servicios (no
cualquiera).
b) Los juegos de patrones disponibles. En cada laboratorio se cuenta con un número
limitado de juegos de patrones de cada tipología.
c) La incompatibilidad entre distintos patrones. Existen patrones que no pueden ir juntos en
los vehículos.
d) Las ventanas horarias de los clientes. Algunos clientes son comercios a los que no
pueden efectuárseles la prestación de servicio a determinadas horas o bien necesitan
realizarlo en un determinado momento de su jornada.
e) Los clientes pueden demandar más de un tipo de servicio. Hay que maximizar siempre
los clientes que requieran más prestaciones de servicio (siempre que los patrones
necesarios para ello lo permitan).
f) Cada vehículo hace una ruta y al terminar la jornada laboral vuelve a su laboratorio
provincial (la flota duerme en el laboratorio).
g) Cada día el listado de clientes a servir es diferente, es por tanto dinámico. Se va a
realizar planificaciones semanales y por tanto, el listado de servicios a clientes se
congelará para toda la semana.
OPTIMIZACIÓN DE RUTAS EN VEIASA 37
3.4. Estudio de soluciones comerciales para el diseño de rutas
El primer paso que se analizó para resolver el problema de diseño de rutas de verificación en VEIASA
consistió en el estudio de las soluciones ya existentes para el diseño de rutas comerciales. Para ello,
se contactó con numerosas empresas de desarrollo de software especializado en este tipo de
productos.
Todas estas empresas coincidieron en que las dos restricciones adicionales que poseía VEIASA y
que no son típicas en el problema VRP, presentaban una dificultad añadida a sus productos
convencionales, cuya resolución no podría reflejarlas como tal. Es decir, había que adaptar el
problema de VEIASA al modelo estándar de un problema de estas características. Muchas de estas
empresas incluso no profundizaron más al considerar que su producto no iba a ser útil.
Recordemos que las dos restricciones adicionales son (ver apartado 3.1):
Restricciones asociadas a los Patrones: La limitación del número de patrones disponibles y la
incompatibilidad que hay entre ellos produce una dificultad añadida.
Restricciones asociadas a la Cualificación del personal: No todas las prestaciones de servicio
pueden ser realizadas por los mismos verificadores.
Entre las aplicaciones de software contactadas y analizadas cabe destacar las siguientes:
3.4.1. LogisPlan
Es una potente herramienta que utiliza algoritmos inteligentes avanzados para
planificar y optimizar rutas de distribución o de visitas a clientes.
Se usó la versión “Visitas a clientes” por asemejarse más a la actividad de verificación metrológica.
Consiste en un software con dos entradas en formato Excel predefinidas por el programa con los
datos de nuestra planificación.
Los clientes a visitar. Se van introduciendo datos de direcciones, horarios, fechas de visita,
condicionantes…
OPTIMIZACIÓN DE RUTAS EN VEIASA 38
Figura 18. LogisPlan. Información de clientes
Los recursos disponibles de la empresa. Información de nombre de los vendedores, jornada laboral,
origen de la ruta…
Figura 19. LogisPlan. Información de recursos
Una vez introducida la información en las tablas, se procede a efectuar la previsión de ruta. Para ello,
se ejecuta el programa, y se selecciona el horizonte de planificación:
Figura 20. LogisPlan. Selección de fecha de planificación
A continuación, se introducen los recursos y clientes almacenados anteriormente y “Logisplan”
comienza a realizar la planificación.
Se obtiene un mapa con la localización y las primeras rutas establecidas, junto con dos ventanas
inferiores con detalles de la ruta, tiempos, clientes, vendedores….
OPTIMIZACIÓN DE RUTAS EN VEIASA 39
Figura 21. LogisPlan. Mapa e información de rutas calculadas
Presenta una gran ventaja, y es que se puede seleccionar de forma muy sencilla el criterio de ruta,
por ejemplo, minimizar coste, distancia, tiempo de trabajo….
Figura 22. LogisPlan. Parámetros de planificación
El programa actúa buscando continuamente el óptimo, por lo que es conveniente darle unos minutos
para que llegue a la situación más estable dentro de las posibles:
OPTIMIZACIÓN DE RUTAS EN VEIASA 40
Figura 23. LogisPlan. Resumen de la solución calculada
Muestra además cómo va buscando el óptimo junto con muchas estadísticas relevantes en el proceso.
3.4.2. Involve
Software que optimiza la planificación de visitas comerciales usando como
metaheurística un Algoritmo Genético. Muy similar al anterior pero más flexible.
En primer lugar, se introducen los datos de los clientes a visitar:
OPTIMIZACIÓN DE RUTAS EN VEIASA 41
Figura 24. Involve. Información de clientes
A continuación se introducen y personalizan los vendedores / comerciales disponibles:
Figura 25. Involve. Información de vendedores
Y se obtiene entonces la ruta de cada vendedor:
OPTIMIZACIÓN DE RUTAS EN VEIASA 42
Figura 26. Involve. Representación de la ruta calculada
3.4.3. Ventajas e inconvenientes
Después de analizar ambos software, se llegan a las siguientes conclusiones conjuntas:
Ventajas:
Optimizan eficientemente la ruta a seguir para cada verificador.
Resuelven el problema de las restricciones adicionales manualmente en forma de
condicionales del problema.
Inconvenientes:
Es necesario mucho tiempo en la parametrización de todos los componentes a calcular
(verificadores, patrones, solicitudes).
Tiene una planificación muy rígida, de tal forma, que en el supuesto de que hubiera un
problema de última hora (furgoneta/patrón roto) sería necesaria una nueva actualización de la
parametrización, dando lugar a un tiempo excesivo estipulado para esta tarea.
Precio bastante elevado, y aumentándolo aún más en el caso de requerir alguna modificación
adicional (como era el caso). El orden aproximado es de unos 7.500€ para 10 vehículos.
Por tanto, se descartó en una primera fase usar un software específico por todas estas desventajas y
elevado precio. Se pensó en una solución flexible y no tan compleja.
OPTIMIZACIÓN DE RUTAS EN VEIASA 43
4. METODOLOGÍAS PROPUESTAS PARA VEIASA
4.1. Introducción
Descartadas por tanto las soluciones comerciales, se pensó en una resolución práctica, accesible a
todos los jefes de laboratorio y de fácil manejo.
Se desestimó controlar toda la problemática, proponiéndose una solución que resolviera la gran parte
de las solicitudes, es decir, una herramienta organizativa que resolviera iterativamente los problemas.
No obstante, a nivel académico y para validar soluciones a pequeña escala, se planteó en primer
lugar un modelo de optimización basado en programación lineal. Esta alternativa no es viable en
problemas de tamaño medio (más de 15 clientes) y por tanto se propone una metodología alternativa
basada en la heurística First Cluster-Route Second y usando la hoja de cálculo Excel y herramientas
gratuitas para el cálculo de rutas.
4.2. Modelo de optimización del problema
4.2.1. Uso de modelos de programación matemática
Al plantear el problema real mediante modelos matemáticos, siempre se debe simplificar. La realidad
es muy compleja, e intervienen en su evolución múltiples factores. Un modelo sirve para evaluar,
entender y optimizar una realidad desde un punto de vista muy global y generalista.
Por ello, los modelos matemáticos sólo deben contemplar los factores más relevantes en la evolución
de esa realidad. El modelo simplifica la realidad para poder analizarla. Es muy importante antes de
hacer un modelo, analizar los factores generales que se aplican a la realidad que se quiere modelar.
Éstos deben estar ordenados por orden de prioridad, y ver cuáles son fundamentales dentro del
modelo. Una vez realizado el modelo básico, con las características básicas, se le pueden ir
introduciendo más factores que deban ser contemplados en la ejecución del modelo.
El uso del modelo de programación matemática permite conseguir el óptimo o un cuasióptimo, pero
con una tolerancia controlada.
El desarrollo de un modelo de optimización se realiza en diferentes etapas secuenciales:
a) Identificación del problema: consiste en la recolección y análisis de la información relevante
para el problema. Esta fase es crítica para poder entender y llegar al modelo.
b) Especificación matemática y formulación: diseño del modelo matemático con todos sus
elementos.
OPTIMIZACIÓN DE RUTAS EN VEIASA 44
c) Resolución: en ella se implanta un algoritmo de obtención de la solución numérica óptima o
cuasióptima. La solución óptima debe ser lo suficientemente satisfactoria.
d) Verificación, validación y refinamiento: se eliminan errores de codificación, se validan las
simplificaciones realizadas con los resultados obtenidos, y de ello surgen necesidades de
mejora y refinamiento del modelo.
e) Implantación, documentación y mantenimiento: Etapa fundamental para garantizar su amplia
difusión. La documentación ha de ser clara, concisa y completa. El código debe incluir buena
documentación.
Para poder diseñar una herramienta que sea válida, real y que sirva para la gestión de rutas, primero
hay que analizar qué es lo que se necesita y qué factores se toman en cuenta actualmente a la hora
de elaborar las rutas diarias a mano.
4.2.2. Modelo de programación lineal mixta-entera
Inicialmente el modelo se plantea como una herramienta que optimice las rutas y sus distancias y al
mismo tiempo realice el máximo número de visitas. Se busca que este modelo determine el orden
en que se va a los clientes, en función de su localización geográfica y las distancias entre
ellos, elija el vehículo adecuado considerando la incompatibilidad y limitación de patrones, y
asigne el verificador considerando su cualificación.
Como la empresa abarca cada día un área concreta, esta herramienta se diseña para determinar la
ruta a seguir en un día concreto, a partir de los clientes que han solicitado algún pedido. No obstante
con pequeños cambios se puede extender a un enfoque semanal.
El modelo matemático inicial, se basa principalmente en el problema del viajante (TSP), que consigue
“hacer un recorrido que pase por N ciudades sin repetir ninguna y volviendo a la ciudad de partida de
manera que la distancia (coste) total sea mínima.”
El objetivo del algoritmo será encontrar la combinación de patrones, rutas y vehículos tal que se
maximicen las visitas, es decir, la prioridad será satisfacer el número máximo posible de solicitudes.
Objetivo: Cuál debe ser la planificación óptima que se ha de hacer cada día.
Teniendo en cuenta:
1) Maximizar el número de servicios prestados por jornada (no tienen por qué pertenecer al
mismo cliente).
2) Minimizar distancias entre prestaciones de servicio (costes de desplazamiento).
3) Además, se tienen que tener en cuenta las prioridades de las solicitudes, puesto que hay
solicitudes críticas.
Contando con las restricciones ya comentadas en el apartado 3.3:
OPTIMIZACIÓN DE RUTAS EN VEIASA 45
a) La capacidad de los vehículos y/o incompatibilidades con el tipo de servicio.
b) Juegos de patrones máximos disponibles.
c) Incompatibilidad de patrones.
d) Las ventanas horarias de los clientes.
e) Más de un tipo de servicio por cliente.
f) Cada vehículo vuelve a su origen durante la jornada laboral.
g) Listado semanal con servicios a clientes.
La componente geográfica de los problemas se modela a través de un grafo conexo G = (N, A). El
conjunto de nodos N = {0, 1,. . ., n} representa los sitios que participan en el problema, es decir,
clientes y depósitos. El nodo 0 representa un depósito y los nodos 1,. . ., n representan clientes.
La existencia de un arco (i,j) ∈ A indica que es posible transportarse desde el sitio representado por i
al sitio representado por j.
Índices y Datos de Entrada:
Notación Descripción
i,j Índices de los sitios a visitar (laboratorio y clientes): 0 (Laboratorio),1,…,N
k Índice de los vehículos utilizados: 1,…,K; K+1 (Ficticio para no atendidos)
p Índice de los tipos de patrones: 1,…,P
s Índice del personal verificador: 1,…,S
TSi Tiempo de servicio necesario para llevar a cabo la(s) verificación(es) que componen el servicio solicitado por el cliente ubicado en el sitio i
TVij Tiempo de viaje para ir desde el sitio i al sitio j
TMaxs Tiempo máximo de servicio del verificador s (jornada laboral)
NPp Número máximo de patrones tipo p disponibles
Qip Indica si el servicio en el sitio i necesita el patrón p (Qip=1 si lo necesita, Qip=0 si no).
Ris Indica si verificador s está capacitado para realizar el servicio requerido en el sitio i (Ris =1 si lo está, Ris =0 si no lo está).
OPTIMIZACIÓN DE RUTAS EN VEIASA 46
Ei , Li Ventana temporal mínima y máxima para inicio del servicio en el sitio i
PSp , VLp Peso y volumen de cada tipo de patrón p
PVk , VVk Peso y volumen máximo de cada vehículo k
PRi Prioridad del servicio requerido en el sitio i
Dij Distancia de viaje para ir desde el sitio i al sitio j
Variables de decisión:
Notación Descripción
Xijk Variable binaria que indica el arco (i;j) ∈ A asociado a la ruta k (Xijk = 1 si vehículo k va de
verificación i a verificación j; 0 si no).
kjijiX kij ∀≠∀∀= ;;,)1,0(
XijK+1: es la lista de verificaciones i,j sin ser atendidas
Wpk Variable binaria que indica si vehículo k lleva tipo de patrón p (Wpk =1 si lo lleva, 0 si no).
1,)1,0( +≠∀∀= KkpW kp
Zsk Variable que indica si verificador s va en vehículo k (Zs
k =1 si va en el vehículo, 0 si no va).
1,)1,0( +≠∀∀= KksZ ks
Yik Variable que indica el inicio del servicio requerido en el nodo i con el vehículo k (Yi
k ≥ 0).
1,0 +≠∀∀≥ KkiY ki
Y0k: es la llegada al laboratorio del vehículo k
Restricciones:
Restricciones Descripción
1) No necesariamente saldrán en ruta todos los vehículos:
kXN
j
kj ∀≤
=
11
0
OPTIMIZACIÓN DE RUTAS EN VEIASA 47
2) Los vehículos sólo pueden recorrer cada arco como máximo una vez y en un solo sentido:
kiXXN
ijj
kij
N
ijj
kji ∀∀=−
≠=
≠=
,000
3) Todos los sitios son visitados (considerando también “visitas” las del vehículo ficticio K+1 que en
realidad representa los sitios que quedarán sin visitar):
+
=≠=
∀=1
1 0
1K
k
N
ijj
kij iX
4) Cálculo de los tiempos de inicio del servicio de verificación:
=
+≠∀≠∀≠∀−⋅+≤++S
s
kijs
kjiji
ki KkjijiXTMaxYTVTSY
1
1,;,0)1()(
=
+≠∀≠∀−⋅+≤S
s
kjs
kjj KkjXTMaxYTV
100 1,0)1()(
5) Limitación del tiempo total de cada verificador s:
Si el verificador s va en el vehículo k (Zsk = 1) ENTONCES la llegada del vehículo k al
laboratorio (Y0k) no puede superar el tiempo máximo del verificador s (TMaxs)
=
+≠∀∀−⋅+≤S
r
ksrs
k KksZTMaxTMaxY1
0 1,)1()(
6) Relación entre verificación i, vehículos k y patrón p:
Si se necesita verificación i con vehículo k (=
=N
j
kjiX
0
1 ) y se necesita patrón p en verificación
i (Qip =1) ENTONCES el vehículo k llevará patrón p (Wpk =1)
≠=
∀+≠∀≠∀+≤+N
ijj
kpip
kji pKkiWQX
0
,1,01
7) Incompatibilidad de patrones:
lesincompatibppKkWW k
pkp )',(;11' +≠∀≤+
8) Relación entre verificación i, vehículo k y verificador s:
OPTIMIZACIÓN DE RUTAS EN VEIASA 48
Si se necesita verificación i con vehículo k (=
=N
j
kjiX
0
1 ) y verificador s no puede hacer
verificación i (Ris =0) ENTONCES persona s no irá en vehículo k (Zsk =0)
sKkiZRX ksis
N
ijj
kji ∀+≠∀≠∀−+≤−+
≠=
,1,01110
9) Asignación de 1 verificador por vehículo k ≠ K+1 que se use:
Si vehículo k se usa ( 11
0 ==
N
j
kjX ), ENTONCES se asigna personal (
=
=S
s
ksZ
1
1)
Si no se usa ( 01
0 ==
N
j
kjX ), ENTONCES no se asigna (
=
=S
s
ksZ
1
0 )
111
0 +≠∀===
KkZXS
s
ks
N
j
kj
10) No se pueden asignar 2 verificadores a un mismo vehículo:
sZK
k
ks ∀≤
=
11
11) Ventanas de tiempo en verificaciones:
1,0 +≠∀≠∀≤≤ KkiLYE i
kii
Función Objetivo:
Principal: Maximizar el número de verificaciones ponderadas por sus prioridades:
= =
≠=
K
k
N
j
N
jii
kijj XPRMax
1 1 0
Secundaria: Minimizar las distancias recorridas:
= =
≠=
K
k
N
j
N
jii
kijij XDMin
1 0 0
Se podría aplicar métodos de programación multiobjetivos o ponderar ambas funciones objetivos. Se
opta por esta segunda posibilidad con la función objetivo:
OPTIMIZACIÓN DE RUTAS EN VEIASA 49
= =
≠== =
≠=
−K
k
N
j
N
jii
kijij
K
k
N
j
N
jii
kijj XDXPRMax
1 0 01 1 0
α
Siendo α un parámetro que normalice las distancias respecto a las prioridades y también dándole
menor peso a las distancias que a las prioridades. Por ejemplo:
=≠=
=
⋅=
N
j
N
jii
ij
N
ii
D
PR
0 0
1
10α
4.2.3. Limitaciones de los modelos de optimización
Al haber variables binarias y continuas, implica que es un modelo de programación lineal mixta entera.
El hecho de que existan variables enteras supone que en la ejecución se aplican métodos de
enumeración implícita. Para ello, mediante ramificación va buscando soluciones enteras y
contrastándolas con el resultado lineal que calcula, viendo lo cerca que está del óptimo.
Para validar el modelo y la dificultad de su resolución, se propone un modelo simplificado que
resuelve el modelo propuesto con 1 sólo vehículo (TSP) usando el software CPLEX.
ILOG CPLEX es un motor (programa optimizador ) de programación matemática que permite resolver
problemas de optimización reales a gran escala de forma rápida y con la mínima intervención por
parte del usuario, dado que cuenta con una variedad de algoritmos en su interior.
La optimización transforma los problemas empresariales en modelos matemáticos que, una vez
solucionados con los algoritmos de ILOG CPLEX, permiten tomar decisiones más inteligentes para
utilizar los recursos de forma eficaz. Ofrece optimizadores flexibles y de alto rendimiento.
En una primera instancia, se plantea el modelo en la versión 12.6 con la versión de prueba, licencia
académica permitida durante 3 meses por IBM.
OPTIMIZACIÓN DE RUTAS EN VEIASA 50
Figura 27. Código fuente CPLEX para TSP
Junto con el fichero de datos:
OPTIMIZACIÓN DE RUTAS EN VEIASA 51
Figura 28. Fichero de datos CPLEX para TSP
Conocer las distancias entre clientes es muy relevante, ya que es un dato fundamental de entrada del
modelo matemático.
Inicialmente se planteó sacar la matriz de distancias de todos los clientes con todos los clientes,
incluida también la localización del laboratorio central de VEIASA. Pero el alto volumen de clientes
provocaba que la ejecución del modelo matemático inicial fuese demasiado lenta. Al final no se
consideró esta posibilidad porque lo que se pretendía simplemente era validar el modelo básico.
Siendo el caso de VEIASA un problema muy dinámico y diferente semanalmente se desestimó seguir
por esta vía.
4.3. Resolución aproximada mediante Clúster y Enrutado
4.3.1. Introducción al método.
La dificultad del problema de VEIASA lleva a buscar una resolución aproximada que es la que se
plantea en este proyecto.
Se propusieron dos alternativas basadas en VBA incrustado en Excel, puesto que es una herramienta
conocida y que además no requiere instalación de software adicional. Las macros en VBA permiten
una automatización de la planificación y a la vez no resulta una solución tan tan rígida como con los
softwares anteriores.
Basada en la técnica First Cluster-Route Second (“Divide y vencerás ó Cluster”), se trata de ir
aislando solicitudes para satisfacerlas.
1) Partimos de la base de datos inicial, y se van agrupando solicitudes en Excel en función de
los criterios del jefe de laboratorio (tipología de servicio, comarca a la que pertenece,
OPTIMIZACIÓN DE RUTAS EN VEIASA 52
prioridad….). Con ello se seleccionan las solicitudes de clientes para intentar formar una ruta
para un vehículo y un verificador.
2) A continuación, se trasladan a un mapa las solicitudes de los clientes mediante dos
aplicaciones gratuitas:
Google Maps Engine Lite: permite a los usuarios crear fácilmente sus propios mapas
sobre los mapas base de Google Maps. Es una aplicación gratuita, pero tiene un límite
de 100 registros al importar hojas de cálculo de Google, CSV o XLSX.
Route XL: es un planificador de rutas que calcula las rutas de mínima distancias entre
puntos. Es una aplicación gratuita hasta 20 direcciones.
3) Se asigna la ruta calculada si se cumplen restricciones de tiempos a un verificador y vehículo
y se prosigue de igual manera para el resto de solicitudes pendientes.
Como alternativa al punto 2), se ha integrado el Mapa dentro de la hoja Excel a través de la aplicación
Microsoft MapPoint. Esta aplicación no es gratuita pero a diferencia de las otras dos, permite una
integración completa dentro de la hoja Excel.
Para desarrollar la metodología anterior (inicial o alternativa), se han desarrollado macros VBA en
Excel que facilitan la labor al jefe de laboratorio. A continuación se explican los procedimientos
desarrollados.
4.3.2. Selección del clúster de clientes.
Se dispone de una hoja Excel habitual donde se han añadido unos botones en la parte superior:
Figura 29. Menú incrustado en Excel para macros desarrolladas
Importar Datos: Se actualizan las solicitudes a través de un fichero de datos de entrada
“Metro3.TXT”, con el contenido de los servicios a realizar semanalmente y exportados desde
el ERP de la empresa. A continuación, se importan a ésta plantilla mediante éste botón, de tal
forma, que ya se tienen aquellas solicitudes que van a ser planificadas semanalmente. Hay
que comentar que a las solicitudes importadas se les ha añadido un campo con un valor
numérico que refleja la prioridad de la solicitud (por defecto todas valen “1”).
Ordenar Datos: Se ordenan ascendentemente según fecha de solicitud y se calculan los
tiempos empleados en cada una de ellas según tipología. Respecto a los tiempos de servicios
estimados, se han completado en el mismo fichero Excel una hoja de cálculo con los tiempos
estimados para cada tipo de servicio posible.
OPTIMIZACIÓN DE RUTAS EN VEIASA 53
Se incorpora la opción de la distribución de las solicitudes según comarca y municipio, para una
mayor comodidad en la planificación. Para ello, también se ha añadido una hoja con los códigos de
las comarcas de Andalucía.
También se cuenta con la posibilidad de poder filtrar solicitudes por el criterio que se desee (prioridad,
verificador, municipio, tipo de servicio), para así organizar la planificación de forma más eficiente.
Crear Total: Se separa la hoja principal de las demás para poder prepararla para los
planificadores existentes.
Planificadores: Una vez hecho todo esto, el jefe de laboratorio selecciona los servicios
según criterio personal, y se prepara la hoja Excel para la aplicación gratuita Google Maps
Engine Lite (hasta un máximo de 100 direcciones).
Se adjuntan capturas de pantalla del proceso.
Figura 30. Solicitudes admitidas y ordenadas en Excel
4.3.3. Resolución basada en Google Maps Engine Lite & RouteXL.
Una vez seleccionados los clientes a visitar por un verificador a través de sus solicitudes, la idea es
pintarlos en un mapa visualizando así las ubicaciones de dichos puntos, las características de los
mismos y el tiempo en carretera necesario para ir de un punto a otro. De esta forma se consigue una
visualización global de todas las prestaciones de servicio para facilitar el diseño de la ruta.
Para ello se utilizan las aplicaciones gratuitas Google Maps Engine Lite (GMEL) y RouteXL.
Para ello se utiliza la aplicación gratuita Google Maps Engine Lite (GMEL) y RouteXL.
o Google Maps Engine Lite:
Es una aplicación de Google que ayuda a crear mapas personalizados, que pueden compartirse y
publicar online.
Una vez creado el mapa, GMEL contiene varias opciones:
OPTIMIZACIÓN DE RUTAS EN VEIASA 54
Dibujos: se pueden añadir líneas, formas o marcadores al mapa.
Importación de datos: se añade un archivo CSV, un archivo XLSX, un mapa de Mis mapas,
un archivo KML o una hoja de cálculo de Google Drive con datos geográficos como
direcciones, nombres de lugares o latitudes y longitudes.
Capas: muestra u oculta diferentes tipos de contenido.
Estilos: diferentes colores, iconos de marcadores y anchos de línea.
¿Cómo se usa dentro de la aplicación desarrollada en Excel? :
En primera instancia, se hace click en el icono de Total para separar la hoja de datos del
resto del documento. Esto es conveniente porque así se evita sobrecargar la hoja de
subida con elementos que no son necesarios a tal efecto.
A continuación, en el apartado Planificadores, se hace click
en el icono representativo de Google Maps
Automáticamente se elimina todo el contenido adyacente, quedando únicamente toda la información
de las prestaciones de servicio escogidas. Al mismo tiempo, se abre una ventana de internet (en el
motor de búsqueda configurado en el ordenador) con la aplicación lista para copiar y pegar la
información y representar gráficamente las solicitudes.
Aparece entonces la siguiente ventana (Figura 31):
Figura 31. Selección de archivo para importar en GMEL
Se hace click en Seleccionar archivo del equipo y se adjunta la hoja Total separada como se ha
explicado anteriormente.
OPTIMIZACIÓN DE RUTAS EN VEIASA 55
En la siguiente figura (Figura 32) se muestra un mapa en blanco, presentación estándar de la
aplicación donde aparecerían todos los puntos (clientes) seleccionados.
Figura 32. Visualización de clientes en Google Maps Engine Lite
o RouteXL:
RouteXL es un planificador de rutas holandés que se presenta a través de su dirección
www.routexl.es/
Diseña fácilmente el camino más rápido de entre diferentes destinos. Es gratuito para 20 direcciones
y conlleva un pequeño coste adicional para 150 direcciones.
Está pensado como último paso, para calcular el orden de las solicitudes una vez escogidas todas
aquellas que se van a incluir en una ruta.
Figura 33. Página principal de RouteXL
OPTIMIZACIÓN DE RUTAS EN VEIASA 56
Figura 34. Visualización de ruta en RouteXL
Esta página permite guardar la ruta junto a las indicaciones de cómo llegar y de tiempo estimado de
viaje (no incluye los tiempos de servicios).
4.3.4. Resolución e integración de la solución usando Microsoft MapPoint.
Microsoft MapPoint 2013 es un software específico GIS (Geographic Information System) creado por
Microsoft que tiene como funcionalidades la capacidad de mostrar, editar e integrar mapas desde
cualquier aplicación de Microsoft Office. También es posible analizar cualquier información o datos
incluidos en los mapas.
Como alternativa al procedimiento anterior de uso de GMEL y RouteXL, se ha procedido a usar
MapPoint con la salvedad de que en este caso el mapa y el cálculo de la ruta óptima están integrados
en la misma hoja Excel dónde se trabaja. Es decir, se ha incrustado MapPoint a la herramienta Excel,
de tal forma, que se visualiza de forma automática la ruta a medida que se va creando. Es quizá, más
cómodo de usar, puesto que es más intuitivo y tiene la ventaja de poder modificar la ruta
instantáneamente, consiguiendo un ahorro de tiempo en el proceso de optimización de rutas.
OPTIMIZACIÓN DE RUTAS EN VEIASA 57
Por contrapartida tiene un precio de 231 € por licencia y es necesario un ordenador potente para
soportar la herramienta con relativa fluidez.
El modo de proceder es similar al caso anterior, aunque se ha pensado como trabajo en paralelo
mayoritariamente. Es decir, se ha proporcionado un botón (macro) llamado Autofiltro que consiste en
copiar todos los datos seleccionados de la hoja inicial de Excel a ésta nueva hoja, para así poder
tener dos rutas posibles para elegir, la creada según el caso anterior con la ayuda de GMEL y
RouteXL y la creada por Microsoft MapPoint. De ésta forma, se pueden comparar resultados.
La cabecera de la hoja se diseña para este nuevo propósito:
Se puede observar que en la parte izquierda van saliendo las direcciones contempladas, mientras
que en la parte derecha va desarrollándose el mapa integrado en la misma hoja Excel (Figura 35):
Figura 35. Visualización de ruta creada en MapPoint
El diseño de la ruta se puede parametrizar según diversos criterios (Figura 36):
OPTIMIZACIÓN DE RUTAS EN VEIASA 58
Figura 36. Parametrización de ruta en MapPoint
También se ha incluido un botón de comprobación de direcciones, es decir, si alguna dirección no se
encontrara correctamente, se detectaría y se cambiaría.
Figura 37. Comprobación direcciones correctas en MapPoint
OPTIMIZACIÓN DE RUTAS EN VEIASA 59
5. APLICACIÓN PRÁCTICA PARA VEIASA EN SEVILLA
5.1. Introducción
La provincia de Sevilla cuenta actualmente con 8 verificadores. Estos trabajadores, desempeñan
tanto el trabajo requerido por prestaciones de servicio que se realizan en los propios laboratorios
como “in situ” (en el lugar del cliente).
Actualmente se ha determinado mantener 3 verificadores permanentemente en el Laboratorio Central
(C/ Albert Einstein, 2. Isla de la Cartuja) para trabajos exclusivamente en el laboratorio (agua, tiempo,
sonido….) y los 5 restantes están en el Laboratorio Provincial (Polígono Industrial El Pino. C/ Pino
Central, parcela 16-18), que son los encargados de realizar las prestaciones de servicios “in situ”.
Se ha determinado la necesidad de una jornada laboral semanal de cada verificador para tareas
administrativas. Por tanto, se tienen 5 trabajadores y 4 días laborales semanales por cada uno de
ellos, es decir, un total de 20 jornadas laborales semanales. Se deben planificar pues 20 jornadas.
En las jornadas que no se alcance el número total de horas establecidas, se completarán las horas
con prestaciones de servicio internas, es decir, aquellas que se realizan dentro del laboratorio.
Tomamos como ejemplo la planificación en el laboratorio provincial de Sevilla de 32 solicitudes
pendientes (clientes) con 5 tipos de servicios y un total de 244 verificaciones a realizar.
5.2. Preparación de los servicios
Partimos de las solicitudes pendientes volcadas a través de Metro3 (Software de Gestión, ERP), en
formato .txt.
Figura 38. Fichero de entrada de datos de servicios procedentes de ERP de VEIASA
OPTIMIZACIÓN DE RUTAS EN VEIASA 60
Se importan éstos datos al documento Excel y se ordenan de forma creciente según fecha:
Figura 39. Importación de datos de servicios a clientes en Excel para VEIASA
Figura 40. Datos con tiempos de servicios a clientes en Excel para VEIASA
Se han añadido mediante macros los códigos postales la comarca y el municipio al que
pertenece cada solicitud.
Se ha determinado el tiempo de servicio requerido para llevar a cabo según la prestación de
servicio, y en base a unos tiempos estándares calculados previamente.
Se pueden asignar prioridades a las prestaciones de servicio. Por defecto, se asigna prioridad
1 (la más baja).
Se puede asignar un verificador a un servicio o bien asignarlo después según preferencias.
OPTIMIZACIÓN DE RUTAS EN VEIASA 61
Con toda esta información, se escogen mediante filtros las solicitudes que interesen según
preferencias del jefe de laboratorio (según comarcas, prioridades, tipo de servicio), y se analizan
mediante las herramientas descritas anteriormente para así clarificar su posición, y ruta optimizada y
poder así llevarlas a cabo.
5.3. Diseño de las rutas de servicios
Empezamos por filtrar solicitudes según tipología de servicio (se recomienda desde la experiencia
hacerlo así para no tener problemas de incompatibilidades de patrones):
En primera instancia se planifica para “Hidrocarburos”:
Figura 41. Filtro de servicios de Hidrocarburos en Excel para VEIASA
Se introducen las direcciones en GMEL con la idea de ver la proximidad/lejanía de los distintos
puntos:
Figura 42. Localización de clientes con servicios de Hidrocarburos para VEIASA
Se comprueba que hay tres servicios que requieren de más de una jornada laboral, ambas dentro de
la comarca metropolitana de Sevilla, por tanto, con la ayuda del mapa, se pueden obtener en primera
instancia la siguiente planificación:
OPTIMIZACIÓN DE RUTAS EN VEIASA 62
Figura 43. Planificación de jornadas con servicios de Hidrocarburos para VEIASA
OPTIMIZACIÓN DE RUTAS EN VEIASA 63
Se efectúa de forma análoga con “Masas” (Balanzas y pesas de establecimientos):
Figura 44. Localización de clientes con servicios de Masas para VEIASA
En este caso, se observa que el tiempo de servicio es bastante pequeño, por tanto, se pueden
agregar todos los trabajos excepto el de “El Corte Inglés”. Para establecer la ruta, se hace uso de la
herramienta RouteXL, que proporcionará la ruta más conveniente:
Figura 45. Mapa con diseño de ruta para servicios de Masas para VEIASA
Donde se ha establecido la siguiente planificación:
OPTIMIZACIÓN DE RUTAS EN VEIASA 64
Figura 46. Planificación de jornadas con servicios de Masas para VEIASA
Obtenemos en PDF la ruta a seguir, es decir, se imprime y se entrega a los verificadores para mayor
comodidad:
OPTIMIZACIÓN DE RUTAS EN VEIASA 66
Se procede de forma análoga con “Gases”:
Figura 48. Localización de clientes con servicios de Gases para VEIASA
Figura 49. Planificación de jornadas con servicios de Gases para VEIASA
OPTIMIZACIÓN DE RUTAS EN VEIASA 68
Se procede de forma análoga con “Volumen”:
Figura 51. Localización de clientes con servicios de Volumen para VEIASA
Figura 52. Planificación de jornadas con servicios de Volumen para VEIASA
Análogamente con “Presión”:
Figura 53. Localización de clientes con servicios de Presión para VEIASA
OPTIMIZACIÓN DE RUTAS EN VEIASA 69
Figura 54. Planificación de jornadas con servicios de Presión para VEIASA
OPTIMIZACIÓN DE RUTAS EN VEIASA 70
Figura 55. Rutas con servicios de Presión para VEIASA
En resumen, estas plantillas están pensadas como una herramienta de ayuda en la organización de
las solicitudes, sobretodo visualmente y en el cálculo más óptimo para satisfacerlas.
OPTIMIZACIÓN DE RUTAS EN VEIASA 71
6. ANÁLISIS DE RESULTADOS
Inicialmente se plantea el modelo matemático y se busca un optimizador, siendo CPLEX el elegido.
Se empieza a construir el modelo y a analizar las primeras soluciones. Al ver que el problema es
demasiado complejo (el número de nodos semanales supera 100), se desestima esta solución puesto
que no es computacionalmente viable.
Se piensa entonces en buscar un software existente en el mercado que se adapte en gran medida al
problema de VEIASA. Después de analizar varios, se escogen dos. Ambas herramientas software
sólo permiten una restricción fuerte, teniendo este problema dos más adicionales (incompatibilidad de
patrones y cualificación del personal). Además se estima que son poco flexibles y conllevan una
pérdida de tiempo importante en la introducción de los numerosos datos para su posterior
planificación.
Por tanto, se piensa en una solución a medida parcial, flexible y de fácil manejo, como es la
herramienta Excel con macros en VBA, que de forma muy automática permite una visualización de
los nodos, el tiempo total necesario de servicio y la comarca a la que pertenece, de tal forma que
complementada por dos herramientas como son Google Maps Engine Lite y Route XL, permiten
estimar el tiempo en carretera y una vez elegidos los puntos que constituirán una ruta, optimizar el
orden de paso por dichos puntos minimizando la distancia total recorrida.
El sistema de información actual de la empresa, es un sistema estático. El sistema se dedica a
almacenar información sin analizarla ni procesarla para sacar conclusiones. Para la realización del
proyecto se ha tenido que analizar el sistema de información de la empresa para ver cómo
funcionaba y en qué consistía.
Del estudio y utilización del sistema de información de la empresa se han detectado ciertas carencias
del sistema y se ven ciertas posibilidades de mejora, como por ejemplo integrar en su ERP las
ventanas horarias de los clientes, que actualmente el personal a cargo conoce con la práctica.
La herramienta de optimización en sí misma es una mejora del sistema de información. Se
proporciona un fichero Excel con macros, más dinámico que analiza la información que se le aporta y
devuelve información valiosa y útil para las tareas semanales de la empresa y de ayuda para la toma
de decisiones.
Pero también la solución aporta más información útil para los jefes de laboratorio. Gracias a la
herramienta también se informa del número de kilómetros que son necesarios hacer para llevar a
cabo esas rutas. Esta información sirve para controlar la forma en que hacen el reparto los
empleados, y para tomar decisiones respecto a ello. A partir de la implantación de esta herramienta,
se les puede exigir a los empleados explicaciones si el número de kilómetros realizados es muy
superior al estipulado.
OPTIMIZACIÓN DE RUTAS EN VEIASA 72
7. CONCLUSIONES
El problema de VEIASA en su diseño de rutas es complejo puesto que conlleva muchas más
restricciones que un problema tradicional de VRP.
Los jefes de laboratorio dedican unas 4 horas semanales a la planificación de las rutas, de una forma
poco óptima y sin criterios comunes a la empresa. Por tanto, es un área de mejora en la empresa.
Se proporciona una herramienta que ayuda en esta planificación, que junto con la experiencia de la
persona a cargo, diseña unas rutas en un menor tiempo, y más optimas que las anteriormente
pensadas, ya que se evita que el reparto entre las furgonetas y la secuencia de clientes se hagan sin
criterio, sin información de tiempos y basado en la experiencia del jefe de laboratorio.
Se han analizado también varios GPS que posee la empresa, con lo cual, una vez determinada la
ruta de un verificador cualquiera, ésta puede volcarse en los GPS, para mayor optimización y control
de kilómetros y de ruta.
En resumen, se minimiza el tiempo empleado en el diseño físico de rutas a la vez que se generaliza
el proceso para todos los jefes de laboratorios.
Además, es una herramienta que no requiere implantación ni mantenimiento adicional de ningún
software (queda ya en el criterio de los jefes de laboratorio la adquisición personal de la opción de
Microsoft MapPoint), proporcionado por unas herramientas muy eficaces a coste 0 para la empresa.
También se cuenta con un contrato con una empresa externa de control de flota de vehículos.
Actualmente esto no se usa. Se propone desarrollar con dicha empresa una aplicación de móvil o
tableta para mayor control y seguridad de la flota.
Sin embargo, se sugiere realizar en un futuro próximo por la empresa, aunque esto ya no es objeto de
éste proyecto, el encargo del diseño de un software a medida implementado en algún lenguaje de
programación orientado a objetos (C++, Java), que junto con la integración de las bases de datos
pertinentes, pudiera dar un resultado más directo y prácticamente sin necesidad de intervención
humana.
OPTIMIZACIÓN DE RUTAS EN VEIASA 73
8. BIBLIOGRAFÍA
• Beasley J.E. (1983). Route-first cluster-second methods for vehicle routing. Omega, 11: 403-
408.
• Clarke G. and Wright J. (1964) Scheduling of vehicles from a central depot to a number of
delivery points. Operations Research, 12(4), 568-581.
• Dorigo M., Maniezzo V. and Colorni A. (1996). Ant system: optimization by a colony of
cooperating agents. IEEE Transactions on Systems, Man, and Cybernetics--Part B, 26 (1), 29-
41.
• Feo T.H. and Resende M.G.C. (1995). Greedy Randomized Adaptive Search Procedures.
Journal of Global Optimization, 6, 109–134.
• Glover, F. (1989). Tabu Search – Part I. ORSA Journal on computing, 1(3) 190-206.
• Holland, J. H. (1975). Adaptation in Natural and Artificial Systems. Cambridge, MA: MIT
Press.
• Involve web page (http://www.involvegbi.es)
• Kirkpatrick S., Gelatt C.D. and Vecchi M.P. (1983). Optimization by Simulated
Annealing. Science, 220 (4598), 671–680.
• Logisplan web page (http://www.logisplan.com/es.html)
• Networking and Emerging Optimization Group web page. (http://neo.lcc.uma.es/vrp)
• Toth P. and Vigo D. (2002). The vehicle routing problem. SIAM Monographs on Discrete
Mathematics and Applications, SIAM, 195-224.
• Verificaciones Industriales de Andalucía S.A., página web (http://www.veiasa.es/).
OPTIMIZACIÓN DE RUTAS EN VEIASA 74
9. ANEXOS
9.1. Datos de VEIASA
9.1.1. Grupo de Verificaciones
9.1.2. Tipos de Verificación
9.1.3. Patrones
9.1.4. Descripción de patrones
EQUIPO NUM_CONTROL PATRON CLASE N_SERIE ESTADO MARCA MODELO
AMORTIGUADOR TÉRMICO M80098T **
En Servicio VEIASA **
OPTIMIZACIÓN DE RUTAS EN VEIASA 75
AMORTIGUADOR TÉRMICO M80099T **
En Servicio VEIASA **
AMORTIGUADOR TÉRMICO M80100T **
En Servicio VEIASA **
AMORTIGUADOR TÉRMICO M80101T **
En Servicio VEIASA **
BOTE DE SALES CON HUMEDAD DE 33% E80072K-1/2 ***
Sin Programar PCE ***
BOTE DE SALES CON HUMEDAD DE 75% E80072K-2/2 ***
Sin Programar PCE ***
BOTELLA DE GASE PATRON LINEA 1 E80077AG-1/6 -- ***
En Servicio *** ***
BOTELLA DE GASE PATRON LINEA 2 E80077AG-2/6 *** ***
En Servicio *** ***
BOTELLA DE GASE PATRON LINEA 3 E80077AG-3/6 *** ***
En Servicio *** ***
BOTELLA DE GASE PATRON LINEA 4 E80077AG-4/6 *** ***
En Servicio *** ***
BOTELLA DE GASE PATRON LINEA 5 E80077AG-5/6 *** ***
En Servicio *** ***
BOTELLA DE GASE PATRON LINEA 6 E80077AG-6/6 *** ***
Fuera de Servicio Temporal *** ***
BOTELLA DE NITRÓGENO LÍQUIDO Y MANORREGULADOR E80089P ***
Sin Programar PRAXAIR ***
BOTELLA DE NITRÓGENO LÍQUIDO Y MANORREGULADOR E80068P ***
Sin Programar PRAXAIR ***
BOTELLA DE NITRÓGENO LÍQUIDO Y MANORREGULADOR E80067P ***
Sin Programar PRAXAIR ***
BOTELLA DE NITRÓGENO LÍQUIDO Y MANORREGULADOR E80066P ***
Sin Programar PRAXAIR ***
BOTELLA DE NITRÓGENO LÍQUIDO Y MANORREGULADOR E80065P ***
Sin Programar PRAXAIR ***
BOTELLA DE NITRÓGENO LÍQUIDO Y MANORREGULADOR E80069P ***
Sin Programar PRAXAIR ***
CINTA DE CONTORNO E80103X 950E8481
En Servicio SCWENK CJU 950
CRONÓMETRO E80064W CRONOMETRO *** *** En Servicio
OREGON SCIENTIF SL888L
CRONÓMETRO E80060W CRONOMETRO *** 30810101/2 En Servicio NAHITA NO CONSTA
CRONÓMETRO E80055W CRONOMETRO *** ****
Fuera de Servicio Definitivo
OREGON SCIENTIF SL888L
CRONÓMETRO E80061W CRONOMETRO *** 17020901 En Servicio NAHITA NO CONSTA
CRONÓMETRO E80063W CRONOMETRO *** 30810101/3 En Servicio NAHITA NO CONSTA
CRONÓMETRO E80062W CRONOMETRO *** 4141
Fuera de Servicio Temporal SPALDING SPORTS TIME
JUEGO DE FILTROS OPTICOS E80073O-3/8
9279-024,-A,-B
En Servicio SENSORS -
JUEGO DE FILTROS OPTICOS E80073O-7/8 -
F675,F688,F721
En Servicio MAHA -
JUEGO DE FILTROS OPTICOS E80073O-8/8 -
80V1,80V2,80V3
En Servicio VEIASA SCHOTT/NG
JUEGO DE FILTROS OPTICOS E80073O-6/8 -
VER ESPECIFICA
Fuera de Servicio Temporal AVL -
JUEGO DE FILTROS OPTICOS E80073O-5/8 -
VER ESPECIFICA
Fuera de Servicio Temporal TECNOTEST -
JUEGO DE FILTROS OPTICOS E80073O-4/8 -
VER ESPECIFICA
Fuera de Servicio Temporal BOSCH -
JUEGO DE PESAS DE CAMIONES E01005M
JUEGO DE PESAS DE CAMIONES
1/10000 E01005M
Fuera de Servicio Temporal
JUEGO DE PESAS DE CAMIONES E01006M
JUEGO DE PESAS DE CAMIONES
1/10000 E01006M
En Servicio
OPTIMIZACIÓN DE RUTAS EN VEIASA 76
JUEGO DE PESAS DE CAMIONES E01007M
JUEGO DE PESAS DE CAMIONES
1/10000 E01007M
En Servicio
JUEGO DE PESAS DE CAMIONES E01008M
JUEGO DE PESAS DE CAMIONES
1/10000 E01008M
Fuera de Servicio Temporal
JUEGO DE PESAS DE CAMIONES E01002M
JUEGO DE PESAS DE CAMIONES
1/10000 E01002M
En Servicio
JUEGO DE PESAS DE CAMIONES E01001M
JUEGO DE PESAS DE CAMIONES
1/10000 E01001M
En Servicio
JUEGO DE PESAS DE CAMIONES E01004M
JUEGO DE PESAS DE CAMIONES
1/10000 E01004M
Fuera de Servicio Temporal
JUEGO DE PESAS DE CAMIONES E01003M
JUEGO DE PESAS DE CAMIOMES
1/10000 E01003M
Fuera de Servicio Temporal
JUEGO DE PESAS DE 1 g A 10 kg E80018M
Juego de pesas desde 1g a 10Kg F1 15889/15872/
Fuera de Servicio Temporal
METTLER TOLEDO
VER ESPECIFICACIONES
JUEGO DE PESAS DE 1 mg A 10 kg E80086M M1
1111(7866/8067
En Servicio
METTLER TOLEDO **
JUEGO DE PESAS DE 1 mg A 10 kg E80084M M1 11117866
En Servicio
METTLER TOLEDO N/C
JUEGO DE PESAS DE 1 mg A 10 kg E80076M F1 ***
Fuera de Servicio Temporal
METTLER TOLEDO ***
JUEGO DE PESAS DE 1 mg A 500 mg E80087M F1 11119979
En Servicio
METTLER TOLEDO **
JUEGO DE PESAS DE 1 mg A 500 mg E80085M F1 11119979
En Servicio
METTLER TOLEDO **
JUEGO DE PESAS DE 1 mg A 500 mg E80035M
Juego de pesas desde 1mg a 500mg F1 E3620
En Servicio
METTLER TOLEDO ***
JUEGO DE PESAS DE 1 mg A 500 mg E80028M
Juego de pesas desde 1mg a 500mg F1 023619/00
Fuera de Servicio Temporal HÄFNER 7311MILJ
JUEGO DE PESAS DE 1 mg A 500 mg E80030M
Juego de pesas desde 1mg a 500mg M1 E3290
Fuera de Servicio Temporal
METTLER TOLEDO ***
JUEGO DE PESAS DE 100 kg A 200 kg E80005M-3/3
1/10000
En Servicio LAMIPE ***
JUEGO DE PESAS DE 100 mg A 10 kg E80038M
Juego de pesas desde 1g a 10Kg M1 ***
En Servicio
METTLER TOLEDO ***
JUEGO DE PESAS DE 100 mg A 10 kg E80039M
Juego de pesas desde 1g a 10kg M1 ***
En Servicio
METTLER TOLEDO ***
JUEGO DE PESAS DE 100 mg A 10 kg E80031M
Juego de pesas desde 1g a 10Kg M1 E3288
En Servicio
METTLER TOLEDO ***
JUEGO DE PESAS DE 100 mg A 10 kg E80037M
Juego de pesas desde 1g a 10 Kg M1 ***
En Servicio
METTLER TOLEDO ***
JUEGO DE PESAS DE 20 kg E80005M-1/3
26pesas de 20kg,3 palet de 50kg y 13 de 10Kg:1 pesa 200kg y 2 de 100kg M1 ***
En Servicio M.BERNAL ***
JUEGO DE PESAS PALETS E80005M-2/3 M1 ***
En Servicio LAMIPE ***
JUEGO MATRACES METÁLICOS DE 2, 5, 10 y 20 LITROS E80023H 362/99
Fuera de Servicio Definitivo
EDELSTAHLBAU TA ***
LECTOR ÓPTICO M80054A C00M03992
Fuera de Servicio Definitivo DATALOGIO GRYHPON D200
MANÓMETRO NEUMÁTICO DE REFERENCIA PARA VERIFICACIÓN EN SERVICIO E80071P 16861 001
Sin Programar CABECO WIKA
MASA VALOR NOMINAL 150 GR E80104X 23
En Servicio NO CONSTA NO CONSTA
MATRAZ DE 10 LITROS CAPACIDAD NOMINAL DE CRISTAL E80014H-3/4
Matraz 10 litros - 75-9
Fuera de Servicio Temporal AFORA 5990/2H
OPTIMIZACIÓN DE RUTAS EN VEIASA 77
MATRAZ DE 10 LITROS CAPACIDAD NOMINAL DE CRISTAL E80041H-3/4
Matraz 10 litros --- 158-8
En Servicio AFORA 5990/2E
MATRAZ DE 10 LITROS CAPACIDAD NOMINAL DE CRISTAL E80082H-3/4 --- 79-9
Fuera de Servicio Temporal AFORA 10 LITROS
MATRAZ DE 10 LITROS CAPACIDAD NOMINAL DE CRISTAL E80083H-3/4 - 284-12
En Servicio AFORA 10 L
MATRAZ DE 10 LITROS CAPACIDAD NOMINAL DE CRISTAL E80020H-3/4
Matraz 10 litros - 343-3
En Servicio AFORA 10 L
MATRAZ DE 10 LITROS CAPACIDAD NOMINAL DE CRISTAL E80040H-3/4
Matraz 10 litros - 412-8
En Servicio AFORA 5990/2H
MATRAZ DE 10 LITROS CAPACIDAD NOMINAL DE CRISTAL E80013H-3/4
Matraz 10 litros - 411-8
En Servicio AFORA 5990
MATRAZ DE 2 LITROS CAPACIDAD NOMINAL DE CRISTAL E80020H-1/4
Matraz 2 litros - 265-4
Fuera de Servicio Temporal AFORA V-55938/2E
MATRAZ DE 2 LITROS CAPACIDAD NOMINAL DE CRISTAL E80041H-1/4
Matraz 2 litros --- 991175
Fuera de Servicio Definitivo AFORA V-55938/2E
MATRAZ DE 2 LITROS CAPACIDAD NOMINAL DE CRISTAL E80040H-1/4
Matraz 2 litros - 99993
En Servicio AFORA V-55938/2E
MATRAZ DE 2 LITROS CAPACIDAD NOMINAL DE CRISTAL E80082H-1/4 --- 129-9
En Servicio AFORA 2 LITROS
MATRAZ DE 2 LITROS CAPACIDAD NOMINAL DE CRISTAL E80014H-1/4
Matraz 2 litros - 99988
En Servicio AFORA V-55938/2H
MATRAZ DE 2 LITROS CAPACIDAD NOMINAL DE CRISTAL E80083H-1/4 - 324-8
Fuera de Servicio Temporal AFORA 2 LITROS
MATRAZ DE 2 LITROS CAPACIDAD NOMINAL DE CRISTAL E80013H-1/4
Matraz 2 litros - 99111
Fuera de Servicio Temporal AFORA V-55938
MATRAZ DE 20 LITROS CAPACIDAD NOMINAL DE CRISTAL E80083H-4/4 - 161-9
Fuera de Servicio Temporal AFORA 20 LITROS
MATRAZ DE 20 LITROS CAPACIDAD NOMINAL DE CRISTAL E80082H-4/4 --- 159-9
Fuera de Servicio Temporal AFORA 20 LITROS
MATRAZ DE 20 LITROS CAPACIDAD NOMINAL DE CRISTAL E80013H-4/4
Matraz 20 litros - 407-5
En Servicio AFORA V-55933
MATRAZ DE 20 LITROS CAPACIDAD NOMINAL DE CRISTAL E80041H-4/4
Matraz 20 litros --- 398-8
En Servicio AFORA V-55933/2E
MATRAZ DE 20 LITROS CAPACIDAD NOMINAL DE CRISTAL E80020H-4/4
Matraz 20 litros - 271-2
En Servicio AFORA 5990
OPTIMIZACIÓN DE RUTAS EN VEIASA 78
MATRAZ DE 20 LITROS CAPACIDAD NOMINAL DE CRISTAL E80014H-4/4
Matraz 20 litros - 85-2
En Servicio AFORA V-55933/2H
MATRAZ DE 20 LITROS CAPACIDAD NOMINAL DE CRISTAL E80040H-4/4
Matraz 20 litros - 397-8
En Servicio AFORA V-55933/H
MATRAZ DE 5 LITROS CAPACIDAD NOMINAL DE CRISTAL E80083H-2/4 278-12
En Servicio AFORA 5 LITROS
MATRAZ DE 5 LITROS CAPACIDAD NOMINAL DE CRISTAL E80014H-2/4
Matraz 5 litros - 297-12
En Servicio AFORA V-55939/2H
MATRAZ DE 5 LITROS CAPACIDAD NOMINAL DE CRISTAL E80020H-2/4
Matraz 5 litros - 280-12
En Servicio AFORA 5 L
MATRAZ DE 5 LITROS CAPACIDAD NOMINAL DE CRISTAL E80013H-2/4
Matraz 5 litros - 399-8
En Servicio AFORA V-55939/2E
MATRAZ DE 5 LITROS CAPACIDAD NOMINAL DE CRISTAL E80041H-2/4
Matraz 5 litros --- 83-12
En Servicio AFORA 5 L
MATRAZ DE 5 LITROS CAPACIDAD NOMINAL DE CRISTAL E80040H-2/4
Matraz 5 litros - 124-12
En Servicio AFORA 5 L
MATRAZ DE 5 LITROS CAPACIDAD NOMINAL DE CRISTAL E80082H-2/4 --- 991180
En Servicio AFORA 5 LITROS
MEDIDOR CONDICIONES AMBIENTALES E80021W
MEDIDOR DE CONDICIONES AMBIENTALES - 050400988
Caduca este Mes CENTER PCE 313-A
MEDIDOR CONDICIONES AMBIENTALES E80012W ***
Fuera de Servicio Definitivo METEOSCOP 3 4765 BA-888
MEDIDOR CONDICIONES AMBIENTALES E80056W
MEDIDOR DE CONDICIONES AMBIENTALES - 041204521
Caduca este Mes CENTER 313
MEDIDOR CONDICIONES AMBIENTALES E80058W
MEDIDOR DE CONDICIONES AMBIENTALES - 041204093
Fuera de Servicio Temporal CENTER 313
MEDIDOR CONDICIONES AMBIENTALES E80059W
MEDIDOR DE CONDICIONES AMBIENTALES - 050400947
Fuera de Servicio Temporal CENTER PCE 313-A
MEDIDOR CONDICIONES AMBIENTALES E80024W
MEDIDOR DE CONDICIONES AMBIENTALES - 050400921
Caduca este Mes CENTER PCE 313-A
MEDIDOR CONDICIONES AMBIENTALES E80034W ***
Fuera de Servicio Definitivo METEOSCOP 3 4765 BA-888
MEDIDOR CONDICIONES AMBIENTALES E00039E-1/2 - V3140027
Fuera de Servicio Definitivo VAISALA HMP233
MEDIDOR CONDICIONES AMBIENTALES E00039E-2/2 - V3140027
Fuera de Servicio Definitivo VAISALA HMP233
MEDIDOR CONDICIONES AMBIENTALES E00004A-1/2 - V3140032
Fuera de Servicio Definitivo VAISALA HMP233
MEDIDOR CONDICIONES AMBIENTALES E00004A-2/2 - V3140032
Fuera de Servicio Definitivo VAISALA HMP233
MEDIDOR CONDICIONES AMBIENTALES E80081W 080901627
Fuera de Servicio Temporal PCE 313-A
MEDIDOR CONDICIONES AMBIENTALES E80088W - 080502420
Caduca este Mes CENTER PCE 313-A
OPTIMIZACIÓN DE RUTAS EN VEIASA 79
MEDIDOR CONDICIONES AMBIENTALES E80057W
MEDIDOR DE CONDICIONES AMBIENTALES - 050400959
Caduca este Mes CENTER 313
MEDIDOR VOLUMÉTRICO DE GASOLINAS Y GASOLEOS E80092H-1/2 805141
En Servicio TCS 700-25
MOTOR GENERADOR DE HUMOS PARA OPACÍMETROS M80075O - ***
En Servicio **** ****
OPACÍMETRO PATRÓN E80073O-1/8 - C106054343
En Servicio
ATE-MOTORSENS MAC-2012
PATRON INHALAMBRICO DE TEMPERATURA E80096T A136280
Caduca este Mes NOKEVAL MTR265-PT100
PATRON INHALAMBRICO DE TEMPERATURA E80095T A136279
Caduca este Mes NOKEVAL MTR265-PT100
PATRON INHALAMBRICO DE TEMPERATURA E80094T A1362559
Fuera de Servicio Temporal NOKEVAL MTR265-PT100
PATRON INHALAMBRICO DE TEMPERATURA E80093T A136258
Fuera de Servicio Temporal NOKEVAL MTR265-PT100
PATRÓN PARA MANÓMETROS NEUMÁTICOS E80091P 70551624
Fuera de Servicio Temporal DRUCK DPI 705
PATRÓN PARA MANÓMETROS NEUMÁTICOS E80090P 70551625
Fuera de Servicio Temporal DRUCK DPI 705
PATRÓN PARA MANÓMETROS NEUMÁTICOS E80046P
PATRON DE TRABAJO PORTATIL PARA MANOMETROS NEUMATICOS 0,001 5895
Fuera de Servicio Temporal
SI PRESURE INST PC6-PRO-0020-C
PATRÓN PARA MANÓMETROS NEUMÁTICOS E80022P
PATRON PORTATIL PARA MANOMETROS NEUMATICOS 0,1 2020/99-05
Fuera de Servicio Temporal DRUCK DPI 603
PATRÓN PARA MANÓMETROS NEUMÁTICOS E80048P
PATRON PORTATIL PARA MANOMETROS NEUMATICOS 70557442
Fuera de Servicio Temporal DRUCK DPI 705
PATRÓN PARA MANÓMETROS NEUMÁTICOS E80047P
PATRON DE TRABAJO PORTATIL PARA MANOMETROS NEUMATICOS 0,001 5900
Fuera de Servicio Temporal
SI PRESURE INST PC6-PRO-0020-C
PATRÓN PARA MANÓMETROS NEUMÁTICOS E80006P
PATRON PORTATIL PARA MANOMETROS NEUMATICOS 0,1 1506
Fuera de Servicio Definitivo PREMIER PIC-100
PC PORTÁTIL PARA OPACÍMETRO E80073O-2/8 -
VER ESPECIFICA
Sin Programar - -
SISTEMA DE MEDICIÓN DE TEMPERATURA INALÁMBRICO E80097T-2/3 VER 0.5
En Servicio VEIASA ITTMET-59
SISTEMA DE MEDICIÓN DE TEMPERATURA INALÁMBRICO E80097T-1/3 A1364767
En Servicio NOKEVAL FTR970-PRO
TERMÓMETRO CON SONDA DE TEMPERATURA E80049W
Termómetro con sonda de temperatura - 3050510176
Fuera de Servicio Temporal TESTO 925
TERMÓMETRO CON SONDA DE TEMPERATURA E80051W
Termómetro con sonda de temperatura - 3050510964
Fuera de Servicio Temporal TESTO 925
TERMÓMETRO CON SONDA DE TEMPERATURA E80050W
Termómetro con sonda de temperatura - 3060520620
Fuera de Servicio Temporal TESTO 925
TERMÓMETRO CON SONDA DE TEMPERATURA E80052W
Termómetro con sonda de temperatura - 3060520621
Fuera de Servicio Temporal TESTO 925
TERMÓMETRO CON SONDA DE TEMPERATURA E80033W
Termómetro con sonda de temperatura - 35009/7
Fuera de Servicio Temporal COMARK C9007
TERMÓMETRO CON SONDA DE TEMPERATURA E80079W 33765477/903
Fuera de Servicio Temporal TESTO 925
OPTIMIZACIÓN DE RUTAS EN VEIASA 80
TERMÓMETRO CON SONDA DE TEMPERATURA E80080W 33765473/903
Fuera de Servicio Temporal TESTO 925
TERMÓMETRO CON SONDA DE TEMPERATURA E80092H-2/2 090100950
Fuera de Servicio Temporal
RTD THERMOMETER PT-385
TERMÓMETRO CON SONDA DE TEMPERATURA E80036A-8/8 757-200
Fuera de Servicio Temporal OMRON E5CL-6
9.1.5. Verificación – Patrón
9.2. Códigos Fuente (VBA en Excel)
9.2.1. Hoja basada en GMEL & RouteXL
9.2.1.1. Importar Datos
Sub PreguntaImportaTXT()
Dim fileName
If fileName <> "False" Then
On Error GoTo Salir
With ActiveSheet.QueryTables.Add(Connection:= _"TEXT;" & fileName _, Destination:=Range("$D$8"))
.Name = "fileName"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 850
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
OPTIMIZACIÓN DE RUTAS EN VEIASA 81
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
Cells.Select
Cells.EntireColumn.AutoFit
Rows("8:8").Select
Sheets("TOTAL").Select
Selection.ClearContents
Sheets("TOTAL").Select
On Error GoTo 0
Exit Sub
Salir:
Sheets("total").Select
MsgBox "Se canceló la Importación"
End If
Cells.Select
Cells.EntireColumn.AutoFit
Sheets("total").Select
End Sub
9.2.1.2. Ordenar Datos
Sub Ordenar_datos()
Range("F8").Select
Range("D8:R390").Sort Key1:=Range("F8"), Order1:=xlDescending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Cells.Select
Cells.EntireColumn.AutoFit
Sheets("AUX").Select
Range("I8:I408").Select
Selection.Copy
Sheets("TOTAL").Select
Range("R8").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("TOTAL").Select
Range("O8:O408").Select
Selection.Copy
Sheets("COMARCA").Select
Range("A8").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("COMARCA").Select
OPTIMIZACIÓN DE RUTAS EN VEIASA 82
Range("B8:B408").Select
Selection.Copy
Sheets("TOTAL").Select
Range("T8").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("COMARCA").Select
Range("C8:C408").Select
Selection.Copy
Sheets("TOTAL").Select
Range("U8").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("TOTAL").Select
Range("S8").Select
ActiveCell.FormulaR1C1 = "1"
Columns("U:U").EntireColumn.AutoFit
Columns("T:T").EntireColumn.AutoFit
End Sub
9.2.1.3. Crear Total (Separar la hoja del resto del documento)
Sub Crear_archivos_de_hojas()
Dim strHoja, strStartHoja, strRuta As String
Application.ScreenUpdating = False
strStartHoja = ActiveCell.Worksheet.Name
'copia la hoja a libro nuevo
Sheets("TOTAL").Activate
strHoja = ActiveCell.Worksheet.Name
Sheets(strHoja).Copy
'donde guardar los archivos creados
strRuta = "C:\Users\Maki\Documents\dropbox\PFC\"
'guarda el libro nuevo
ActiveWorkbook.SaveAs fileName:=strRuta & "\" & strHoja, _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
ActiveWindow.Close Savechanges:=True
Sheets(strStartHoja).Activate
Application.ScreenUpdating = True
End Sub
OPTIMIZACIÓN DE RUTAS EN VEIASA 83
9.2.1.4. Reiniciar Plantilla (Borra todo el contenido)
Sub Limpiar_contenido()
'***** Limpia solo el contenido mas no el formato hecho
Range("D8:R408").ClearContents
Range("T8:U408").ClearContents
Sheets("COMARCA").Select
Range("A8:A408").Select
Application.CutCopyMode = False
Selection.ClearContents
Sheets("TOTAL").Select
ActiveWindow.ScrollColumn = 1
End Sub
9.2.1.5. Google Maps Engine Lite
Sub GMEL()
Range("D8").Select
I = 1
Do Until I = 408
If ActiveCell.Value = "" Then
Selection.EntireRow.Delete
Else
ActiveCell.Offset(1, 0).Select
End If
I = I + 1
Loop
Columns("A:C").Select
Selection.Delete Shift:=xlToLeft
Rows("1:6").Select
Selection.Delete Shift:=xlToLeft
'Dim IE As Object
'Dim PaginaWeb As String
'cambiar pagina web
'PaginaWeb = "https://mapsengine.google.com/map/"
'Set IE = CreateObject("InternetExplorer.Application")
'IE.navigate PaginaWeb
'Do While Not IE.busy
'DoEvents
'Loop
'IE.Visible = True
'si se quiere cerrar la ventana
'ie.quit
'Set IE = Nothing
'Se abre en Chrome
OPTIMIZACIÓN DE RUTAS EN VEIASA 84
ActiveWorkbook.FollowHyperlink "https://mapsengine.google.com/map/"
N = ActiveSheet.Shapes.Count
For I = N To 1 Step -1
'controla el tipo de objeto y elimina si se trata de Picture
On Error Resume Next
ActiveSheet.Shapes(I).Select
If Left(ActiveSheet.Shapes(I).Name, 7) = "Picture" Or
Left(ActiveSheet.Shapes(I).Name, 5) = "Image" Then
ActiveSheet.Shapes(I).Delete
End If
Next
End Sub
9.2.1.6. RouteXL
Sub Routexl() Range("D8").Select I = 1 Do Until I = 408 If ActiveCell.Value = "" Then Selection.EntireRow.Delete Else ActiveCell.Offset(1, 0).Select End If I = I + 1 Loop Columns("A:C").Select Selection.Delete Shift:=xlToLeft Rows("1:6").Select Selection.Delete Shift:=xlToLeft 'Dim IE As Object 'Dim PaginaWeb As String 'cambiar pagina web 'PaginaWeb = "http://www.routexl.nl/?lang=es" 'Set IE = CreateObject("InternetExplorer.Application") 'IE.navigate PaginaWeb 'Do While Not IE.busy 'DoEvents 'Loop 'IE.Visible = True 'si se quiere cerrar la ventana 'ie.quit 'Set IE = Nothing 'Se abre en Chrome ActiveWorkbook.FollowHyperlink "http://www.routexl.nl/?lang=es" N = ActiveSheet.Shapes.Count For I = N To 1 Step -1 'controla el tipo de objeto y elimina si se trata de Picture On Error Resume Next ActiveSheet.Shapes(I).Select If Left(ActiveSheet.Shapes(I).Name, 7) = "Picture" Or Left(ActiveSheet.Shapes(I).Name, 5) = "Image" Then ActiveSheet.Shapes(I).Delete
OPTIMIZACIÓN DE RUTAS EN VEIASA 85
End If Next Columns("A:H").Select Selection.Delete Shift:=xlToLeft Columns("B").Select Selection.Delete Shift:=xlToLeft Columns("D").Select Selection.Delete Shift:=xlToLeft Columns("E:T").Select Selection.Delete Shift:=xlToLeft Rows("1").Select Selection.Delete Shift:=xlToLeft End Sub
9.2.2. Hoja basada en Microsoft MapPoint
9.2.2.1. Autofiltro
Sub CopiarAutofiltro() Dim rng As Range Dim rng2 As Range With ActiveSheet.AutoFilter.Range On Error Resume Next Set rng2 = .Offset(1, 0).Resize(.Rows.Count - 1, 1) _ .SpecialCells(xlCellTypeVisible) On Error GoTo 0 End With If rng2 Is Nothing Then MsgBox "No hay datos para copiar" Else Worksheets("AUTOFILTRO").Cells.Clear Set rng = ActiveSheet.AutoFilter.Range rng.Offset(1, 0).Resize(rng.Rows.Count - 1).Copy _ Destination:=Worksheets("AUTOFILTRO").Range("D8") End If ActiveSheet.ShowAllData End Sub
9.2.2.2. Crear Ruta
Sub EncontrarRuta() Dim miMapero As Object Dim miMapa As Object Dim miRuta As Object Dim i As Integer Dim numser As Integer ActiveSheet.Shapes("Mapa").Select Selection.Verb Verb:=xlPrimary Set miMapero = ActiveSheet.OLEObjects("Mapa") Set miMapa = miMapero.Object.Parent.activemap Set miRuta = miMapa.ActiveRoute 'Set rPrimerDestino = Range("rPrimerDestino")
OPTIMIZACIÓN DE RUTAS EN VEIASA 86
numser = Range("NumeroDestinos").Value - 1 For i = 0 To numser 'Agregar paradas a la ruta y calcular la ruta 'MsgBox Range("rPrimerDestino").Offset(i, 0).Text With Range("PrimerRegistro") If Not .Offset(i, 0).EntireRow.Hidden Then miRuta.waypoints.Add miMapa.FindResults(.Offset(i, 8).Text & ", " & _ .Offset(i, 11).Text & ", " & .Offset(i, 9).Text & ", " & _ .Offset(i, 10).Text).Item(1) ' MsgBox miRuta.waypoints.Item(i).Name End If End With Next 'objRoute.Calculate miRuta.waypoints.Optimize miRuta.Calculate Set miRuta = Nothing Set miMapa = Nothing Set miMapero = Nothing ActiveSheet.Shapes("Mapa").Select Selection.Verb Verb:=xlPrimary End Sub
9.2.2.3. Borrar Ruta
Sub BorrarRutaActiva() Dim miMapero As Object Dim miMapa As Object Dim miRuta As Object Dim i As Integer Dim numser As Integer Set miMapero = ActiveSheet.OLEObjects("Mapa") Set miMapa = miMapero.Object.Parent.activemap Set miRuta = miMapa.ActiveRoute miRuta.Clear Set miRuta = Nothing Set miMapa = Nothing Set miMapero = Nothing ActiveSheet.Shapes("Mapa").Select Selection.Verb Verb:=xlPrimary Range("AI4").Select End Sub