modelado del problema traveling repairman problem y...

94
Modelado del problema Traveling Repairman Problem y comparación de técnicas para su resolución María de Guía Ruiz Alamillos Trabajo de Fin de Grado Grado en Ingeniería en Tecnologías Industriales supervisado por: Simon Emde Miguel Ortega Mier Febrero 2019

Upload: others

Post on 22-Jun-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

Modelado del problema Traveling

Repairman Problem y comparación de

técnicas para su resolución

María de Guía Ruiz Alamillos

Trabajo de Fin de Grado

Grado en Ingeniería en Tecnologías Industriales

supervisado por:

Simon Emde

Miguel Ortega Mier

Febrero 2019

Page 2: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo
Page 3: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

"Uno es dueño de lo que calla y esclavo de lo que

habla"

Sigmund Freud

Page 4: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

Escuela Tecnica Superior de Ingenieros Industriales UPM

Page 5: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

Agradecimientos

Este trabajo representa el final de esta etapa, la cual ha supuesto un antes y undespues en mi vida. Me gustarıa agradecer a numerosas personas el apoyo y elcarino que me han ofrecido durante todos estos meses y tambien a lo largo los

ultimos cuatro anos.

En primer lugar a mi familia, por ser un apoyo incondicional, por ayudarme,guiarme y acompanarme todo este tiempo. En especial a mis queridos padres, Jose

Luis y Guıa, por inculcarme el valor del esfuerzo y el trabajo. A mi abuela, portodo su carino incondicional y a mis hermanos, Jose Luis y Alvaro, por ser el

mejor ejemplo posible.

Gracias a mis tutores Simon Emde y Miguel Ortega por ayudarme a llevar a caboeste proyecto.

Por ultimo, muchısimas gracias a todas aquellas personas con las que he tenido lasuerte de compartir el ultimo curso en Darmstadt. Gracias por haber sido como

una familia para mı. En especial a mi gran amigo Lucas, por asesorarme,ayudarme y disfrutar de los buenos momentos a mi lado.

¡A todos mil gracias!

Marıa de Guıa Ruiz Alamillos

Page 6: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

Escuela Tecnica Superior de Ingenieros Industriales UPM

Page 7: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

Abstract

En el contexto actual de globalizacion, la competitividad y la busqueda demetodos y actividades dirigidas a su mejora, se ha convertido en una necesidadestrategica para las empresas. De esta forma, el termino optimizacion cobra especialrelevancia, entendido como la forma de administrar los recursos disponibles de lamanera mas eficiente posible.

Uno de los ambitos donde se encuentra mas presente esta filosofıa de mejora, esel logıstico. La actividad logıstica se ha convertido por su crecimiento y consolida-cion en uno de los sectores esenciales para la economıa espanola. Por este motivo,la gestion eficiente de las actividades que lo integran, dota a las empresas de unaventaja sustancial frente a sus competidores. En este contexto, se enmarca esteestudio, dirigido a determinar aquellas rutas que permitan optimizar el transportede productos o la visita a clientes situados en distintos puntos.

En este documento se estudia el problema de los multiples agentes reparadoreso Multiple Traveling Repairman Problem (k-TRP), con objeto de comparar dostecnicas de modelado y resolucion. Esta formulacion, a diferencia de la mayorıa delos problemas de enrutamiento de vehıculos, esta centrada en el cliente en lugarde tratar de determinar las rutas de mınima distancia. El objetivo del k-TRP esencontrar las m rutas inconexas, correspondientes a los m vehıculos disponibles,minimizando la suma de los tiempos de espera de cada uno de los clientes. Esteproblema esta sujeto a una serie de limitaciones que deben verificarse: todos losclientes deben ser visitados una unica vez, todos los vehıculos deben partir de unorigen comun y todas las rutas deben estar conectadas con el punto de partida.

Para la formulacion y resolucion del problema, se han empleado dos procedi-mientos con caracterısticas y representaciones distintas.

En un primer momento se aborda el problema desde un punto de vista ma-tematico, empleando la programacion entera mixta, tecnica que permite modelar yresolver problemas cuyas variables pueden ser tanto enteras como continuas. Adi-cionalmente, se presentan los mecanismos de resolucion mas empleados en estosmodelos, donde destacan el Branch & Bound y los planos de corte, ası como lasdistintas combinaciones de los mismos. Ademas, se exponen de forma detallada lasdistintas formulaciones caracterısticas para las restricciones de eliminacion de sub-tours o Subtour Elimination Constraints (SEC), que implican que todas las rutasesten conectadas con el origen. Las formuladas por Dantzig, Fulkerson y Johnson(DFJ) imponen que el numero de vertices y arcos que forman una subruta debenser iguales, logrando ası la rotura del subciclo. Sin embargo, las restricciones deMiller- Tucker -Zemlin (MTZ), eliminan las subrutas estableciendo una serie decontradicciones, generando restricciones con menos fuerza. Esto tambien se verificaen el analisis realizado a los poliedros resultantes de la adicion de cada una de lasrestricciones. Sin embargo, se comprueba la redundancia de la incorporacion delas restricciones de DFJ a la formulacion matematica, ya que para el calculo de lafuncion objetivo, se requiere la utilizacion de variables que establezcan un ordenen la ruta, variables que se encuentran en las restricciones de MTZ.

Marıa de Guıa Ruiz Alamillos

Page 8: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

En segundo lugar, se estudia la posibilidad de formular el k-TRP con la tecnicade programacion de restricciones (PR), creando uno de los primeros modelos conPR para este problema. Adicionalmente, se desarrolla un analisis de sus mecanismosde resolucion, basados en la eliminacion de valores del dominio de variables.

Para la verificacion de su eficiencia, ambos modelos se implementan en losprogramas AIMMS y MiniZinc respectivamente. En el caso de la formulacion ma-tematica, se emplean mecanismos de resolucion en el que se combinan B&B conherramientas de planos de corte y metodos heurısiticos, comprobando que son su-ficientes para la resolucion del problema. Sin embargo, en el modelador MiniZinc,los mecanismos de resolucion del solver empleado no resultan suficientes, tenien-do que incorporar herramientas adicionales para la agilizacion de la resolucion.El contraste de ambos modelos que constituyen el objeto de este trabajo permiteconcluir que, los resultados computacionales obtenidos en el modelo de programa-cion matematica son mucho mejores que los resultantes de la programacion conrestricciones para instancias de tamano medio.

Codigos UNESCO: 120704,120707, 120709, 120713

Palabras clave: Multiple Traveling Repairman Problem, programacionentera mixta, programacion de restricciones, restriccion de eliminacion

de subtours, latency

Escuela Tecnica Superior de Ingenieros Industriales UPM

Page 9: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

Indice de figuras

1. Esquema de grafo conexo . . . . . . . . . . . . . . . . . . . . . . . . 72. Esquema de la ruta de un vehıculo . . . . . . . . . . . . . . . . . . 83. Envolvente convexa de las soluciones factibles . . . . . . . . . . . . 114. Esquema de B&B para n=4 con variables binarias . . . . . . . . . . 135. Metodo de los planos de corte . . . . . . . . . . . . . . . . . . . . . 146. Posible solucion para el k-TRP . . . . . . . . . . . . . . . . . . . . 227. Posible solucion para el k-TRP sin subciclos . . . . . . . . . . . . . 228. Declaracion principal del modelo de AIMMS . . . . . . . . . . . . . 289. Declaracion de la funcion objetivo . . . . . . . . . . . . . . . . . . . 2810. Etiquetado de Escenas . . . . . . . . . . . . . . . . . . . . . . . . . 3111. Problema de las n-Reinas con un tablero 6X6 . . . . . . . . . . . . 3412. Problema de coloracion de grafos . . . . . . . . . . . . . . . . . . . 3513. Diagrama de flujo del proceso de resolucion de un PSR . . . . . . . 4114. Solucion del k-TRP empleando PR . . . . . . . . . . . . . . . . . . 5015. Tiempos de viaje para n=40 . . . . . . . . . . . . . . . . . . . . . . 5317. Parametros obtenidos en AIMMS para visitar 40 clientes con 8 vehıcu-

los . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5416. Asignacion correspondiente a la solucion factible con 8 vehıculos . . 5418. Solucion de MIP sin restriccion de integralidad . . . . . . . . . . . . 5519. Representacion grafica de la solucion factible con una disponibilidad

de 8 agentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5620. Asignacion correspondiente a la solucion optima para v=18 . . . . . 5721. Representacion de la solucion optima para 40 clientes y 18 agentes . 5722. Comparacion grafica de las soluciones de CP . . . . . . . . . . . . . 5923. Porcentaje de soluciones optimas obtenidas en AIMMS . . . . . . . 6024. Porcentaje de soluciones optimas obtenidas con MiniZinc . . . . . . 6025. Diferencia de los resultados obtenidos con el optimo empleando MIP 6226. Diferencia de los resultados obtenidos con el optimo empleando CP 6227. Estructura de descomposicion del proyecto . . . . . . . . . . . . . . 6528. Diagrama de Gantt . . . . . . . . . . . . . . . . . . . . . . . . . . . 6729. Distribucion de los costes totales del proyecto . . . . . . . . . . . . 7030. Emisiones de CO2 por sector . . . . . . . . . . . . . . . . . . . . . . 74

Marıa de Guıa Ruiz Alamillos

Page 10: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

Escuela Tecnica Superior de Ingenieros Industriales UPM

Page 11: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

Indice de tablas

1. Tipos de problemas de PL segun su tamano . . . . . . . . . . . . . 512. Soluciones factibles de AIMMS para 40 clientes . . . . . . . . . . . 523. Soluciones factibles de MiniZinc para 40 clientes . . . . . . . . . . . 584. Comparacion de soluciones con las dos versiones de modelos de Mi-

niZinc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595. Comparacion de resultados computacionales . . . . . . . . . . . . . 616. Numero de soluciones obtenidas con MiniZinc para 40 clientes . . . 637. Costes de personal . . . . . . . . . . . . . . . . . . . . . . . . . . . 698. Costes adicionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . 709. Coste total del proyecto . . . . . . . . . . . . . . . . . . . . . . . . 7010. Tabla de resultados AIMMS . . . . . . . . . . . . . . . . . . . . . . 7911. Tabla de resultados MiniZinc . . . . . . . . . . . . . . . . . . . . . 80

Marıa de Guıa Ruiz Alamillos i

Page 12: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

ii Escuela Tecnica Superior de Ingenieros Industriales UPM

Page 13: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

Indice

1. Introduccion 11.1. Motivacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2. Antecedentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.3. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.4. Metodologıa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.5. Estructura y contenido de la memoria . . . . . . . . . . . . . . . . . 6

2. Definicion del problema 72.1. Definicion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.1.1. Variantes del k-TRP . . . . . . . . . . . . . . . . . . . . . . 9

3. Programacion entera mixta 113.1. Definicion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113.2. Algoritmos de resolucion . . . . . . . . . . . . . . . . . . . . . . . . 123.3. Formulacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3.3.1. Dantzig,Fulkerson y Johnson SEC’s . . . . . . . . . . . . . . 183.3.2. Miller,Tucker y Zemlin SEC’s . . . . . . . . . . . . . . . . . 193.3.3. Ejemplo grafico de implementacion de las SECs . . . . . . . 203.3.4. Modelo matematico . . . . . . . . . . . . . . . . . . . . . . . 233.3.5. Implementacion . . . . . . . . . . . . . . . . . . . . . . . . . 25

4. Programacion con restricciones 314.1. Problemas de satisfaccion de restricciones . . . . . . . . . . . . . . . 33

4.1.1. Ejemplos de los PSR . . . . . . . . . . . . . . . . . . . . . . 334.2. Tecnicas de resolucion . . . . . . . . . . . . . . . . . . . . . . . . . 36

4.2.1. Nociones de consistencia local . . . . . . . . . . . . . . . . . 364.3. Algoritmos de busqueda . . . . . . . . . . . . . . . . . . . . . . . . 394.4. Modelo de programacion de restricciones para el k-TRP . . . . . . . 41

4.4.1. Modelo en MiniZinc . . . . . . . . . . . . . . . . . . . . . . 424.4.2. Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

5. Resultados 515.1. Resultados obtenidos con AIMMS . . . . . . . . . . . . . . . . . . . 515.2. Resultados obtenidos con MiniZinc . . . . . . . . . . . . . . . . . . 585.3. Comparacion de ambas tecnicas . . . . . . . . . . . . . . . . . . . . 60

6. Planificacion 656.1. Estructura de descomposicion del proyecto (EDP) . . . . . . . . . . 656.2. Diagrama de Gantt . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

7. Presupuesto 69

Marıa de Guıa Ruiz Alamillos iii

Page 14: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

8. Conclusiones 718.1. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 718.2. Lıneas futuras de desarrollo . . . . . . . . . . . . . . . . . . . . . . 738.3. Impacto medioambiental . . . . . . . . . . . . . . . . . . . . . . . . 74

Apendice A. Abreviaturas 77

Apendice B. Tablas de resultados 79

iv Escuela Tecnica Superior de Ingenieros Industriales UPM

Page 15: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

Modelado del TRP y comparacion de tecnicas para su resolucion

1. Introduccion

En esta seccion introductoria se presenta la justificacion para la realizacion deeste Trabajo de Fin de Grado y antecedentes del problema estudiado. Adicional-mente, se incorporan los objetivos y estructura del documento.

1.1. Motivacion

En este apartado se pretende explicar la relevancia del estudio del problema,ası como, las razones que han llevado al autor a la eleccion del tema.

Justificacion tecnica:

Los problemas de enrutamiento de vehıculos son objeto de estudio desde hacemas de cinco decadas. Esto se debe, en especial, al papel fundamental del transporteen el sector empresarial e industrial. Una asignacion eficiente de rutas resulta degran importancia, contribuyendo a la ventaja competitiva de las empresas, ya quepermite:

El ahorro en costes logısticos, pudiendo llegar a suponer un ahorro del 30 %

Ahorro del tiempo de trabajo

Reduccion de la flota de vehıculos

Disminucion de los costes directos asociados al transporte, como la amortiza-cion, personal de conduccion y reparto, seguros de vehıculos, costes fiscales,mantenimiento y reparaciones

Aumento de la satisfaccion de clientes, pudiendo aumentar las tasas de en-trega

Otro de los motivos que hacen de este problema un objeto relevante de estudioes su relacion con los problemas medioambientales que sufre el planeta en la actua-lidad. Los vehıculos son una de las fuentes mas comunes de emision de elementoscontaminantes, quedando acumulados en la extension de la atmosfera. Por ello, unamejora en la gestion del transporte, da lugar a la disminucion en la contribucionde la emision de elementos nocivos por parte del sector terciario.

Justificacion personal:

Existen otros motivos, aparte de los expuestos anteriormente, que condicionaronla eleccion del tema del Trabajo de Fin de Grado.

En primer lugar, el ambito de la optimizacion siempre le ha resultado al autorespecialmente interesante, ya que resulta imprescindible para el avance y evolucionde actividades y servicios. Tambien, porque es aplicable a todo tipo de sectores,

Marıa de Guıa Ruiz Alamillos 1

Page 16: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

1. INTRODUCCION

generando mejoras que pueden llegar a ser cruciales para empresas y negocios.Ademas, el autor dispone de nociones previas de programacion matematica. Sinembargo, la programacion de restricciones resulto novedosa e interesante.

Adicionalmente, el poder desarrollar el trabajo supervisada por dos tutoresexpertos en este campo, resulto determinante.

1.2. Antecedentes

El coste de transporte representa en la industria y el sector servicios una parteimportante del beneficio obtenido por mercaderıa entregada o servicio prestado,siendo esencial la planificacion de rutas para la estrategia competitiva de una em-presa.

El problema de encontrar rutas optimas para la entrega de mercancıas, presta-cion de servicios o recogida de productos, donde se debe visitar a varios clientes, seconocen como problema de ruteo de vehıculo o V ehicle Routing Problem (VRP).Los vehıculos viajan a traves de una red de rutas, donde cada tramo tiene asocia-do un coste de viaje, dependiente de diversos factores. Los objetivos tıpicos quepueden ser considerados en los problemas de ruteo de vehıculos son:

minimizar la distancia total de viaje

minimizar el numero de vehıculos empleados

minimizar la suma de los tiempos de espera de los clientes

En este conjunto de problemas de ruteo de vehıculos podemos distinguir elproblema del reparador viajero, Travelling Repairman Problem,(TRP) presen-tado por Afrati et al. en 1986[1], conocido tambien como el problema de retardomınimo , Minimum Latency Problem (MLP) o problema del repartidor ambu-lante Traveling Deliveryman Problem (Fischetti et al, 1993)[2]. El objetivo delTRP es encontrar un camino Hamiltoniano en el que la suma de los tiempos deespera experimentados por cada uno de los clientes sea mınima, siendo un caminoHamiltoniano aquel en el que cada cliente es visitado una unica vez. Este proble-ma puede verse como un problema de enrutamiento centrado en el cliente, ya quese focaliza en la minimizacion de los tiempos de espera de los clientes, en lugarde centrarse en conseguir obtener las rutas de mınima distancia. El TRP presen-ta algunas similitudes con el conocido Traveling Salesman Problem (TSP). Enla version mas clasica de ambas formulaciones todos los vehıculos parten de undeposito comun y los clientes deben ser visitados en una unica ocasion. Compartentambien su condicion de NP-difıcil, aunque el MLP es mucho mas difıcil de resolvero aproximar,desde un punto de vista computacional, como se exponen Goemansy Kleinberg [3] en su trabajo. Ademas, la funcion objetivo del TSP se centra enreducir la distancia total de la ruta, en lugar del tiempo de espera acumulado. Lacreciente necesidad de la industria de minimizar los tiempos de espera de los clien-tes, hacen del TRP un punto de investigacion importante. Cabe destacar tambien

2 Escuela Tecnica Superior de Ingenieros Industriales UPM

Page 17: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

Modelado del TRP y comparacion de tecnicas para su resolucion

la relevancia de esta tipologıa de problemas para una gran cantidad de aplicaciones.Por ejemplo, en el caso de la ayuda humanitaria, para la distribucion de vıveresy medicinas en situaciones de emergencia, donde llegar a la gente afectada es unaprioridad.

El problema resultante de la generalizacion del TRP es el problema con multi-ples reparadores viajeros, Multiple Traveling Repairmen Problem (k-TRP). La prin-cipal diferencia entre ambas formulaciones radica en el numero de vehıculos dispo-nibles. El k-TRP busca k caminos disjuntos para k vehıculos distintos, todos ellospartiendo de un punto comun, el orıgen o deposito. El objetivo en este caso siguesiendo el mismo, buscandose minimizar la suma total de los tiempos de espera ex-perimentados por cada cliente. Este problema fue estudiado por primera vez porAverbakh y Berman [4], sin embargo, fue realmente introducido por Fackcharoenp-hol et al.[5] anos mas tarde. En su trabajo presentan un algoritmo de aproximacion8.497 α, donde α hace referencia al mejor factor de aproximacion alcanzable pa-ra los i vertices del problema del arbol de expansion. Luo et al[6] estudiaron deigual forma el k-TRP imponiendo ciertas restricciones en la distancia maxima quese puede recorrer. Tambien exponen un algoritmo para resolver el problema, elBranch and Price and Cut (BPC), el cual se expondra de forma mas extensa enla siguiente seccion.

Durante las ultimas decadas se han propuesto multitud de variantes del TRPy k-TRP adaptadas a distintos requerimientos y especificaciones, en especial en elterreno del Operation Research.

El School Bus Routing Problem (SBRP) es uno de los problemas mas destaca-dos dentro de los problemas de enrutamiento. Ha sido continuamente investigado yrevisado desde su presentacion por Newton y Thomas en 1969 [7]. El SBRP cons-ta de una flota de autocares, donde cada uno de ellos debe recoger a un numerodeterminado de estudiantes en diferentes puntos y llevarlos a sus colegios corres-pondientes, satisfaciendo ademas una serie de restricciones. Entre ellas destacan lasrestricciones de capacidad, es decir, numero maximo de alumnos que pueden ir enun mismo autocar, el numero de estudiantes en cada punto de recogida o el tiempomaximo del que disponen los autobuses de forma individual, para llegar a tiempoa su destino. Li y Fu[8] formularon el problema como un problema de optimizacionmultiobjetivo, incorporando una funcion objetivo cuya finalidad era la reduccional mınimo del tiempo total de viaje del autobus, ası como la minimizacion delnumero de autobuses requeridos y el tiempo que los estudiantes tienen que esperaren sus respectivos puntos de recogida. Asimismo, tratan tambien lograr un equi-librio en el numero de pasajeros y tiempos de viaje entre los distintos autobuses.En su trabajo, se propuso un algoritmo heurıstico para la resolucion del problemadesarrollado combinando metodos heurısticos y de optimizacion. Este algoritmo seaplico a una guarderıa en Hong Kong para comprobar su efectividad. Otros autorescomo Bennett y Gazis (1972) [9] o Dulac et al. (1980)[10] redujeron este problema,considerando una unica escuela.

Otro de los problemas relacionados es el conocido como rooted orienteering

Marıa de Guıa Ruiz Alamillos 3

Page 18: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

1. INTRODUCCION

problem, en el que el punto de partida esta prefijado. En este caso concreto, cadauno de los nodos tiene una puntuacion caracterıstica, y el objetivo es encontrar uncamino que maximice la recompensa recogida, empezando desde el punto de partidafijado hasta alcanzar el punto final (nodo n). La restriccion principal que caracterizaeste problema, es el estricto lımite impuesto en el tiempo total disponible pararecorrer los distintos puntos intermedios. Blum et al. (2003) [11] propusieron elprimer algortimo de aproximacion para el rooted orienteering problem.

Otra de las aplicaciones destacadas de estos problemas pueden ser la plani-ficacion de los servicios urbanos, como en el caso del Periodic V ehicle RoutingProblem (PVRP)[12] centrado en el establecimiento de rutas para la recogida selec-tiva de tres tipos diferentes de residuos: vidrio, papel y plastico/metal. El problemacomprende tres etapas:

1. definir un area de trabajo para cada vehıculo

2. establecer el tipo de residuos que deben recogerse cada dıa

3. definir el orden de visitas de los distintos puntos de recogida

Los autores aplican tambien un enfoque heurıstico en el PVRP. Angelelli ySperanza [13] estudian el PVRP incluyendo instalaciones intermedias (PVRP-IF).Cuando un vehıculo visita una instalacion intermedia, su capacidad se renueva. Pro-pusieron tambien en su trabajo un algoritmo de busqueda denominado en inglestabu search, el cual aplicaron para estimar los costes operativos de los distintossistemas de recogida de residuos. Posteriormente, Katja et al.[14] introdujeron ven-tanas de tiempo, periodos de tiempo fijos que actuan como lımites, aplicandolo ados casos diferentes con requisitos a cumplir distintos.

1.3. Objetivos

El objetivo general establecido en el trabajo, es el analisis y comparacion de dosherramientas de modelado para el problema de los multiples agentes reparadores.

Los objetivos especıficos que se establecen para este Trabajo de Fin de Gradoson los siguientes:

Presentar el problema de multiples repartidores viajeros, justificando su im-portancia en el marco economico actual. Adicionalmente, presentar los proble-mas relacionados, relevantes en el ambito de los problemas de enrutamiento.

Desarrollar un modelo de programacion entera mixta, analizando los algorit-mos de resolucion disponibles, ası como las caracterısticas de estos modelos.

4 Escuela Tecnica Superior de Ingenieros Industriales UPM

Page 19: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

Modelado del TRP y comparacion de tecnicas para su resolucion

Comparar las herramientas disponibles, restricciones de Dantzig Fulkerson yJohnson y Miller Tucker Zemlin, para la eliminacion de las rutas que no estanconectadas con el origen.

Introducir la programacion de restricciones y explicar la metodologıa de re-solucion de los problemas que emplea dicha formulacion.

Disenar una formulacion del k-TRP empleando programacion de restricciones.

Implementar las formulaciones desarrolladas realizando un analisis compu-tacional de los dos modelos, evaluando y comparando los resultados.

1.4. Metodologıa

Para la realizacion de este proyecto se han seguido una serie de pautas expuestasa continuacion. En primer lugar, se realiza un analisis detallado del problema deestudio: que es, antecedentes y problemas relacionados, importancia e impactosocial, ası como las condiciones y requisitos que se impondran en este caso.

A continuacion, se realiza una investigacion minuciosa de las dos metodologıasempleadas. Se comienza con el planteamiento matematico, ya que es el mas ex-tendido para la resolucion de los problemas de optimizacion combinatoria. En unprimer momento, se presto especial atencion a las restricciones especiales de eli-minacion de subtours. Para ello se adaptaron las formulaciones al problema delk-TRP, realizandose una comparacion de ambas. Tambien se han realizado com-probaciones de su posibilidad de incorporacion al modelo.

Una vez realizado el modelo matematico se comienza con la investigacion acercade la programacion de restricciones. Para su mejor entendimiento se han estudiadodistintos ejemplos destacados que emplean este enfoque para su formulacion. Pos-teriormente se realiza un estudio acerca de los procedimientos de resolucion propiosde este enfoque. A continuacion, se buscaron distintos lenguajes de modela, esco-giendo MiniZinc para la desarrollar el k-TRP. Tras el aprendizaje y la indagacionen este nuevo lenguaje, se elaboro la formulacion del problema. Posteriormente ,se realizo la simulacion hasta de un total de 40 clientes, comenzando otra vez a lamitad de la simulacion, ya que se incorporaron herramientas de resolucion adiciona-les, que agilizaron la resolucion del problema. De forma simultanea, se implementoel modelo matematico en AIMMS, herramienta que posee capacidades de modela-do y optimizacion de problemas. Del mismo modo que en el caso de MiniZinc, seprocedio a la simulacion de la formulacion matematica.

Por ultimo, y basandose en los datos obtenidos en ambas simulaciones, y losresultados caracterısticos del problema presentados en la literatura, se comparanambos resultados, analizando las causas de esos resultados

Marıa de Guıa Ruiz Alamillos 5

Page 20: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

1. INTRODUCCION

1.5. Estructura y contenido de la memoria

El documento presenta una estructura clara y bien definida que sigue el siguienteesquema.

En el capıtulo 2 se expone el problema del repartidor con multiples agentesviajeros, ası como las posibles variantes del mismo. En el apartado 3 se introduceel concepto de programacion entera mixta y los algoritmos mas empleados pa-ra la resolucion de estos problemas. Adicionalmente, se desarrolla la formulacionmatematica del k-TRP, explicando y desarrollando cada una de sus restricciones.Ademas, se incluyen las restricciones de eliminacion de subtours siguiendo el modelode Dantzing, Fulkerson and Johnson al igual que el de Miller-Tucker-Zemlin, ana-lizando sus caracterısticas y comparando la eficiencia de ambas y su aplicabilidadsobre el problema de estudio. En el capıtulo 4 se introduce una nueva metodologıapara el desarrollo de problemas de optimizacion combinatoria, la programacion derestricciones. Del mismo modo que en el apartado anterior, se incluyen los metodosmas relevantes para la resolucion de este tipo de problemas. Se presenta la formula-cion del k-TRP, verificando su aplicabilidad con un ejemplo. Se destacan, de igualmodo que en la seccion anterior, las restricciones que se utilizan para eliminar lossubtours. En la siguiente parte se analizan los resultados obtenidos, comparandoambos modelos. Los dos capıtulos sucesivos, 6 y 7, recogen la planificacion y el pre-supuesto estimado destinado al desarrollo del proyecto. Para finalizar, el apartado8 recoge las conclusiones del proyecto, ası como las futuras lıneas de desarrollo yel impacto medioambiental del mismo.

6 Escuela Tecnica Superior de Ingenieros Industriales UPM

Page 21: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

Modelado del TRP y comparacion de tecnicas para su resolucion

2. Definicion del problema

2.1. Definicion

La optimizacion de rutas de vehıculos consiste en definir la planificacion optima(de menor coste o de mayor nivel de servicio, o de menor riesgo. . . ) para una flotade vehıculos. Dicha planificacion se basa en la asignacion,a cada vehıculo de laflota, el conjunto de nodos (o clientes) a los que visitar, ası como el orden en quedeben ser visitados.

El problema que se estudiara en el transcurso del trabajo es el ya menciona-do problema de multiples reparadores viajeros. El creciente peso de la actividadlogıstica en diversos sectores hace del problema un objeto importante de estudio.Para el analisis de este problema de optimizacion combinatoria, se hara uso de di-versas herramientas tratando de encontrar las mejores rutas que permitan recorrerdiversos puntos. Se tiene un numero de nodos n (ciudades, localidades, clientes,empresas, etc.) que deben ser visitados por diversas entidades m, como pueden seragentes viajeros, vehıculos, etc. sin visitar 2 veces el mismo nodo.

Para encontrar las m rutas se emplearan dos metodos distintos de calculo. Unaformulacion matematica, utilizando programacion entera mixta y un concepto masnovedoso en el ambito de los problemas de enrutamiento, la programacion conrestricciones.

Figura 1: Esquema de grafo conexo

El k-TRP se representa a modo de grafi-ca, siguiendo la teorıa de grafos. Esta ramade las matematicas y ciencias de la compu-tacion,tiene su origen en el conocido proble-ma de los puentes de Konigsberg, considera-do como el primer resultado de la teorıa degrafos. Tambien se considera uno de los pri-meros resultados topologicos en geometrıa(que no depende de ninguna medida). Esteejemplo ilustra la profunda relacion entre lateorıa de grafos y la topologıa.

La teorıa de grafos se encarga del estudio de los grafos, tambien denominadosgraficas, estructuras matematicas utilizadas para modelizar relaciones entre objetosde un conjunto. Se define un grafo como un conjunto, no vacıo, de objetos llamadosnodos o vertices y un conjunto de lıneas llamadas aristas cada una de las cualesune dos vertices. Se denomina lazo a una arista que une un vertice consigo mismo.Se dice que dos vertices son adyacentes si existe una arista que los une.

De esta forma, se define el grafo G como G=(V,A) donde V = {0, 1, ..., n} esel conjunto de vertices, V c = V \ {0} el conjunto de los n clientes, excluyendo elorigen, y E = {(i, j) : i, jεV, i 6= j, j 6= 0} el conjunto de arcos recorridos entrelos vertices i y j. Para poder establecer el proposito de esta cuestion, es necesarioexplicar el termino latency, el cual da nombre a este problema, Minimum Latency

Marıa de Guıa Ruiz Alamillos 7

Page 22: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

2. DEFINICION DEL PROBLEMA

Problem. El latency de un cliente se define como el tiempo (distancia) que cadaagente viajero debe recorrer antes de visitar a un cliente.

Figura 2: Esquema de la ruta de un vehıculo

En el caso de la Figura 2, la ru-ta 1 visita a los clientes en el orderexpuesto en la misma. Por lo tanto,segun la definicion anterior, el la-tency o tiempo de espera asociadoal cliente numero 15, situado en latercera posicion, sera:

c[15] = t[0][2] + t[2][8] + t[8][15]

donde c[i] hace referencia al tiempo de espera acumulado del cliente i y t[i][j] altiempo de viaje entre los puntos i y j. Por lo tanto, la igualdad anterior seraequivalente a la siguiente expresion:

c[15] = c[8] + t[8][15]

De esta forma, podra definirse el tiempo de espera total para la subruta 1 como elsumatorio de todos tos tiempos de espera de cada uno de los clientes visitados endicho trayecto.

5∑i=1

c[i][j]

De esta manera, se puede establecer el objetivo del k-TRP como la minimizacionde la suma de los tiempos de espera acumulados de cada una de las m subrutas delproblema.

De ahora en adelante se asumiran las siguientes consideraciones en la definiciondel problema:

Se considera el caso asimetrico del k-TRP, donde tij 6= tji. Por lo tanto, eltiempo de viaje del nodo i a j no tiene que ser el mismo que el del nodo j ai.

Se considera constante la velocidad de los vehıculos, siendo ası los terminosde distancia y tiempo de viaje intercambiables.

Se asumen los tiempos de reparacion asociados a cada uno de los clientescomo despreciables. Con independencia de este hecho, se integraran en laformulacion matematica para dotarla de un caracter mas general.

Se establece que todos los vehıculos parten de un deposito comun, sede de laentidad o empresa, tomando dicho punto como nodo de retorno para todaslas rutas. Sin embargo, no se contabilizara el tiempo de viaje hasta el nodo

8 Escuela Tecnica Superior de Ingenieros Industriales UPM

Page 23: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

Modelado del TRP y comparacion de tecnicas para su resolucion

de partida en el tiempo de espera acumulado. Esto es debido a que el origenno tienen ningun cliente.

2.1.1. Variantes del k-TRP

El problema esta definido por una serie de limitaciones. De este modo, realizan-do modificaciones en los requesitos y caracterısticas, se pueden desarrollar multitudde variantes del k-TRP:

Multiples depositos: En este caso, los diferentes agentes reparadores partende puntos distintos, en lugar de tener un origen unico. Este caso puede ocu-rrir, por ejmeplo, en aquellas empresas cuyos centros de distribucion no seencuentran agrupados en una sola localizacion. En el caso de esas formula-ciones, se puede perseguir tambien el buscar el emplezamiento optimo, unavez conocido los puntos finales de visita.

Funciones multiobjetivo: Algunos de los problemas buscan optimizar mas deun aspecto, incluyendo varias variables en la funcion objetivo. Este es el casodel problema descrito por Li & Fu (SBRP con multiples objetivos) explicadoen el apartado anterior.

Tiempo de reparacion 6= 0: Cada nodo i ∈ V tiene un tiempo de reparacionasociado si 6= 0, siendo s0=0 en el origen. Esto se aplica a diversas formula-ciones, sin embargo, en el problema de estudio se asumiran despreciables.

Lımite en el numero de nodos que deben ser visitados por cada vehıculo: Enel caso de estudio, no existe ningun valor superior excluyendo el numero declientes, que limite la cantidad de nodos que cada vehıculo puede visitar du-rante la ruta. En cuanto al lımite inferior, se impondra que todos los vehıculosdeben visitar al menos un nodo, excluyendo el origen. En otros problemas,existe un numero fijo de clientes que deben ser visitados por cada vehıculo.

Problemas de retardo limitado: Es una version complementaria del TRP, enla que la suma de los tiempos de espera esta limitada por un valor L, que nopuede ser superado. En este caso, se busca el numero mınimo de vehıculosnecesarios, de forma que el tiempo de espera de ningun cliente sea superiora L. En este caso, serıa necesario incluir el coste asociado a la utilizacion deun vehıculo adicional para acercar mas el problema a la situacion empresarialreal.

Problemas con ventanas de tiempo: En estos problemas se asocia una venta-na de tiempo a cada cliente. Por lo tanto, el vehıculo que visita a un clientedeterminado no puede llegar en un horario que no este incluido en la ventana

Marıa de Guıa Ruiz Alamillos 9

Page 24: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

2. DEFINICION DEL PROBLEMA

de tiempo. Si el vehıculo llega demasiado pronto a un nodo, debe esperarhasta que el cliente este listo. Algunos problemas incluyen lo que se conocecomo ventanas de tiempo suaves, que pueden ser infringidas a un cierto costo.

Cantidad y capacidad de vehıculos disponibles: La flota de vehıculos de re-parto pueden tener la misma capacidad o ser heterogeneos. En algunos casos,los clientes tienen restricciones respecto al tamano y peso del vehıculo que losabastece. Por ejemplo, si las rutas de acceso para llegar al cliente no permitensuperar cierto peso del vehıculo.

10 Escuela Tecnica Superior de Ingenieros Industriales UPM

Page 25: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

Modelado del TRP y comparacion de tecnicas para su resolucion

3. Programacion entera mixta

3.1. Definicion

La programacion entera mixta se emplea, cada vez en mayor medida, paramodelar y resolver situaciones en las que se requiere optimizar una funcion sujetaa una serie de limitaciones, donde algunas de las variables deben ser discretas (xi∈ Z+, xj ∈ R+).

Los problemas de programacion entera mixta pueden ser formulados de la si-guiente manera:

minz =∑j∈S

cjxj +∑j∈C

cjxj

s. t. ∑j∈S

aijxj +∑j∈C

aijxj ≤ bi i = 1, 2, .., n

xj ∈ Z+ ∀j ∈ S

xj ∈ R+ ∀j ∈ C

donde S es el conjunto de variables enteras y C el conjunto de variables con-tinuas. De la formulacion empleada depende en parte el exito en la resolucion delproblema que describe.

Cada formulacion tiene asociado un poliedro P, definido por las restriccionescomo P= { x ∈ R+ : Ax ≤ B } y el conjunto de soluciones factibles F = P ∩ { x ∈R : xj ∈ Z ∀ j ∈ S}. Con esta formulacion denominamos conv(F ) (convex hull),envolvente o capsula convexa del conjunto de puntos de F, siendo la interseccionde todos los conjuntos convexos que contienen a F.

Figura 3: Envolvente convexa de las soluciones factibles[15]

Un caso especial que resulta de gran importancia, son aquellas formulacionescuyas variables de decision son variables binarias, cuyo valor esta limitado a 0 o1. Por lo tanto, pueden utilizarse para representar decisiones de sı/no, seleccion o

Marıa de Guıa Ruiz Alamillos 11

Page 26: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

3. PROGRAMACION ENTERA MIXTA

declinacion de una eleccion o para modelar otro tipo de situaciones. Estas variablesbinarias constituiran una pieza clave en el desarrollo del problema de estudio, yaque con ellas se determinara si cada uno de los vehıculos viaja del nodo i al j ono. Esto es realmente util, ya que podemos encontrar muchos problemas que nose puedan modelar con variables continuas, como es el caso de las decisiones deinversion, los problemas de asignacion o incluso para la seleccion de un producto.

Destacan tambien en el terreno de las formulaciones matematicas los problemasde programacion lineal, donde todas las variables son continuas o los problemasde programacion entera, donde todas las variables de decision deben ser enteras.Este tipo de problema tiene muchas aplicaciones, por ejemplo, en problemas deplanificacion o de asignacion y ajuste.

3.2. Algoritmos de resolucion

Una caracterıstica comun a la mayorıa de las formulaciones de estos problemases la pertenencia a la clase NP-difıcil, sus grandes dimensiones y la complejidad delas restricciones que los definen. Por lo tanto, se requiere el desarrollo de metodosespeciales para resolver estos problemas.

Se puede emplear lo que se conocen como algoritmos de busqueda exhausti-va, que consisten en la evaluacion de todas las posibles soluciones, dando lugara tiempos de resolucion muy elevados cuando el problema sea de gran tamano.Consecuentemente, no se hace mucho uso de dicho algortimo, unicamente paraproblemas con un numero reducido de variables.

Branch & Bound

Uno de los algoritmos mas empleados es el Branch & Bound (B&B), basadoen la declaracion ”divide y venceras”. El algoritmo se basa en la division del pro-blema principal en diferentes subproblemas. Este esquema se representa medianteun arbol de decision, formado por nodos que representan las diferentes alternativasen la asignacion de las variables. Cada uno de los nodos se divide en dos subproble-mas, cuya union de soluciones factibles contiene todas las soluciones factibles delproblema del que procede. Los fundamentos de factibilidad y dominancia, son losque permitiran suprimir ramas durante el proceso de busqueda de la solucion.

Para resolver el problema se debe tomar la variante relajada. Esto significaque se suprime la restriccion que limita los valores de las variables de decision anumeros enteros, remplazando un problema difıcil por uno mas simple con unasolucion optima menor o igual que la del problema original.

En procedimiento seguido en el algoritmo de B&B es el siguiente:

1. Inicializacion. En primer lugar, se debe encontrar un valor para la funcionobjetivo. Si este valor es el resultado de una asignacion binaria de todas lasvariables de decision, el proceso se detendra, porque dicha solucion ya serıafactible. De lo contrario, se procede a la ramificacion del nodo raız.

12 Escuela Tecnica Superior de Ingenieros Industriales UPM

Page 27: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

Modelado del TRP y comparacion de tecnicas para su resolucion

2. Ramificacion. Se divide la region factible en dos regiones factibles de menortamano, dando lugar a dos subproblemas nuevos, lo que implica tener dosnodos activos o inexplorados. Para la ramificacion se escogen variables (x)que no tengan valores enteros (u), separando dicho nodo en dos subproble-mas, uno con x ≤ buc y en el otro x ≥ due. El valor optimo del problemaoriginal coincidira con el menor de los valores optimos de cada uno de lossubproblemas en los que se divide (en el caso de tener un problema de mini-mizacion). A continuacion, se resuelven las relajaciones de los subproblemas,actualizacion de los lımites.

3. Poda. Esto puede realizarse para ahorrar memoria, pero no tiempo. La podaes la supresion de las ramas ya estudiadas, bien porque la solucion encontradasea optima o porque no incorporen informacion relevante al problema. Existentres tipos distintos de podas:

a) Poda por optimialidad: la solucion es optima y factible.

b) Poda por no factibilidad: si la solucion de la relajacion lineal no esfactible, el problema entero tampoco lo sera.

c) Poda por acotacion: cuando la solucion del nodo k es peor que la mejorcota conocida.

Figura 4: Esquema de B&B para n=4 con variables binarias[16]

Planos de Corte y Branch & Cut

Se dispone tambien del metodo de los planos de corte para resolver los problemasde programacion entera mixta. Esta herramienta fue empleada originalmente porGomory y actualmente se presenta combinado en algoritmos mas complejos. Aligual que en el caso de B&B, este metodo de resolucion comienza con la introduccionde la relajacion lineal y la resolucion del sistema relajado. Si la solucion optima

Marıa de Guıa Ruiz Alamillos 13

Page 28: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

3. PROGRAMACION ENTERA MIXTA

esta consitituida con variables enteras, se ha encontrado el optimo. Sin embargo,en el caso de tener alguna variable no entera, se comienza a reducir el espaciode soluciones factibles empleando inecuaciones lineales. Se debe aislar la solucioncontinua obtenida de la region de soluciones enteras del problema, diviendo elpolitopo con nuevas restricciones. Es decir, dado el punto extremo x∗ , con valor dealguna de sus variables no entero, incluido en la region factible, se debe determinaun corte de la forma aT x ≤ b0, que verifique todas las soluciones enteras de laregion factible. Sin embargo, x∗ no satisface dicha restriccion, quedando fuera dela nueva region factible. La Figura 5 representa el mecanismo de incorporacion deplanos de corte, donde el cırculo rojo representa el optimo para asignaciones dex e y no enteras. Por ello, dicho punto se excluye del politopo definido por lasrestricciones, introduciendo el plano de corte representando por la lınea azul.

Figura 5: Metodo de los planos de corte[17]

La introduccion de restricciones continua hasta que:

1. se encuentre una solucion optima con todos sus valores enteros

2. no se pueda identificar un corte que excluya la solucion no entera, dejandodentro todas las soluciones discretas del problema original

3. la formulacion resulte no factible

El metodo de los planos de corte pueden no llegar a encontrar la solucion opti-ma del problema, ya sea por requerir elevados tiempos computacionales o porqueresulte complejo el encontrar desigualdades que excluyan la solucion continua. Aunası, pueden generar buenas cotas inferiores, facilitando la resolucion de la instanciacon otros metodos. De la misma forma, esta herramienta puede ser combinada conotras, como por ejemplo con el algoritmo de Branch & Bound.

14 Escuela Tecnica Superior de Ingenieros Industriales UPM

Page 29: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

Modelado del TRP y comparacion de tecnicas para su resolucion

De la combinacion de los dos metodos anteriores surge el algoritmos de rami-ficacion y corte (Branch-and-cut). Esta mezcla permite obtener mejores cotas quelas que se obtienen con las relajaciones lineales en el B&B. Al igual que las for-mulaciones anteriores parte del problema sin restricciones de integralidad, dondese busca una solucion optima por medio de la resolucion de lo que se conoce comoproblema de separacion. Para ello se introduce una desigualdad que no sea verifi-cada por la solucion continua encontrada, pero que por el contrario, cumpla todoslos puntos de la region de soluciones enteras factibles del problema original. Estealgoritmo permite encontrar soluciones muy proximas a las optimas en tiemposcomputacionales reducidos.

Branch-and-price

Surge tambien otro metodo centrado en la generacion de columnas, es decir,introduccion de nuevas variables, en lugar de en la generacion de filas en la matriz,debido a la incorporacion de nuevas restricciones. A este algoritmo se le denomi-na metodo de ramificacion y precio (Branch-and-price). Dicho algoritmo siguediversos pasos hasta alcanzar la solucion optima.

En primer lugar, se excluyen de la formulacion del problema relajado algunosconjuntos de columnas, debido a la dificultad de trabajar con tantas columnas yporque ademas, muchas de las variables a las que hacen referencia tendran valorcero en la solucion final, es decir, no formaran parte de la base. Posteriormente,para comprobar la idoneidad de la solucion, se utiliza el subproblema de precios,pricing problem, que es un problema de separacion que trabaja sobre el dual delproblema relajado. Este subproblema reconoce las columnas que deben introducir-se en la base, escogiendo la mejor candidiata para ser incorporada. Las columnasque deben ser introducidas son aquellas que tienen coste reducido negativo. Una delas ventajas que presenta este subproblema es que, como no se debe reconocer laque tenga menor coste negativo, sino que el hecho de ser negativo es suficiente, sepueden emplear metodos como los heurısticos. Una vez se reconoce la columna, seintroduce en el problema reformulado. Como ocurre en el algoritmo de ramificaciony corte, despues de introducir la nueva variable en la base el problema debe serreoptimizado. La ramificacion se produce cuando no se encuentra ninguna colum-na que cumpla los requisitos para ser introducida en la base, debiendose cumplirtambien que la solucion del problema relajado no verifique las condiciones de inte-grabilidad, lo que supondrıa que los valores de las variables de la solucion no fuesenenteros. Este metodo resulta de la combinacion de los metodos de ramificacion ypoda y los procedimientoso de generacion de columnas.

Luo et al. emplearon una combinacion de los dos metodos anteriores (el algo-ritmo del branch-and price-and-cut) para resolver el k-TRP con limitaciones en lasdistancias a recorrer por cada vehıculo, suponiendo un gran avance en el analisisde este problema. En su trabajo, afirman que este metodo es el mas exacto y efi-caz para la resolucion de problemas de enrutamiento. Emplean el procedimiento

Marıa de Guıa Ruiz Alamillos 15

Page 30: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

3. PROGRAMACION ENTERA MIXTA

de generacion de columnas para encontrar un lımite inferior para cada uno de losnodos del arbol, incluyendo restricciones o cortes para mejorar dicho lımite infe-rior. El algoritmo de separacion por corte y el metodo de generacion de columnasse llevan a cabo de forma alternada. A continuacion, el subproblema de precios seresuelve para comprobar si la solucion obtenida alcanza el optimo, es decir, cuandoninguna columna tiene un valor negativo de los costes reducidos. Para la resoluciondel subproblema de precios se aplica un algoritmo de fijacion de etiquetas multidi-mensionales, asociadas a cada uno de los nodos que forman parte de las subrutas,estableciendo como ruta optima la que tenga la etiqueta de mınimo coste en el ulti-mo nodo. Estas etiquetas aportan la informacion sobre el tiempo acumulado que elvehıculo ha viajado hasta llegar a dicho nodo, pero no aporta ninguna informacionsobre la secuencia de visita de los nodos.

Luo et al. exponen tambien cuatro metodos para acelerar el proceso de genera-cion de columnas. Las cuatro tecnicas descritas son:

(1) Busqueda Tabu para la generacion de columnas(2) Busqueda bidireccional delimitada(3) Relajacion del estado del espacio(4) Disminucion del estado de relajacion del espacio

En la actualidad, existen diversos solvers disponibles para resolver problemasde programacion entera mixta. Algunos de los mas importantes son, por ejemplo,Gurobi, CPLEX , XPRESS o Aimms. En particular, para problemas de pequeno/-mediano tamano presentan elevados rendimientos, resultando lentos para proble-mas de gran tamano. La mayorıa de ellos emplean el algoritmo de B&B combinadocon el metodo de los planos de corte. Aun ası, la gran diversidad de alternativas po-ne a nuestra disposicion muchas mas combinaciones de metodos para la resolucionde este tipo de problemas matematicos.

3.3. Formulacion

En este apartado se desarrolla y analiza el modelo de programacion entera mix-ta para el problema del k-TRP. La formulacion esta consitituida por variables dedecision que emplean unicamente dos ındices i j, basandonos en la enunciacionexpuesta por Tolga Bektas[18] en su trabajo. En la literatura se incluyen distin-tas formulaciones para este problema. Tambien se emplean los modelos con tresındices, donde el tercer ındice corresponde,de forma general, al vehıculo asociadoa cada subruta. El objetivo del k-TRP es encontrar m caminos inconexos, en losque en total se visiten todos los clientes en una unica ocasion, con el menor tiempode espera total. Para ello empleamos un grafo dirigido G(V ,E), constitudio por nnodos, representando cada uno de los clientes que deben ser visitados. Es conve-niente explicar, para facilitar la interpretacion del problema, el concepto de grafodirigido, que tambien puede ser designado como digrafo. El grafo dirigido consisteen un conjunto de nodos conectados por arcos en una direccion fija. Por lo tanto,los caminos solo puede ser atravesado en esa direccion especıfica.

16 Escuela Tecnica Superior de Ingenieros Industriales UPM

Page 31: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

Modelado del TRP y comparacion de tecnicas para su resolucion

Siendo n el numero de localizaciones que deben ser visitadas y m el numero devehıculos disponibles para realizar dicha tarea, se define el grafo G=(V,E), donde iy j ∈ V = { 0,1,...,n }, definen el conjunto de vertices. Vc= { 1,2,....,n } comprendeel conjunto de clientes que deben ser visitos, excluyendo el nodo comun de partida0. E es el conjunto de arcos definido como E={ (i,j): i,j ∈ V , i 6= j, j 6= 0}. Cadaarco tiene asociado un valor del tiempo requerido para viajar de i a j para (i,j) ∈E, representado en la matriz de parametros no negativos T =(tij), donde el costoponderado de viajar de i a i es ∞ (ti= ∞), evitando ası la formacion de buclesinternos en un solo nodo.

Para el desarrollo del k-TRP se emplean tres tipos de variables de decision:

xij variable de decision binaria cuyo valor es igual a 1 cuando un vehıculoviaja de i a j, es decir, cuando (i,j) ∈ E, y 0 en el caso contrario

pj se refiere al tiempo de viaje acumulado hasta la finalizacion de la visitadel cliente j. Esta variable resulta imprescindible para poder formular lafuncion objetivo, ya que es necesario establecer un orden para poder

calcular el retardo acumulado.

cj representa el tiempo de reparacion asociado a cada cliente j. Para eldesarrollo de nuestro problema, se asumira que el tiempo de reparacion

es practicamente insignificante. Sin embargo, se incluira esta variable enla formula dotandola de un caracter mas general.

El modelo esta constituido por las siguientes ecuaciones: funcion objetivo, lasrestricciones principales, con las que se asegura que todos los clientes sean visitadosuna unica vez, las condiciones de integralidad y las restricciones de eliminacion desubtours.

Funcion objetivo. El objetivo es encontrar m caminos inconexos, correspo-nientes a los m vehıculos disponibles, minimizando el tiempo de espera totalde los clientes. El tiempo de espera corresponde al tiempo que pasa desdeque el vehıculo parte del origen hasta que visita el nodo j. Por lo tanto, sien-do Pm= {v1,..., vr} cada uno de los distintos caminos recorridos por los mvehıculos y r el numero de clientes visitados en cada ruta m. De esta formapodremos definir el tiempo de espera acumulado de cada camino como lasuma de los tiempos de espera de cada uno de los clientes, sabiendo que tijes el tiempo necesario para viajar del nodo i al j. Ası, denominamos latencyde la ruta m, Lat(Pm)= r t01 + (r-1) t12 + ... + 1 tr−1r , siendo el tiempo deespera total acumulado, Lat(P )=

∑mk=1 Lat(Pk).

Restricciones principales , con las que se asegura que todos los clientessean visitados una unica vez y que los vehıculos partan del origen. Tambiense debe imponer que las variables de decision sean binarias. Estas variablesresultan impresncindibles en las fomrulaciones de problemas de decision, asig-nacion y scheduling.

Marıa de Guıa Ruiz Alamillos 17

Page 32: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

3. PROGRAMACION ENTERA MIXTA

Restricciones de eliminacion de subtours. Todas las restricciones previasno son suficientes para asegurar la formacion de caminos que contengan elorigen. Por lo tanto, se deben anadir una serie de limitaciones que prevenirla formacion de subtours, reforzando la conectividad. De ahora en adelantese denominaran a estas restricciones SECs, por su nombre en ingles SubtourElimination Constraints.

A continuacion se entrara mas en detalle en este tipo de restricciones, explicandolas distintas formulaciones caracterısticas que cumplen la funcion de eliminacionde subtours. Para el desarrollo de estas restricciones, se puede partir de un enfoquenatural, donde todas las variables de decision son binarias. Ademas, existe unaformulacion extendida, en la que se incoporan variables adicionales. El primer grupode SECs es el basado en el modelo de Dantzig, Fulkerson y Johnson, propuestopor primera vez para el TSP. El otro grupo se basa en la formulacion de Miller,Tucker y Zemlin, que introduce nuevas variables continuas para la definicion deestas ecuaciones adicionales.

3.3.1. Dantzig,Fulkerson y Johnson SEC’s

Dantzig, Fulkerson y Johnson (DFJ) destacaron por su contribucion a la opti-mizacion combinatoria ası como por el gran impulso de la combinatoria poliedrica.Esto se debio al desarrollo de lo que se conoce como el metodo del plano de cor-te,expuestos en su obra ”Solution of a large scale traveling salesman problem

publicado en 1954 [19]. Desarrollaron ası el metodo para resolver el TSP ydemostraron su poder resolviendo una instancia de 49 ciudades.

Este metodo de planos de corte se puede utilizar para resolver problemas for-mulados de la siguiente forma:

min aT x subject to x ∈ Udonde U es el conjunto de todas las soluciones enteras. Para resolver el problema

original, partimos del problema relajado definido de la forma

min aT x subject to Bx ≤ d

donde P representa el poliedro definido por la relajacion lineal {x: Bx ≤ d } y elresto de restricciones del problema, conteniendo todas las soluciones enteras. Dadoque P esta acotado, se puede encontrar una solucion optima x∗ para el problemarelajado. En el caso de que x∗ este contenido en U , se podra afirmar que verificalas restricciones y que es un vector de numeros enteros, siendo tambien solucion delproblema original. En el caso de no estar contenido en el conjunto U , sera necesariointroducir una ecuacion que excluya la solucion x∗, pero incluyendo todos los puntosde U . Nos refererimos a estos cortes como restricciones de eliminacion de subtours(SEC).

Las restricciones de eliminacion de subciclos del DFJ para el k-TRP se formulande la siguiente manera:

18 Escuela Tecnica Superior de Ingenieros Industriales UPM

Page 33: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

Modelado del TRP y comparacion de tecnicas para su resolucion

∑i∈S

∑j∈S

xij ≤ |S| − 1 S ⊆ Vc S 6= ∅ (1)

donde S es el subconjunto de los nodos que forman la subruta no conectadacon el origen. Las restricciones de DFJ imponen que el numero de vertices y arcosque forman una subruta deban ser iguales, logrando ası una ruta abierta.

Uno de los problemas principales que presenta esta formulacion es el incrementoexponencial del numero de restricciones al aumentar n. Esto resulta en un aumentoconsiderable del tiempo computacional durante la resolucion. Por esta razon, lasrestricciones deben incorporarse cuando sean necesarias. Esto implica que el pro-blema debe resolverse sin la introduccion de dichas restricciones y luego verificarsi la solucion contiene subtours. En el caso de contener cualquier ruta no conec-tada con el origen, se introducira la SEC especıfica para eliminarlo. Aun ası, laimplementacion de forma individual en ocasiones resulta mas compleja.

Hay varias maneras de lidiar con las limitaciones de DFJ:

1. Monolıtica:en este caso se aplican todas las restricciones. El numero de res-tricciones aumenta exponencialmente con el aumento del numero de clientesn.

2. Corte despues de solucion entera: Las restricciones de eliminacion de sub-toturas se aplican a las soluciones enteras que contienen subrutas en suscaminos.

3. Corte en el nodo raız : Combinamos el problema relajado con las SECs paraencontrar una solucion.

3.3.2. Miller,Tucker y Zemlin SEC’s

Miller, Tucker y Zemlin (1960) propusieron una nueva formulacion de las SECforzando la conectividad en cada ruta. Estas restricciones introducen nuevas varia-bles de decision reales ui, utilizadas para dar una orden a los nodos que han sidovisitados, excluyendo el origen.

Las restricciones tienen la siguiente forma:

ui − uj + (α− 1)xij ≤ (α− 2) ∀(i, j) ∈ Vc (2)

1 ≤ ui ≤ n−m+ 1 i ∈ Vc (3)

Marıa de Guıa Ruiz Alamillos 19

Page 34: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

3. PROGRAMACION ENTERA MIXTA

donde α indica el numero maximo de nodos que puede visitar cada vehıculo.En nuestro caso α = n - m +1, ya que todos los vehıculos deben visitar al menosa un cliente. Por lo tanto, en una ruta como maximo puede haber n - m +1 nodos, si en las m - 1 rutas restantes solo se visita un unico nodo. En este caso, por elhecho de tener m rutas diversas, se pueden tener valores iguales de la variable uipara diferentes valores del ındice i. Este tipo de variables resultan imprescinblespara el desarrollo del problema de estudio, ya que es necesario establecer un ordenpara poder aproximar la variable que queremos minimizar

Las desigualdades construidas en (2) aseguran que ui ≤ 1 + uj iff xij = 1.

Estas restricciones tienen una serie de beneficios:

Pueden adaptarse a una gran variedad de problemas de enrutamiento.

Pueden combinarse con otras formulaciones.

Las restricciones que no se verifican son sencillas de identificar.

Introducen menos restricciones, en comparacion con la formulacion de DFJ.

3.3.3. Ejemplo grafico de implementacion de las SECs

Ahora se comprobara la necesidad de incorporacion de estas restricciones deeliminacion de subciclos. Para este proposito, se utilizaran los siguientes tiemposde viaje entre clientes, escogidos de forma arbitraria. Las distancias necesarias paradesplazarse desde el nodo i al i son infinitas, evitando de este modo la formacion deciclos dentro de un nodo. Se buscara el menor valor del tiempo de espera acumulado,haciendo que todos los nodos se visiten una unica vez, volviendo todos los vehıculosal punto de partida.

Tiempo de viajeDeposito cliente1 cliente2 cliente3 cliente4 cliente5∞ 8 4 10 2 17 ∞ 3 1 14 64 4 ∞ 8 9 29 1 7 ∞ 1 33 13 7 1 ∞ 43 2 4 8 3 ∞

En este caso, el numero de clientes que deben ser visitados es de cinco. Por lotanto, el parametro n=5. Esto da como resultado una matriz de 6x6, debido a lasuma del tiempo de viaje entre el deposito y cada uno de los clientes. Para visitar

20 Escuela Tecnica Superior de Ingenieros Industriales UPM

Page 35: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

Modelado del TRP y comparacion de tecnicas para su resolucion

a los diferentes clientes, se disponen de dos vehıculos (m=2), comenzando ambosen el nodo de origen.

Las rutas representadas en la Figura 6 representarıan una solucion al problemadel k-TRP, con x05 = x52 = x13 = x31 = x04 = 1, siendo el resto de las variablesxij iguales a cero. Sin embargo, se puede observar que aun teniedo el tiempo deespera mas bajo que se puede obtener, presenta un subcliclo entre los nodos 1 y 3.En este caso, ni la restriccion de DFJ ni la de MTZ se verififcan.

Para el caso de la SEC de DFJ , el conjunto de vertices S serıa igual a S={1,3}, siendo, |S| = 2.

x13 + x31 ≤ 2− 1 =⇒ 2 � 1

Esta desigualdad no se cumple, ya que x13 y x31 son iguales a 1. De esta manera,la restriccion obliga a que uno de los bordes desaparezca, vinculando el nodo a otroen las rutas que estan conectadas con el origen.

La solucion de la Figura 6 debe satisfacer tambien a las SEC de MTZ. Estarestriccion se caracteriza por la incorporacion de variables que representan el ordende visita de cada uno de los nodos, impidiendo la formacion de subtours medianteel establecimiento de contradicciones.

u1 − u3 + (α− 1)x13 ≤ (α− 2) =⇒ 1− 2 + (4− 1) ∗ 1 ≤ 4− 2

En este caso, se cumple la restriccion (2) (2 ≤ 2). Por otra parte, la restricciondebe ser comprobada tambien para el camino de 3 a 1.

u3 − u1 + (α− 1)x31 ≤ (α− 2) =⇒ 2− 1 + (4− 1) ∗ 1 ≤ 4− 2

En esta situacion, la restriccion no se satisface (4 � 2), por lo tanto, el arcoentre 3 y 1 no puede ser parte de la solucion.

Marıa de Guıa Ruiz Alamillos 21

Page 36: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

3. PROGRAMACION ENTERA MIXTA

Figura 6: Posible solucion para el k-TRP

Para este caso, el tiempo de espera total serıa de 11.Ahora se tratara de buscar diferentes rutas en las que todos los nodos esten

conectados al deposito. Primero se busca una ruta para cada uno de los vehıculosque satisfaga todas las limitaciones, intentando encontrar la que tenga el menorretraso total. Para ello elegiremos las distancias mas cortas a recorrer desde uncliente hasta el siguiente. Por lo tanto, a partir del origen, uno de los vehıculosvisitarıa el nodo 5 y el otro 4, ya que t04 y t05 son los valores mas bajos de lostiempos de viaje entre el deposito y los otros nodos. Desde 5, el reparador viaja a1, por la misma razon que se explico anteriormente. La distancia t51 es menor quecualquier otra distancia t5j ∀ j 6= 1. Desde 1, el vehıculo viaja a 2, y desde 4 a 3.Ası, x05 = x51 = x12 = x04 = x43 = 1, con el resto de las variables iguales a cero.

Es necesario verificar que las SEC tambien se verifiquen.

Figura 7: Posible solucion para el k-TRP sin subciclos

A cada uno de los clientes de las dos rutas se le asocian diferentes tiempos de

22 Escuela Tecnica Superior de Ingenieros Industriales UPM

Page 37: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

Modelado del TRP y comparacion de tecnicas para su resolucion

espera. Estos tiempos se representan en la parte inferior derecha de cada uno delos nodos de la Figura 5. Por lo tanto, podemos calcular el tiempo de espera totalacumulado, como la suma de los retardos para cada uno de los nodos siendo eltiempo total = 1 +3 + 6 + 2 + 3 = 15. El tiempo total de espera aumenta amedida que se eliminan los subtours.

Ambas formulaciones de esta modalidad de restricciones persiguien el mismoobjetivo, realizandolo de formas distintas. Como se ha podido observar, las res-tricciones de DFJ consiguen eliminar los subciclos por medio de la eliminacion deuno de los arcos presente en el. Sin embargo, MTZ previene de la formacion desubtours estableciendo una serie de contradicciones, generando restricciones conmenor fuerza.

Cada una de estas formulaciones presenta tanto ventajas como inconvenientes.DFJ introduce O (2n) restricciones, lo que da lugar a tiempos computacionalesmuy elevados, si bien, su introduccion puede realizarse de forma unitaria cadavez que se genera un subtour. Sin embargo, la introduccion de estas restriccionespor separado es mas compleja, especialmente para problemas de tamano medio-grande. En el caso de la formulacion de MTZ solo se incorporan O (n2) ecuaciones.Esta reduccion en el numero de restricciones se traduce en una disminucion deltiempo computacional necesario para encontrar las rutas optimas. Sin embargo,estas ultimas restricciones generan una relajacion mas debil. Esto puede explicarsecomparando los tamanos de los poliedros obtenidos al eliminar los requisitos de quelas variables sean enteras. Para ello definiremos el poliedro asociado al problemarelajado de DFJ como P (DFJ) y P (MTZ) al asociado a la formulacion de MTZ.

Ambas formulaciones se definen con diferentes conjuntos de variables. Parapoder comparar ambos poliedros, deben estar definidos en el mismo subespacio. Porlo tanto, P(MTZ) debe ser proyectado en el subespacio de las variables binarias,donde se define P(DFJ). El poliedro definido en por la proyeccion de P(MTZ) sedenominara P ∗ (MTZ). Padberg y Sung [20] expusieron en su trabajo que P(DFJ)P ∗ (MTZ). Por lo tanto, DFJ es, en este aspecto, una mejor formulacion que MTZ,debido a que el poliedro que genera es mas reducido. Por esta razon, P ∗(MTZ)no proporciona nueva informacion. Por lo tanto, el lımite inferior obtenido por larelajacion lineal de DFJ es igual o menor al de MTZ.

Por lo tanto, una vez conocidas sus caracterısticas y efectos sobre los poliedrosdefinicidos por las relajaciones de las progrmaciones matematicas, debemos com-probar la posibilidad de implementacion de ambos tipos restricciones en nuestrosproblema, analizando su efecto computacional. Para ello definiremos a continuacionla formulacion matematica que rige el problema del k-TRP.

3.3.4. Modelo matematico

La formulacion matematica del modelo, definido por las variables expuestasanteriormente, es la siguiente:

Marıa de Guıa Ruiz Alamillos 23

Page 38: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

3. PROGRAMACION ENTERA MIXTA

minz =n∑

i=1

pi (4)

s. t.

n∑j=1

x0j = m (5)

n∑i=1

xi0 = m (6)

n∑i=0

xij = 1 ∀j ∈ Vc (7)

n∑j=0

xij = 1 ∀i ∈ Vc (8)

pi − pj + tij + cj ≤ L(1− xij) ∀i, j ∈ Vc i 6= j (9)

xij ∈ 0, 1 ∀(i, j) ∈ E (10)

La funcion de objetivo (4) se disena para minimizar la suma del tiempo deespera de cada uno de los clientes visitados por los m vehıculos. La restriccion (5)asegura que todos los vehıculos parten del vertice 0, mientras que (6) garantizanque el reparador termina su ruta en el punto de partida.Sin embargo, el tiempo deviaje desde el ultimo cliente visitado al origen de partida no se contabiliza en elcalculo del retardo total. La ecuacion (7) asegura que el grado de cada vertice esuno, entendiendo el grado como el numero de arcos incidentes en un nodo. En elcaso de la restriccion (8) se establece que de cada uno de los nodos salga un unicoarco. (9) define la relacion exitente entre los tiempos de llegada a un cliente y a supredecesor , incluyendo un parametro L, que es una constante de gran tamano. Larestriccion (10) se refiere al requisito de integridad, definiendo las variables comobinarias, pudiendo tomar valor 0 o 1.

24 Escuela Tecnica Superior de Ingenieros Industriales UPM

Page 39: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

Modelado del TRP y comparacion de tecnicas para su resolucion

La restriccion (9) posee una estructura semejante a las SECs de MTZ , teniendola misma funcion que estas ultimas, la de prevencion de formacion de rutas queno se encuentren conectadas con el origen. Como se ha mencionado anteriormente,estas restricciones de eliminacion de subtours resultan de obligada incorporacion.Por lo tanto, se procedera a determinar cual de las formulaciones explicadas serala adecuada para cumplir dicha funcion.

Se requiere que estas restricciones esten compuestas por variables que puedanser integradas en la funcion objetivo. La funcion objetivo se centra en la minimi-zacion de los tiempos de espera totales, siendo el tiempo de espera la suma deltiempo de espera del cliente anterior en la ruta mas el tiempo de viaje desde dichocliente hasta el nodo actual. Por consiguiente, sera necesario el empleo de varia-bles que permitan establecer de cierta forma el orden de visita de cada uno de losnodos en las diferentes subrutas que conforman el problema. Este hecho permitela aplicacion directa de las restricciones de MTZ al problema del k- TRP, ya quelas variables continuas que lo integran, definidas como ui instauran un orden en loscaminos de cada uno de los vehıculos.

Sin embargo, en el caso de las restricciones de DFJ no ocurre lo mismo. Suadaptacion a los distintos problemas de enrutamiento resulta sencilla, si bien , suprocedimiento de eliminacion de subciclos no permite su aplicacion en todos ellos.Independientemente de este hecho, guiados por las conclusiones extraidas de laliteratura acerca de esta tipologıa de restricciones, donde se expone la necesidadde incorporacion de SECs adicionales a las de MTZ para instancias elevadas. Poreste motivo, se han realizado las comprobaciones pertinentes desarrollando un mo-delo en AIMMS. Para ello, se ha creado un modelo de programacion en el que laintroduccion de las SECs de DFJ se realiza unicamente cuando es necesaria. Estopermite comprobar de forma mas fiable cuando son requeridas. De la simulacionse ha podido comprobar que estas restricciones resultan redundantes, a excepcionde un caso aislado. Esta singularidad se dio en la instancia en la que el numerode clientes a visitar era de 35 disponiendo de 12 vehıculos. Esta irregularidad seinterpreta como un caso aislado, concluyendo de este modo que la incorporacion delas desigualdades de DFJ no ofrecen ninguna ventaja en la resolucion del problema.

Sin embargo, si el objetivo no implicase el calculo de variables acumuladas, sique resulterıa ventajosa la incorporacion de esta formulacion en lugar de emplearla de MTZ. Por ejemplo, si el objetivo fuese el calculo del tiempo total de viaje, laformulacion resultarıa mas sencilla. Se tendrıa una funcion objetivo de la forma:

min z=∑n

i=1 xijtij donde la restriccion (9) no serıa necesaria.

3.3.5. Implementacion

Todo software de optimizacion consta de dos componentes principales, el mo-delador y el solver. El primero de estos elementos permite la implementacion delmodelo de optimizacion mediante el uso de un determinado lenguaje de modela-do, mientras que el solver se encarga de obtener las soluciones optimas para laformulacion, facilitando la toma de decisiones.

Marıa de Guıa Ruiz Alamillos 25

Page 40: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

3. PROGRAMACION ENTERA MIXTA

Las principales alternativas disponibles para el desarrollo de modelos de opti-mizacion son:

Lenguajes de programacion de proposito general, como pueden ser C,C++, FORTRAN, Java o Visual Basic, cuyos procedimientos, instrucciones y es-tructuras de datos estan disenados para resolver todo tipo de problemas. El empleode estos lenguajes resulta util en los casos en los que se requieren interfaces a medi-da para la entrada de datos o salida de resultados o cuando el modelo tiene que serintegrado en otra aplicacion. Adicionalmente, permiten la implantacion del modeloen un entorno software o hardware especial. Sin embargo, requieren un tiempo dedesarrollo elevado.

Lenguajes o entornos de calculo numerico o simbolico, como Matlab olas hojas de calculo. En el caso de las hojas de calculo, su alto grado de difusionpermite que sus optimizadores resulten un vehıculo eficaz de difusion de un modeloentre los usuarios, facilitando el manejo de los datos con dicho formato. Entre susventajas principales destacan su facilidad de uso y facilidad de presentacion de losdatos en graficos y elementos visuales. Por el contrario, no permite el modelajede formulaciones complejas, presentando dificultad para su desarrollo, verificaciony validacion. Los lenguajes de calculo numerico y simbolico no son caracterısticosde problemas de optimizacion, sin embargo, facilitan la manipulacion numerica ysimbolica de vectores y matrices.

Lenguajes algebraicos de modelado (AIMMS, AMPL,MPL y GAMS).Representan las alternativas mas potentes, permitiendo la expresion del modelocon una sintaxis cercana a la propia especificacion matematica. Presentan unaserie de ventajas que los hacen mas atractivos para el desarrollo de modelos deoptimizacion, como pueden ser:

Modelo independiente de optimizadores

Facilitan la reformulacion continua

Separan datos de estructura de optimizadores

Permiten la implantacion de algoritmos avanzados

Por el contrario, no resultan adecuados para la resolucion de problemas de grantamano.

Para la comprobacion de la eficiencia de la formulacion matematica, se ha esco-gido para la implementacion del modelo el software AIMMS (Advanced IntegratedMultidimensional Modeling Software), por su potencia a lo que se le suma la dis-ponibilidad de licencias completas de dicho programa en la escuela. AIMMS es unsoftware analıtico empleado para el modelado de problemas matematicos en losque se persigue encontrar una solucion optima, pudiendo ser empleados en camposmuy diversos. Una de las ventajas caracterısticas de este sistema es la incorpora-cion de herramientas que permiten desarrollar un ambiente grafico que respalde los

26 Escuela Tecnica Superior de Ingenieros Industriales UPM

Page 41: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

Modelado del TRP y comparacion de tecnicas para su resolucion

modelos complejos, facilitando al usuario su uso e interpretacion de los resultados.Este lenguaje permite expresar el modelo de forma semejante a las restriccionesmatematicas que lo definen. Permite del mismo modo, el desarrollo de modelos querequieren un elevado numero de variables. Sus componentes son el Model Explorer,que permite crear todo el entorno, la interfaz grafica, ofreciendo una representacionvisual del modelo y sus variables, y por ultimo el solver. La funcion de esta ultimaherramienta es la resolucion del modelo desarrollado, buscandose la mejor solucionpara las especificaciones impuestas. Los solvers que soportan AIMMS son muy di-versos, teniendo once variantes para distintos tipos de modelos matematicos. Parael desarrollo del modelo de k-TRP se empleara el CPLEX 12.7, ya que tiene unrendimiento elevado para la resolucion de problemas de programacion entera mixta(MIP). Este solver emplea algoritmos de Branch & Bound combinado con otrasherramientas como el metodo de los planos de corte u otros metodos heurısticos.

El modelo posee una declaracion principal, donde se agrupan los identificadores,parametros caracterısticos del problema, restricciones y variables.Adicionalmente,se tiene el modelo matematico, definido con el sımbolo Mp, el cual sera minimi-zado. Al margen de la declaracion se tienen los procedimientos MainInitialization,MainExecution y MainTermination que poseen entidad propie, siendo en MainE-xecution donde se formula la funcion objetivo.

En las figuras siguientes se muestra la composicion de la declaracion principalde AIMMS, y la estructura de la declaracion de la funcion objetivo, donde se fijaun lımite para el tiempo computacional de 3.600 segundos.

Marıa de Guıa Ruiz Alamillos 27

Page 42: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

3. PROGRAMACION ENTERA MIXTA

Figura 8: Declaracion principal del modelo de AIMMS

Figura 9: Declaracion de la funcion objetivo

28 Escuela Tecnica Superior de Ingenieros Industriales UPM

Page 43: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

Modelado del TRP y comparacion de tecnicas para su resolucion

Se puede observar en la Figura 8 que en la estructura del problema se incorporantanto las variables pi como ui. Sin embargo, no se realizan simulaciones empleandoambas al mismo tiempo, ya que darıa lugar a un aumento en los tiempos compu-tacionales debido al incremento del numero de variables, teniendo ambas la mismafuncion. Se han realizado simulaciones con ambos tipos de restricciones, (2)(3) y(9), por separado, comprobando que los resultados obtenidos son muy parecidos,presentando ligeras variaciones que resultan insignificantes.

Marıa de Guıa Ruiz Alamillos 29

Page 44: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

3. PROGRAMACION ENTERA MIXTA

30 Escuela Tecnica Superior de Ingenieros Industriales UPM

Page 45: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

Modelado del TRP y comparacion de tecnicas para su resolucion

4. Programacion con restricciones

La Programacion con Restricciones (PR) es una tecnica emergente para la des-cripcion declarativa y resolucion de problemas de optimizacion combinatoria difıci-les, ası como muchos problemas de la vida real. La PR se basa principalmente enla factibilidad y se focaliza en la resolucion de problemas centrandose en la satis-faccion de las restricciones. Se describe como un problema de dos etapas: definiciondel problema y modelizacion, donde se desarrolla una representacion del problemaa traves del uso de variables y restricciones.

Los orıgenes de la PR se remontan a la investigacion en el campo de la informati-ca grafica, donde se desarrollo el denominado SketchPad (Sutherland 1963). Estatecnologıa fue pionera en el terreno de la interaccion hombre-computadora, al in-troducir el concepto de descripcion de un programa informatico como una red derestricciones conectadas. El desarrollo de la PR continuo con el estudio de distin-tos aspectos en el terreno de la inteligencia artificial (Montanary, 1974) (Waltz,1975)[21]. Waltz estudio el problema del Etiquetado de Escenas (Scene Labeling),siendo el primer problema de satisfaccion de restricciones(constraint satisfactionproblem) que se formalizo. Este problema fue una simplificacion del problema dela vision, en virtud del cual, mediante la representacion visual del mundo fısico, setrataron de deducir algunos hechos del mismo. Las suposiciones que se han de hacerpara simplificar el resultado son: considerar cada vertice como triedrico, suponerque la superficie no contiene grietas y prestar menos atencion a las sombras e ilu-minaciones. El objetivo del subproblema de Etiquetado de Escenas es comprenderla apariencia de los objetos tridimensionales mediante la interpretacion de dibujoslineales bidimensionales. Por esta razon, los bordes se etiquetan y se separan endiferentes grupos: convexos (+), concavos (-) y bordes de lımites (¡). El objetivodel problema es encontrar las etiquetas para cada borde, de modo que todos losbordes deban tener la misma etiqueta en ambos lados.

Figura 10: Etiquetado de Escenas[21]

Marıa de Guıa Ruiz Alamillos 31

Page 46: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

4. PROGRAMACION CON RESTRICCIONES

Los problemas que pueden formularse en terminos de leyes o requisitos puedenresolverse mejor mediante la programacion con restricciones. La programacion conrestricciones ya se ha aplicado con exito en numerosos campos, ya que utiliza unlenguaje de programacion claro que hace que se asemeje al problema real. Se incluyeen:

Inteligencia Artificial (IA);

problemas de investigacion operativa (problemas de optimizacion, tıpicamen-te problemas de planificacion);

sistemas graficos (diseno geometrico, herramientas de interfaz de usuario osimulaciones graficas);

biologıa y bioinformatica (cadena de ADN, genomica, bioinformatica estruc-tural);

ingenierıa electrica (localizacion de fallos en los circuitos, calculo de la dispo-sicion de los circuitos, comprobacion y verificacion del diseno);

sistemas de bases de datos (asegurar y/o restaurar la consistencia de losdatos); y

procesamiento de lenguaje natural.

Actualmente, esta metodologıa es empleada por numerosas empresas. El Ae-ropuerto Internacional de Hong Kong (AIHK) emplea una aplicacion denominadaSAS para la asignacion de lugares de aparcamiento para las aeronaves y para pro-gramar el movimiento de camiones considerando restricciones operacionales y denegocio.

Esta herramienta se encuetra tambien presente en uno de los lugares con ma-yor movimiento de contenedores: el puerto de Singapur. La asignacion de muellesfue resuelta mediante el desarrollo de sistema de planificacion de asignacion demuelles basado en programacion con restricciones. Otras companıas del sector au-tomovilıstico (Ford, Michelin o Peugeot), o del sector de la electronica o de lastelecomunicaciones (esto es, IBM, Philips, Bosch, Siemens o Motorola, Telecom yNokia) son tambien usuarios de herramientas basadas en restricciones.

La PR se puede dividir en dos ramas claramente diferenciadas: el problemasatisfaccion de las restricciones y el de resolucion de restricciones. Ambos compartenla misma terminologıa, pero sus origines y las tecnicas de resolucion son diferentes.Los problemas de satisfaccion de restricciones lidian con problemas con dominiosfinitos, mientras que los problemas resolucion de restricciones estan orientados aproblemas con dominios infinitos o con dominios mas complejos.

32 Escuela Tecnica Superior de Ingenieros Industriales UPM

Page 47: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

Modelado del TRP y comparacion de tecnicas para su resolucion

4.1. Problemas de satisfaccion de restricciones

Los Problemas de Satisfaccion de Restricciones o PSR estan constituidos porun conjunto finito de variables X1, ..., Xn con sus respectivos dominios, D1, ..., Dn,tambien restringidos a un rango finito de valores posibles. Adicionalmente, se tieneun conjunto de restricciones R. El termino restriccion resulta de gran importan-tancia en estos problemas. Las restricciones se defininen como las relaciones logicasentre la variables de decision X1, ..., Xn, restringiendo los posibles valores que estaspuedan tomar.

Los objetivos de estos son diversos, pudiendo ser:

la obtencion de una unica solucion consistente

encontrar todos los posibles valores de las variables que verifiquen las restric-ciones

encontrar una solucion optima, o al menos una buena, basada en un objetivodeterminado. Este tipo de problemas se denominan Problemas de Optimiza-cion de Restricciones (POR).

4.1.1. Ejemplos de los PSR

La PR tiene una naturaleza interdisciplinaria, combinando y explicando ideas dediferentes campos. Hay algunos ejemplos de estos problemas que permiten ilustraresta diversidad en las areas de aplicacion.

n-Reinas

Este es probablemente el PSR mas conocido. El problema se basa en ubicarn Reinas en las distintas casillas de un tablero de ajedrez n x n, donde n ≥ 3,en el sentido de que algunas restricciones se han cumplido. No hay dos reinas quepuedan amenazarse entre sı, esto significa no puede haber dos reinas en la mismacolumna, fila o diagonal. La Figura 11 muestra un solucion al problema n=6.

Marıa de Guıa Ruiz Alamillos 33

Page 48: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

4. PROGRAMACION CON RESTRICCIONES

Figura 11: Problema de las n-Reinas con un tablero 6X6[22]

Sudoku

Otra aplicacion del paradigma PR esta relacionada con su uso para el modeladoy resolucion del conocido rompecabezas Sudoku. El objetivo principal del Sudokues completar una cuadrıcula de 9 X 9 dividida en sub cuadrıculas de 3 X 3 connumeros del 1 al 9, partiendo de algunos numeros ya colocados en algunas de lasceldas. Esto debe hacerse siguiendo un conjunto de restricciones, restringiendose laaparicion del mismo numero en una fila, columna y dentro de su subcuadrıcula de3 X 3.

Desde el punto de vista de PR, podemos utilizar restricciones del tipo alldif-ferent, que se explicaran mas adelante. Desde el punto de vista del modelado, elproblema del Sudoku es analogo al de las n-Reinas, pero incluye algunas especifi-caciones diferentes.

Criptoaritmetica

Forma parte de los llamados juego matematico en el que se dan letras delalfabeto en lugar de numeros. El objetivo del problema es asignar un valor de unsolo dıgito a las diferentes letras para satisfacer las restricciones. He aquı un ejemplotıpico de este tipo de problemas:

• El problema de Send More Money consiste en encontrar diferentes valoresnumericos (cuyo dominio abarca los valores del 0 al 9) para las letras S, E, N, D,M, O, R, Y de tal manera que la S y M sean diferentes de cero y se satisfaga laecuacion SEND + MORE = MONEY. La restriccion anterior puede reescribirsecomo una restriccion aritmetica

34 Escuela Tecnica Superior de Ingenieros Industriales UPM

Page 49: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

Modelado del TRP y comparacion de tecnicas para su resolucion

1000 ∗ S + 100 ∗ E + 10 ∗N +D

+1000 ∗M + 100 ∗O + 10 ∗R + E

= 10000 ∗M + 1000 ∗O + 100 ∗N + 10 ∗ E + Y

Coloracion de grafos

Este ejemplo es un caso especial del etiquetado de graficos. El problema decoloracion de mapas es un problema clasico que puede ser formulado como unPSR. En este problema, se dispone de un conjunto de colores siendo el propositodel algoritmo la asignacion de un color a cada region del mapa, de tal maneraque las regiones adyacentes tengan colores diferentes. En la formulacion del PSR,hay una variable para cada region del mapa, y el dominio de cada variable es elconjunto de colores disponibles.

La Figura 12 muestra el ejemplo del problema de coloracion de mapas. Cuatroregiones x,y,z,w son seleccionadas para ser coloreadas. Cada region de la figura dela izquierda corresponde a una de las variables del grafico. Si se establece que cadaregion puede ser coloreada con uno de los tres colores, verde (G), rojo (R) y azul(B), entonces cada variable en la red tiene tres posibles valores de dominio R,G,B.

Figura 12: Problema de coloracion de grafos[23]

En la representacion grafica, las variables correspondientes a las regiones ad-yacentes son conectadas por un arco, teniendo el mismo numero de restriccionescomo posibles arcos en la red.

Marıa de Guıa Ruiz Alamillos 35

Page 50: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

4. PROGRAMACION CON RESTRICCIONES

4.2. Tecnicas de resolucion

Para la resolucion de los PSR se desarrollan diversas tecnicas. El metodo maseficaz reside en la combinacion de estas tecnicas aisladas. Este procedimiento sebasa en la reduccion del dominio de las variables, haciendo de la asignacion devalores un proceso mas rapido y eficiente. Esto se logra mediante la aplicacion detecnicas de propagacion de restricciones, que persiguen alcanzar algun tipo de con-sistencia local. De hecho, la propagacion es el mecanismo que llama a los algoritmosde filtrado, los cuales son los realmente encargados de eliminar los valores que soninconsistentes, definiendo un valor inconsistente como aquel que no satisface algunade las restricciones de la formulacion.

La busqueda de una solucion a un PSR se realiza dividiendo el problema ensubproblemas mas pequenos. Este fenomeno conduce a lo que se conoce comoarbol de busqueda. Inicialmente se tiene un problema P , el cual debe dividirse endos subproblemas y ası sucesivamente. Por lo tanto, la union de los conjuntos desoluciones de los diferentes Pn es igual al conjunto de soluciones de P . En estecaso, se emplean las tecnicas de propagacion para reducir el tamano del arbol debusqueda. Cuando un valor del dominio de una variable presente en una restriccionse suprime, esta eliminacion se propaga a traves de todas las restricciones quecontengan dicha variable.

Antes de comenzar el analisis, se deben aclarar algunos terminos. Considerar elPSR P :

Una restriccion unitaria es aquella restriccion de P que contiene una unicavariable

Una restriccion binaria involucra un par de variables

La instanciacion es una asignacion de un valor de su dominio a cada variable

La consistencia local se logra cuando una instanciacion parcial de variablessatisface las restricciones en un subconjunto de P . Por lo tanto, podemosdescribir la consistencua local como la instanciacion de algunas de las varia-bles que satisfacen las restricciones pero no pueden extenderse a una o masvariables adicionales.

Un PSR globalmente consistente es aquel en el que cualquier instanciacionparcial, localmente consistente, puede ser extendida a una instanciacion com-pleta tambien consistente.

4.2.1. Nociones de consistencia local

Se definiran diferentes nociones de consistencia local,comenzando con la massimple, la consistencia de nodo.

36 Escuela Tecnica Superior de Ingenieros Industriales UPM

Page 51: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

Modelado del TRP y comparacion de tecnicas para su resolucion

Consistencia de nodo

Se ocupa de las desigualdades unitarias. Requiere que, por cada valor del domi-nio de la variable x, las restricciones unitarias se cumplan. Por ejemplo, dada unavariable x con dominio Dx ={5,6,7,8,9} , si la restriccion unitaria que involucra ax es x≤8, la consistencia de nodo implicarıa una reduccion en el dominio, siendoel dominio reducido D′x ={5,6,7,8} .Cabe destacar que, la consistencia de nodo noimpone ninguna condicion a aquellas restricciones que no sean unitarias.

Consistencia de arco

Otra nocion de consistencia local es la consistencia de arco (arc consistency).En este caso, una variable x es arco-consistente con una variable y, si por cadavalor de Dx existe un valor de Dy que satisface la restriccion binaria que establecela relacion entre ellas. A continuacion se expondra una definicion mas precisa:

Considerando dos variables x e y con dominios Dx y Dy y una restriccion binariaR donde R ⊆ Dx X Dy. R es arco- consistente si:

∀ a ∈ Dx ∃ b ∈ Dy (a,b) ∈ R.

Un PSR es arco-consistente si, y solo si, todas sus restricciones binarias sonarco-consistentes.

Ejemplo: [24] Considerando el problema P con una restriccion binaria x < y,siendo x e y variables de decision con dominios Dx=[3,.....,12] y Dy=[5,...,8].

De acuerdo con la definicion anterior, el problema P no serıa arco-consistente,ya que no es posible encontrar ningun valor de y para x =10 que satisfaga larestriccion. Por lo tanto, para que la restriccion sea arco-consistente, es necesarioreducir el dominio de la variable x a Dx=[3,...,7].

Hiper arco-consistencia

Este termino es una extension de la consistencia de arco para restricciones nobinarias.

Considerando un conjunto de variables x1, ...., xn con dominios D1, ..., Dn y unarestriccion R donde R ⊆ D1.X...XDn. R es hiper arco-consistente si:

∀ i ∈ [1,...,n] y a ∈ Di | ∃ d ∈ R a = d[xi]. Por lo tanto, R es hiper-arcoconsistente si para cada elemento del dominio participa en una solucion.

Un PSR es hiper arco-consistente si todas las restricciones son hiper arco-consistentes.

Marıa de Guıa Ruiz Alamillos 37

Page 52: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

4. PROGRAMACION CON RESTRICCIONES

Consistencia del arco direccional

La consistencia del arco tiene una naturaleza direccional. En este caso, se tomaen consideracion el concepto de ordenacion lineal� en las variables de la restriccion.

Se considera una restriccion R formada por las variables x e y. R se denominaraarcodireccional consistente si se cumple una de estas condiciones:

∀ a ∈ Dx ∃ b ∈ Dy (a,b) ∈ R tal que x � y.

∀ b ∈ Dy ∃ a ∈ Dx (a,b) ∈ R tal que y � x.

Un PSR posee consistencia arcodireccional si todas sus restricciones binariasposeen consistencia arco direccional.

Ejemplo: Considerando el PSR con una restriccion R: x < y, siendo x e yvariables con dominios Dx=[3,....,9] y Dy=[5,....,8]. Esta restriccion sera direccio-nalmente consistente para y � x, ya que, por cada y existe un valor de x quesatisface la restriccion. Este no es el caso de x � y, ya que para x=8 o x=9 R nose verifica.

Consistencia del camino

Esta tipologıa de consistencia local incluye dos restricciones. Por contraste, losque se han explicado anteriormente se limitan a una unica restriccion.

Un PSR normalizado posee consistencia de camino (path consistency), si porcada subconjunto de variables x y z se verifica la siguiente relacion:

Rx,z ⊆ Rx,y · Ry,z1

Esto es,para los valores (a,c) ∈ Rx,z existe un valor b ∈ Dy tal que (a,b) ∈ Rx,y

y (b,c) ∈ Ry,z. La expresion puede generalizarse por la indiferencia del orden de lasvariables del subconjunto, por lo que tambien tenemos:

Rx,y ⊆ Rx,z · Rz,y

Rx,z ⊆ Rx,y · Ry,z

Ry,z ⊆ Ry,x · Rx,z

y las expresiones con inverso orden en los ındices.

Ejemplo:[24]Se considera el PSR normalizadox < y, y < z, x < z con x ∈ [0,..,4], y ∈ [1,..,5] and z ∈ [6,..,10]Estas limitaciones poseen consistencia de camino. Por cada par de valores (a,b)

en Rx,y existe un valor c ∈[6,....,10] de z que satisface un < b,b < c y a < c.

1La composicion de F y G esF · G = (a,b) | ∃ c ((a,c) ∈ F, (c,b) ∈ G)

38 Escuela Tecnica Superior de Ingenieros Industriales UPM

Page 53: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

Modelado del TRP y comparacion de tecnicas para su resolucion

k-consistencia

k-consistencia es una nocion de consistencia local que abarca todas las ante-riores. Generaliza las nociones de consistencia de nodo (1-consistente), arco (2-consistentes) y trayectoria o camino (3-consistentes).

Un PSR se define como k-consistente si para cada variable elegida todas las (k-1)instanciaciones consistentes pueden ser extendidas a asignaciones k-consistentes.

4.3. Algoritmos de busqueda

La principal herramienta para la resolucion de problemas de satisfaccion derestricciones son los algoritmos de busqueda. Los algoritmos de busqueda puedenser incompletos, tambien denominados no sistematicos,los cuales no garantizan unasolucion o respuesta optima, debido a que la busqueda se realiza sobre una seccionde la totalidad del espacio de estados. De esta forma, los algoritmos sistematicoso completos son aquellos que garantizan que se encontrara una solucion, si es queexiste.

En la siguiente seccion se discutiran algunos de los algoritmos de busqueda masutilizados.

Generacion y prueba

El metodo de generacion y prueba resulta un algorıtmo basico e ineficiente. Segeneran cada una de las posibles asignaciones de las variables, probandose cadauna de ellas con el fin de verificar si se cumplen todas las restricciones para dichosvalores. La primera asignacion que resulte consistente, se establece como solucion.Por lo tanto, no se asegura la obtencion de una solucion optima. El numero deasignaciones generadas puede llegar a alcanzar el valor del producto cartesiano deldominio de todas las variables.

Backtracking

Este metodo forma parte de lo que se conoce como metodos de arboles debusqueda . En ellos, el espacio de busqueda se expresa como un arbol,que representacada una de las posibles asignaciones realizables, ya sea de la totalidad de lasvariables (nodos hojas), o de una parte de ellas (nodos intermedios), ademas elnodo raız es aquel que representa el problema sin variables instanciadas. Todos estosnodos representan opciones mutuamente excluyentes. Este metodo de busqueda esel algoritmo mas comun para realizar una busqueda sistematica y resulta mas eficazque el algorıtmo de generacion y prueba.

La busqueda comienza con todas las variables sin asignar. Se debe elegir unnodo e instanciar la variable correspondiente con un valor de su dominio (etiqueta-

Marıa de Guıa Ruiz Alamillos 39

Page 54: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

4. PROGRAMACION CON RESTRICCIONES

do), descartando los valores restantes. A continuacion, con la ayuda de las tecnicasde consistencia, se debe verificar la consistencia de todas las restricciones que invo-lucran dicha variables. Si alguna de las soluciones parciales violan las restriccionesdel problema, el retroceso (backtracking) se realiza hasta la variable cuyo valorhaya sido asignado mas recientemente y que disponga de valores alternativos ensu dominio. Estos algoritmos son, en general, ejemplos de algoritmos sistematicoso completos. Por lo tanto, pueden emplearse para demostrar que el PSR no tienesolucion.

El chronological backtracking retrocede hasta la ultima variable instanciada quetiene valores de dominio que no han sido probados y modifica su valor cuando sedetecta una inconsistencia. Con este algoritmo, al probar un valor de la variableactual, es decir,la que esta siendo instanciada, se compureban todas las restriccionesque incluyen solo la variable actual y las variables instanciadas previamente. Si unarestriccion incluye la variable actual y al menos una de las variables a las que nose les ha asignado un valor, no se comprobara hasta que todas las variables futurasque constituyen la restriccion reciban un valor.

Este metodo presenta tres limitaciones:

Es redundante. No se recuerdan los valores de las variables conflictivas enel momento de la resolucion. De este modo, se pueden repetir las mismasasignaciones que conducen a una solucion erronea, aumentando el tiempocomputacional durante la resolucion del problema.

Deteccion tardıa de los conflictos. Este problema se puede evitar aplicandotecnicas de consistencia para avanzar en la comprobacion de los posiblesconflictos, reduciendo el tiempo de resolucion.

Thrashing (Gaschnig, 1979), la busqueda se repite debido al redescubrimientode las mismas inconsistencias y los mismos resultados parciales durante labusqueda.

Existen diferentes procedimientos para mejorar el poder de poda del backtrac-king, reduciendo el fenomeno de trashing. Se pueden clasificar en mecanismos delook-back, cuando el algoritmo retrocede tras la identificacion de un punto muertoo mediante mecanismos look-ahead, siempre que el algoritmo se este preparandopara asignar un valor a la siguiente variable.

En el conjunto de procedimientos de look-back se encuentra el metodo de Back-jumping. Este procedimiento fue propuesto por Gachnig y consiste en el analisis delas causas del punto muerto, por lo que el algoritmo puede volver directamente alpunto de fallo, evitando ası puntos de retroceso innecesarios.

Las tecnicas de look-ahead combinan procesos backtracking y propagacion derestricciones para evitar llegar a puntos muertos. Para ello, cuando se le asigna unvalor a una variable, se eliminan los valores incosistentes con dicha asignacion delos dominios de las variables que aun no han sido estudiadas. Esta eliminacion devalores es temporal, ya que la asignacio parcial puede llegar a resultar inconsistente

40 Escuela Tecnica Superior de Ingenieros Industriales UPM

Page 55: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

Modelado del TRP y comparacion de tecnicas para su resolucion

a lo largo de la instanciacion de las variables futuras debido al backtracking. Porejemplo, si se eliminan todos los valores del dominio de una variable a la que no sele ha asignado aun ningun valor, el algoritmo debe retroceder.

Figura 13: Diagrama de flujo del proceso de resolucion de un PSR[26]

4.4. Modelo de programacion de restricciones para el k-TRP

En este apartado se desarrolla el modelo del k-TRP empleando la programacionde restricciones, explicandose las distintas restricciones, destacando aquellas em-

Marıa de Guıa Ruiz Alamillos 41

Page 56: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

4. PROGRAMACION CON RESTRICCIONES

pleadas para la eliminacion de las rutas no conectadas con el origen. Mas adelantese aplicara la formulacion a un ejemplo numerico sencillo.

Para la la formulacion del modelo se utilizara el lenguaje de modelado MiniZinc[27].MiniZinc es un lenguaje de modelado de restricciones simple pero expresivo, quepuede ser usado para describir diversos problemas de PR. Una de las principa-les caracterısticas de este lenguaje es su independencia del solver, convirtiendoloen un lenguaje compatible con una amplia variedad de programas de resolucionmatematica. Actualmente, esta respaldado por solvers de programacion de restric-ciones entre los que se incluyen Eclipse[28], Gecode[29] y Sicstus Prolog[30], quepueden ejecutar MiniZinc.

Otras caracterısticas destacables de MiniZinc son: el sistema de comentariosque incorpora, que permite a los usuarios anadir informacion adicional al codigo,facilitando ası el trabajo de los programadores; tambien incluye una biblioteca quecontiene todas las restricciones globales y funciones incorporadas, acompanadas deuna aclaracion de todos los terminos y mas recursos, como por ejemplo modelos dereferencia para la orientacion del modelador. Ademas, tiene otro aspecto ventajoso,la capacidad de separar los datos del modelo, permitiendo que el mismo modelo sepueda ejecutar facilmente con diferentes archivos de datos.

Para resolver el problema representado por las variables y restricciones, Minizincse traduce a FlatZinc. FlatZinc es un lenguaje de entrada al solver, que proporcionauna traduccion facil al lenguaje esperado por los mismos.

4.4.1. Modelo en MiniZinc

Conceptualmente, un problema de MiniZinc presenta dos partes:

1. El modelo, que describe la estructura de una categorıa particular de proble-mas.

2. Los datos, que describen el problema especıfico de la categorıa de problemas.

En primer lugar, se introducira el cuerpo principal del modelo:

1 in c lude ” a l l d i f f e r e n t . mzn” ;2 in c lude ” c i r c u i t . mzn” ;

Las dos primeras lıneas incluyen las librerıas estandar de MiniZinc. La librerıaalldifferent.mzn define todas las restricciones globales tales como las alldifferentincorporadas en la lınea 53. La segunda librerıa permite implementar las funcionesque se encargaran del proceso de eliminacion de subrutas.

42 Escuela Tecnica Superior de Ingenieros Industriales UPM

Page 57: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

Modelado del TRP y comparacion de tecnicas para su resolucion

3 i n t : n ; % number o f nodes4 i n t : v ; % number o f repairmen5 s e t o f i n t : VEHICLE =1. . v ; % s e t o f repairmen6 s e t o f i n t : custom =1. .n ; % s e t o f customers7 s e t o f i n t : nodes =1. . n+2∗v ; % s e t o f nodes

i n c l u d i n g depot nodes8 s e t o f i n t : nStart=n+1. .n+v ; % s e t o f s t a r t nodes9 s e t o f i n t : nEnd= n+v +1. .n+2∗v ; % s e t o f end nodes

Las lıneas 3 y 4 incluyen la declaracion del numero de nodos que deben visitarsey los vehıculos disponibles para las diferentes rutas. En este caso, se definen con elidentificador int, representando su caracter entero. Se les atribuye un valor medianteuna asignacion por parte del usuario durante la fase de ejecucion. A un parametrosolo se le puede dar un valor individual. Por lo tanto, es un error que un parametrose instancie mas de una vez.

Para el desarrollo del modelo, se introduciran depositos ficticios. Esto es prin-cipalmente para simplificar el modelo, aunque la adicion de variables adicionalespuede realemtizar la resolucion. Cada uno de estos depositos ficticios representa unnodo de inicio y final para cada una de las rutas de vehıculos, lo que permite eldesarrollo de v rutas independientes , dando lugar a un problema con 2*v nodosadicionales. Por lo tanto, el modelo completo tendra n+2*v nodos. Fundamental-mente, todos estos nodos ficticios se refieren al origen donde comienzan sus rutastodos los reparadores en el problema real. Con los nuevos nodos establecemos losdiferentes conjuntos, teniendo uno que incluye todos los nodos y dos diferentes paralos subconjuntos de nodos de inicio y final.

10 array [ 1 . . n +1 ,1 . . n+1] o f i n t : time ;

11 array [ nodes , nodes ] o f i n t : t=array2d ( nodes , nodes , [12 i f i<= n /\ j<=n % both r e a l nodes13 then time [ i +1, j +1]14 e l s e i f i>n /\ j<=n % depot−customer14 then time [ 1 , j +1]16 e l s e i f i<=n /\ j>n % customer−depot17 then time [ i +1 ,1]18 e l s e time [ 1 , 1 ] % depot−depot

19 e n d i f20 | i , j in nodes ] ) ;

El k-TRP con n ciudades se caracteriza por una matriz de dimensiones n+ 1×n+1 Time = {timeij} donde cada timeij representa el tiempo necesario para viajarde i a j. Esta matriz de tiempo incluye tambien el tiempo de viaje desde el origen

Marıa de Guıa Ruiz Alamillos 43

Page 58: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

4. PROGRAMACION CON RESTRICCIONES

hasta cada uno de los clientes. Para el desarrollo del modelo es necesario realizaruna adaptacion de dicha matriz, creando una nueva T = {tij} con dimensionesn + 2 ∗ v × n + 2 ∗ v, la cual incluye los nodos ficticios anadidos. Ambas matricessatisfacen la condicion {aij} 6= {aji}. Esto es debido al caracter asimetrico delproblema de estudio.

Para el procedimiento de ajuste se hara uso de la expresion condicional if . Enprimer lugar, es necesario distinguir entre el cliente y los nodos ficticios. Interpre-tando i como el nodo predecesor y j como el que viene despues en cada una de lasrutas, si el predecesor proviene de uno de los nodos ficticios y el sucesor es partedel conjunto de clientes, el valor de tij se toma de la primera fila de Time, quealude al tiempo de viaje desde el origen a un cliente determinado.En el caso de queel sucesor forme parte de los nodos de los conjuntos nStart o nEnd, el valor de tijse toma de la primera columna de la matriz Time, que representa, como en el casoanterior, el tiempo de viaje entre el cliente i y el deposito. Tenemos que tratarlocomo una situacion aislada porque como se explica en el parrafo anterior el tiempode viaje del nodo i a j no es el mismo que el del nodo j a i.

21 %− − − − −VARIABLES− − − − −22 i n t : timeBudget = sum ( i in 1 . . n+1)(max ( [ time [ i , j ] | j in 1 . . n+1]) ) ;

23 s e t o f i n t :TIME=0. . timeBudget ;

24 array [ nodes ] o f var VEHICLE : v e h i c l e ;%v e h i c l e that v i s i t s each node

25 array [ nodes ] o f var TIME: arr iva lTime ;% time at which the v e h i c l e s e rv ing i node a r r i v e s at i t

26 array [ nodes ] o f var nodes : succ ; %s u c c e s s o r27 var i n t : l a t ency ;

En estas lıneas de codigo agrupan la declaracion de las variables de decisionque permiten establecer el orden de visita y la suma de los tiempos de espera. Alprincipio, los valores de las variables de decision son desconocidos y es solo cuandose ejecuta el modelo que el solver determina si existe un valor para estas variablesque satisfaga las restricciones del modelo y, de ser ası, que valor es. Para cada unade las variables necesitamos establecer el conjunto de valores posibles que puedentomar, es decir, los dominios de las mismas.

En el caso de la variable TIME sus dominios estan limitados debido a que alajustar los dominios de las variables se puede acelerar la resolucion del modelo. Sulımite superior se denomina timeBudget, que es el resultado de la suma del tiempode viaje mas largo de cada una de las filas de la matriz temporal. Resulta logico,

44 Escuela Tecnica Superior de Ingenieros Industriales UPM

Page 59: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

Modelado del TRP y comparacion de tecnicas para su resolucion

ya que el tiempo de llegada a cada uno de los nodos nunca puede exceder el tiempode espera correspondiente a la eleccion de todas las rutas mas largas.

Tambien se destaca la variable latency, que almacena la suma de los tiemposde llegada a todos los clientes visitados.

28 %− − − − − CONSTRAINTS− − − − −

29 c o n s t r a i n t30 f o r a l l ( i in nEnd) (31 succ [ i ]= i−v ) ;

32 %− − − − −VEHICLE CONSTRAINTS− − − − −33 c o n s t r a i n t34 f o r a l l ( i in nStart ) (35 v e h i c l e [ i ]= i−n ) ;

36 c o n s t r a i n t37 f o r a l l ( i in nEnd ) (38 v e h i c l e [ i ]= i−n−v ) ;

39 c o n s t r a i n t40 f o r a l l ( i in custom ) (41 v e h i c l e [ succ [ i ] ]= v e h i c l e [ i ] ) ;

42 %− − − − −TIME CONSTRAINTS− − − − −43 c o n s t r a i n t44 f o r a l l ( i in nStart ) (45 arr iva lTime [ i ]=0) ;

46 c o n s t r a i n t47 f o r a l l ( i in nStart ) (48 t [ i , succ [ i ] ] + arr iva lTime [ i ] <=arr iva lTime [ succ [ i ] ] ) ;

49 c o n s t r a i n t50 f o r a l l ( i in custom ) (51 t [ i , succ [ i ] ]+ arr iva lTime [ i ] <=arr iva lTime [ succ [ i ] ] ) ;

Ahora se definiran las restricciones que establecen la relacion entre todas lasvariables.

En primer lugar, se debe inicializar la variable correspondiente al orden de visitade los clientes en cada una de las rutas. Para ello, se define un vector de dimensionn+2*v utilizando el identificador succ. Se establece que los sucesores de los nodosfinales v sean cada uno de los nodos iniciales v respectivamente. Con esta restriccion

Marıa de Guıa Ruiz Alamillos 45

Page 60: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

4. PROGRAMACION CON RESTRICCIONES

se asegura que cada una de las rutas de los reparadores comienza y termina en elmismo lugar, el nodo de origen. Ademas, tambien es necesaria una inicializaciondel conjunto de vehıculos.

Se asigna cada uno de los vehıculos a uno de los nodos de salida. En este caso sehace siguiendo el orden numerico es decir, el primer vehıculo parte del primer nododel conjunto nStart. Esto se hace igualmente con los nodos finales, que tambientienen un vehıculo asignado a todos ellos, ademas, siguiendo con las restriccionesdel vehıculo tenemos que establecer una limitacion que dicte que el vehıculo de uncliente y el de su sucesor deben ser iguales. Esta condicion, aunque pueda parecerobvia, acelera la resolucion del problema y es necesaria.

En lo que respecta a las limitaciones de tiempo, se tienen tres restriccionesdiferentes. Con la primera, se establecen todos los tiempos de llegada desde elconjunto de nodos nStart iguales a cero, ya que ningun cliente ha sido visitadocuando los reparadores estan en el nodo de origen. Las dos restricciones siguientesestablecen la relacion entre el tiempo de llegada al sucesor de i y el de j teniendoen cuenta el tiempo de viaje entre ambos clientes. Por lo tanto, la restriccionque comienza en la lınea 49 cubre todas estas relaciones exclusivamente entre losclientes, estableciendo que el tiempo de llegada del succ[i] debe ser mayor o iguala la suma del tiempo de llegada del cliente i mas el tiempo de viaje entre el clientei y su sucesor succ[i].

52 c o n s t r a i n t a l l d i f f e r e n t ( succ ) ;53 c o n s t r a i n t c i r c u i t ( succ ) ;

Estas dos restricciones, las cuales engloban un conjunto de otras restricciones,se denominan restricciones globales. Es importante definir estas limitaciones pordiferentes razones.

1. Para simplificar el modelado de un problema, encapsulando diferentes res-tricciones en una sola.

2. Para poder aprovechar los algoritmos especializados que tienen en cuenta lasemantica de la restriccion para una propagacion mas eficiente.

La restriccion alldifferent es una componente crucial en cualquier lenguaje deprogramacion de restricciones , empleandose generalmente en una amplia variedadde estos modelos. Por ejemplo, esta integrado en la conocida formulacion de Sendmore money expuesta en la subseccion anterior. Existen diferentes versiones de estarestriccion, dependiendo del lenguaje PR.

La restriccion alldifferent definida sobre el conjunto de variables succ, indicaque todos los valores que tomen estas variables de decision deben ser diferentes.Estarestriccion puede ser representada por un conjunto de n + 2 ∗ v(n + 2 ∗ v − 1)/2restricciones binarias. Por lo tanto, se establece una restriccion binaria de diferenciapara cada par de variables succ[i], lo que implica que un valor del dominio de ipuede ser eliminado solo cuando el dominio de j se reduce a una sola variable.

46 Escuela Tecnica Superior de Ingenieros Industriales UPM

Page 61: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

Modelado del TRP y comparacion de tecnicas para su resolucion

Uno de los inconvenientes que se presenta, es que la consistencia de arco detodas las restricciones binarias no implica hiper-arco consistencia de la restriccionalldifferent. Por lo tanto, se deben utilizar algunos algoritmos de filtrado maspotentes asociados a esta restriccion global. Un algoritmo de filtrado de hiper-arcoconsistencia para la restriccion alldifferent fue propuesto por Regin (1994) [31],empleandose en la actualidad.

La restriccion circuit es menos conocida, pero igualmente importante para nues-tro modelo. Se encarga de eliminar los arcos que no pertenecen a ningun circuitoHamiltoniano. Esta restriccion se aplica al array succ que se refiere a los arcos queconectan las variables con otras variables. La restriccion circuit se puede compararcon las restricciones de eliminacion de subtıtulos de DFJ y MTZ que caracterizabanal modelo de programacion entera mixta.

53 c o n s t r a i n t54 l a t ency = sum ( i in custom ) ( arr iva lTime [ i ] ) ;

55 s o l v e minimize l a t ency ;

La declaracion de la resolucion indica el tipo de problema que es. En este caso setrata de un problema de minimizacion: se quiere encontrar un valor para las varia-bles de decision que satisfaga las restricciones y minimice la variable latency. Estavariable es el resultado de la suma de todos los tiempos de llegada arrivalT ime[i]teniendo en cuenta que i pertenece al conjunto de clientes custom.

La parte final del modelo es la declaracion de resultados. Esto le indica a Mi-niZinc que debe mostrar por pantalla cuando se ha ejecutado el modelo y se haencontrado una solucion. En nuestro caso, no se incluira esta declaracion, ya queresulta irrelevante.

Ademas de todas las restricciones y variables anteriores, se puede incorporarotra variable predecessor definida como un array de dimension n+2∗v. predecessor[i]se refiere al nodo visitado por un vehıculo k antes de visitar el nodo i. Esta variablepuede utilizarse para determinar lo que se denomina restricciones redundantes,precedidas en MiniZinc por el identificador redundant constraint. Este tipo especialde restricciones son realmente importantes, aunque no las necesitemos (logicamenteestan implıcitas en el modelo existente), mejoran la eficiencia del modelo y llevana una mejora en la busqueda de soluciones, haciendo que el solucionador sea masrapido. En nuestro modelo, algunas restricciones redundantes podrıan ser:

c o n s t r a i n t r edundant cons t ra in t (f o r a l l ( i in nodes ) (( succ [ pred [ i ] ]= i ) ) ) ;

c o n s t r a i n t r edundant cons t ra in t (f o r a l l ( i in nodes ) (pred [ succ [ i ] ]= i ) ) ;

Marıa de Guıa Ruiz Alamillos 47

Page 62: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

4. PROGRAMACION CON RESTRICCIONES

c o n s t r a i n t r edundant cons t ra in t (( a l l d i f f e r e n t ( pred ) ) ) ;

c o n s t r a i n t r edundant cons t ra in t ( c i r c u i t ( pred ) ) ;

4.4.2. Ejemplo

En este apartado se aplicara el modelo PR a un ejemplo numerico, que empleados vehıculos/ reparadores para visitar a cinco clientes. Para resolver el problemase pueden usar muchos solvers diferentes. Para la verificacion del modelo se usarael Gecode 6.0.1.

Los siguientes valores de los diferentes parametros v=2 y n=5 daran lugar a unamatriz de tiempos de dimensiones 6x6 definida de la siguiente manera, coincidiendocon el ejemplo empleado en el modelo de programacion entera mixta:

time= 0 8 4 10 2 17 0 3 1 14 64 4 0 8 9 29 1 7 0 1 33 13 7 1 0 43 2 4 8 3 0

Se comprobaran, con estos parametros, que se verifican todas las restricciones

y tratando de alcanzar el valor mınimo para la variable latency.La introduccion de los datos anteriores en el modelo de MiniZinc dara lugar a

diferentes asignaciones para las variables de decision. A continuacion se mostrarael valor de las variables latency,succ,vehıculo yarrivalTimecorrespondientes a laprimera iteracion obtenida.

l a t ency = 109 ;v e h i c l e = [ 1 , 1 , 1 , 1 , 1 , 1 , 2 , 1 , 2 ] ;a r r iva lTime = [ 8 , 30 , 23 , 22 , 26 , 0 , 0 , 34 , 0 ] ;s u c c e s s o r = [ 4 , 8 , 5 , 3 , 2 , 9 , 1 , 6 , 7 ] ;

En la revision inicial, la instanciacion de las variables dadas en la primera ite-racion del modelo puede parecer que satisface todas las restricciones. Se puedeconcluir que, en este primer caso, todos los clientes son visitados por el mismoreparador. Ademas, se comprueba que todos los elementos del vector succ[i] sondiferentes, por lo que la restriccion global alldifferent tambien se cumple. Lalimitacion responsable de la eliminacion de los subciclos no conectados con el ori-

48 Escuela Tecnica Superior de Ingenieros Industriales UPM

Page 63: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

Modelado del TRP y comparacion de tecnicas para su resolucion

gen (circuit(succ)) tambien esta activa. En lo relativo a los tiempos de espera, laasignacion del vector arrivalT ime tambien satisfacen las limitaciones de tiempo.

En lo relativo a las restricciones de los vehıculos, se puede comprobar que lasrelacionadas con la asignacion de un vehıculo a los depositos ficticios tambien severificas. Esto se puede constatar observando los cuatro ultimos numeros del vectorde vehıculos vehicle. Los dos primeros numeros de este subgrupo hacen referenciaa los nodos de partida, asignando a cada uno de ellos diferentes vehıculos[1,2]. Lomismo se ve en el siguiente par de numeros (tambien[1,2]). En el caso de la ultimarestriccion, que establece que el vehıculo del sucesor de i vehicle[succ[i]] y el vehıcu-lo de i vehicle[i] deben coincidir,se puede identificar un nodo que no lo cumple.Desde el primer nodo de salida sale el vehıculo numero uno (vehicle[6]=1), pero sedirige directamente al ultimo nodo (succ[6] =9), que tiene el vehıculo numero doscomo vehıculo de referencia (vehicle[9] =2), por lo que vehicle[6] 6= vehicle[9] ≡vehicle[succ[i]] 6= vehicle[i].

El problema descrito cumple todas las restricciones impuestas en la septimaiteracion, coincidiendo esta ademas con la solucion optima. Esta solucion asignalos siguientes valores a las variables de decision de la formulacion.

l a t ency = 15 ;v e h i c l e = [ 1 , 1 , 2 , 2 , 1 , 1 , 2 , 1 , 2 ] ;a r r iva lTime = [ 3 , 6 , 3 , 2 , 1 , 0 , 0 , 10 , 1 2 ] ;s u c c e s s o r = [ 2 , 8 , 9 , 3 , 1 , 5 , 4 , 6 , 7 ] ;

En primer lugar, se comprobara el cumplimiento de las limitaciones asociadasa los vehıculos, ya que son las que han generado el problema en el caso anterior.Se cumplen las restricciones que tienen como objetivo la asignacion de un vehıculodiferente a cada uno de los nodos de los conjuntos nStart y nEnd, correspondientesa los nodos de ficticios de inicio y final respectivamente. La restriccion restante delvehıculo es la que establece la relacion entre vehicle[succ[i]], y vehicle[i] indicandoque estos valores deben coincidir. Con esta asignacion de las variables se puedendeterminar las dos rutas diferentes:

Una comienza en el cliente 6 seguido por los nodos 5,1 y 2, finalizando en elnodo ficticio 8 (6→5→1→2→8).

El vehıculo restante viaja de 7 a 4 siguiendo la ruta hacia el cliente 3,finali-zando en 9. (7→4→3→ 9)

Por consiguiente, se comprueba que las restricciones se verifican, siendo vehi-cle[6] =vehicle[5]= vehicle[1]= vehicle[2]= vehicle[8]=1 y vehicle[7]=vehicle[4]=vehicle[3]= vehicle[9]=2.

En cuanto a las limitaciones globales, ambas se cumplen. Se puede observar enel array succ, que todos los elementos poseen valores diferentes. Con respecto ala restriccion circuit asegura que todos los clientes esten conectados con el origen,independientemente de la ruta en la que sean visitados.

Marıa de Guıa Ruiz Alamillos 49

Page 64: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

4. PROGRAMACION CON RESTRICCIONES

En consecuencia, se tendra un tiempo de espera total de 10 unidades en la rutavisitada por el primer vehıculo y de 5 unidades en la segunda. Por lo tanto, eltiempo total del problema resulta de 15 unidades , coincidiendo con el valor de lavariable latency. Para estas operaciones no se tiene en cuenta el tiempo de viajedesde los dos ultimos nodos de cada una de las rutas hasta los nodos finales, yaque los nodos finales no corresponden a ningun cliente.

Figura 14: Solucion del k-TRP empleando PR

50 Escuela Tecnica Superior de Ingenieros Industriales UPM

Page 65: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

Modelado del TRP y comparacion de tecnicas para su resolucion

5. Resultados

Para la comprobacion de la eficiencia de los modelos desarrollados, se realizauna simulacion de 44 instancias, donde se establece un tiempo lımite de 3600 segun-dos. Esta limitacion se fija ya que se considera tiempo suficiente para comprobarla efectividad de las formulaciones. Se analizan instancias que abarcan desde los5 hasta los 40 clientes, variando el numero de vehıculos disponibles para realizarlas visitas, alcanzandose un maximo de 1681 variables en la implementacion de laprogramacion matematica y 431 en la de programacion con restricciones.Sin em-bargo, no es posible la comparacion de los problemas empleando estos datos,ya queambas tecnicas poseen caracterısticas dispares. Todas las simulaciones realizadas sedesarrollan en un unico ordenador, un Intel ubicado en el Departamento de Orga-nizacion y Logıstica de la Escuela Tecnica Superior de Ingenieros Industriales. Estose debe a la variabilidad de los resultados de un ordenador a otro, condicionadospor parametros como espacio o el microprocesador que posea.

5.1. Resultados obtenidos con AIMMS

Restricciones VariablesSimulacion 1683 1681Tamano medio 10000 10000Tamano grande 100000 100000Tamanos muy grandes >100000 >100000

Cuadro 1: Tipos de problemas de PL segun su tamano

En el cuadro 1 se presenta una clasificacion de los problemas de programacionentera mixta en relacion al numero de variables y restricciones que lo conforman.Atendiendo al criterio presentado se categoriza este problema, debido al caracterde las instancias simuladas, como un problema de tamano pequeno/ medio.

Para ilustrar la efectividad del modelo se emplearan los resultados obtenidos dela simulacion que sirve a 40 clientes, ya que a instancias mayores la resolucion secomplica mas.

La tabla 2 muestra el tiempo computacional requerido para alcanzar una solu-cion factible. Como se puede observar, el tiempo computacional establecido no essuficiente para alcanzar la solucion optima hasta los 18 vehıculos. Sin embargo, estasolucion no resultarıa optima para un empresa, ya que emplear un vehıculo paravisitar entre dos y tres clientes no resulta rentable. Esta tabla muestra tambien elGAP en forma porcentual definiendo dicho GAP como (IP-LP)/IP, siendo IP lasolucion optima cuando se verifican las condiciones de integralidad y LP la mejorsolucion obtenida.

Marıa de Guıa Ruiz Alamillos 51

Page 66: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

5. RESULTADOS

MIPv Tiempo (s) GAP( %) Solucion

8 3604,51 25,80 % 6069 3603,42 20,85 % 558

10 3602,91 18,60 % 52411 3609,46 15,77 % 50012 3606,15 13 % 48313 3600 9,75 % 46914 3604,28 7,85 % 45615 3602,83 5,89 % 44716 3605,9 2,93 % 43917 3603,64 2,02 % 43418 1334,7 0 42919 559,79 0 431

Cuadro 2: Soluciones factibles de AIMMS para 40 clientes

Para la resolucion de las formulaciones de programacion entera mixta se procedede la siguiente forma.

En primer lugar se suprime la restriccion de integralidad. Por lo tanto, lasvariables no estan forzadas a tomar valores enteros. Esto hace, que las primerasiteraciones tengan valores de la funcion objetivo inferiores al resultado optimo.Posteriormente, a medida que avanza la simulacion, el valor de la funcion objetivoaumenta. Esto se debe, a la sucesiva eliminacion de las subrutas no conectadas conel origen y la evolucion del valor asignado a las variables hacia valores enteros.

A continuacion, se presentan dos soluciones correspondientes a las instancias convalores de n igual a 40. Se escogen las instancias de v=8 y v=18 para representarla diferencia entre una solucion factible que no es optima y otra que sı que lo es.

Para ambos casos se emplean los datos expuestos en la Figura 15, escogidosaleatoriamente entre tiempos de viaje de 0 a 100 unidades ya que, como se hacontrastado, son datos realistas en el ambito de la distribucion y transporte.

52 Escuela Tecnica Superior de Ingenieros Industriales UPM

Page 67: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

Modelado del TRP y comparacion de tecnicas para su resolucion

Figura 15: Tiempos de viaje para n=40

Para el caso de v=8 se obtienen las asignaciones representadas en la Figura 16.Sin embargo, en la misma no se puede observar el verdadero valor de las variablesxij ya que al no haber alcanzado la solucion optima, pueden tener valores menoresa la unidad. Este valor real de las variables basicas, es decir, aquellas que sondistintas de 0, se exponen en la Figura 18.

Marıa de Guıa Ruiz Alamillos 53

Page 68: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

5. RESULTADOS

Figura 17: Parametros obtenidos en AIMMS para visitar 40 clientes con 8 vehıculos

Figura 16: Asignacion correspondiente a la solucion factible con 8 vehıculos

54 Escuela Tecnica Superior de Ingenieros Industriales UPM

Page 69: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

Modelado del TRP y comparacion de tecnicas para su resolucion

Figura 18: Solucion de MIP sin restriccion de integralidad

En la Figura 18 se puede observar que la variable correspondiente al viaje desdeel origen al cliente 15 toma el valor 0.9999972. Del mismo modo x37,35 = 0.9999986

Las rutas representadas en la Figura 19 corresponden a los caminos factiblespara la visita de los 40 clientes, representados cada uno de ellos en un color distinto.El valor de la funcion objetivo en este caso es de 449,33. No obstante, el valor optimodel tiempo de espera total asociado al conjunto de las ocho rutas, serıa superior eigual a 606 unidades de tiempo.

Marıa de Guıa Ruiz Alamillos 55

Page 70: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

5. RESULTADOS

Figura 19: Representacion grafica de la solucion factible con una disponibilidad de8 agentes

A continuacion se presenta la asignacion de las variable para 18 vehıculos, primermomento en el se alcanza el valor optimo, obteniendose GAP nulo. En este caso,todas las variables xij que forman parte de la base son iguales a 1. La Figura 20representa las asignaciones correspondientes a la instancia descrita, mientras quela Figura 21 constituye la representacion grafica de la misma.

El numero de visitas varıa de entre 5 clientes como maximo a un unico cliente.Como se ha mencionado anteriormente, esta ultima situacion no resultarıa rentablepara las empresas ya que el mantenimiento de un vehıculo, ası como la contrataciondel personal necesario para su conduccion conlleva unos gastos elevados.

56 Escuela Tecnica Superior de Ingenieros Industriales UPM

Page 71: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

Modelado del TRP y comparacion de tecnicas para su resolucion

Figura 20: Asignacion correspondiente a la solucion optima para v=18

Figura 21: Representacion de la solucion optima para 40 clientes y 18 agentes

Marıa de Guıa Ruiz Alamillos 57

Page 72: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

5. RESULTADOS

5.2. Resultados obtenidos con MiniZinc

Las soluciones de MiniZinc difieren del valor optimo caracterıstico de cada ins-tancia. En la resolucion del problema, el solver comienza asignando la visita detodos los nodos a un unico vehıculo, de tal manera que a medida que suceden lasiteraciones, se van reasignando al resto de vehıculos los sucesivos nodos asociadosal vehıculo original, disminuyendo el valor de la funcion objetivo.

Para 5, 7 y 10 clientes, los resultados obtenidos coinciden con el valor optimode dichas instancias. Sin embargo, al aumentar el numero de clientes, la diferenciaporcentual entre ambas soluciones crece.

MINIZINCv Tiempo Computacional (s) Diferencia( %) Solucion

8 3600,67 876 % 59179 3600,5 1118 % 6794

10 3600,02 1050 % 602811 3600,56 1129 % 614712 3600,7 1196 % 627513 3600 1238 % 627514 3600,45 1365 % 668115 3600,1 1437 % 686916 3600,56 1617 % 753617 3600,23 1676 % 770818 3600 1704 % 774019 3600,67 1717 % 7833

Cuadro 3: Soluciones factibles de MiniZinc para 40 clientes

El caso de n=40 es el que presenta mayor dispersion entre el valor obtenidoy el optimo. La tabla 3 presenta los tiempos computacionales resultantes de lasimulacion, ası como el tiempo acumulado total calculado y la diferencia porcentualde dicho valor con el optimo. Este valor ha sido calculado de la siguiente manera:

|V alorobtenido− V aloroptimo|V aloroptimo

Sin embargo, este resultado es consecuencia de la modificacion de un modeloprevio, ya que el modelo anterior al empleado en la simulacion descrita, obtenıasoluciones superiores. La disminucion ha sido debida a la incorporacion de herra-mientas de busqueda adicionales a las herramientas de resolucion empleadas porel solver escogido (Gecode 6.1.0). Estas herramientas adicionales facilitan la re-solucion, disminuyendo las diferencias con el valor optimo. Del mismo modo, hacontribuido a esta disminucion de tiempo de resolucion la acotacion de la variablearrivalTime del modelo, la cual se limita a tomar valores entre 0 y la suma de losvalores maximos de los tiempos de espera de cada una de las columnas.

58 Escuela Tecnica Superior de Ingenieros Industriales UPM

Page 73: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

Modelado del TRP y comparacion de tecnicas para su resolucion

v Version 1 Version 2

4 4529 27175 4798 29996 4756 30357 5969 33538 6320 37929 6929 4199

10 7117 4270

Cuadro 4: Comparacion de soluciones con las dos versiones de modelos de MiniZinc

La tabla 4 recoge los valores de ambas versiones de la formulacion desarrolladacon MiniZinc, la primera sin modificar y la segunda al anadir los algoritmos debusqueda mas especıficos, para 30 clientes. Se han escogido las instancias de 30nodos para ilustrar la mejora, ya que es en este punto donde alcanza la maximadiferencia entre ambos modelos. Con mayor numero de puntos de visita la diferenciava disminuyendo, llegando a coincidir los valores en aquellas instancias en las quese obtiene una unica solucion, es decir, aquellas en las que las sucesivas iteracionesque ocurren en la hora de simulacion no consiguen mejorar la solucion inicial.

Figura 22: Comparacion grafica de las soluciones de CP

Marıa de Guıa Ruiz Alamillos 59

Page 74: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

5. RESULTADOS

5.3. Comparacion de ambas tecnicas

De los resultados obtenidos con ambas simulaciones, empleando los mismosdatos y requisitos, se comprueba que los tiempos computacionales caracterısticosde cada una de las formulaciones presentan notables diferencias.

Figura 23: Porcentaje de soluciones optimas obtenidas en AIMMS

Figura 24: Porcentaje de soluciones optimas obtenidas con MiniZinc

En los resultados se observa que la formulacion implementada en Minizinc dalugar a tiempos computacionales mas elevados. En este caso se llega al valor optimoen el 9,09 % de los casos frente al 43,18 % para el caso de la programacion enteramixta, obteniendo diferencias porcentuales mas elevadas.

La tabla 5 muestra las diferencias expuestas anteriormente para los distintosvalores del numero de clientes y de vehıculos, donde el GAP hace referencia a ladiferencia porcentual entre la solucion optima y la obtenida y B.S. representa lamejor solucion obtenida.

60 Escuela Tecnica Superior de Ingenieros Industriales UPM

Page 75: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

Modelado del TRP y comparacion de tecnicas para su resolucion

MIP CPn v GAP % B.S. GAP % B.S.20 3 0 228 69 % 38620 4 0 189 113 % 40320 5 0 169 208 % 52125 4 12,60 % 270,9359 384 % 149925 5 0 267 464 % 150625 6 0 245 669 % 188325 7 0 232 738 % 194530 4 36,22 322,0952 438 % 271730 5 25,80 % 309,433 619 % 299930 6 16,64 % 309,2656 718 % 303530 7 12,59 % 294,559 895 % 335330 8 3,76 % 305,0831 1096 % 379230 9 0 303 1286 % 419930 10 0 290 1372 % 427035 5 36,15 % 408,018 599 % 446835 6 32,13 % 386,88521 748 % 483235 7 24,13 % 383,1187 857 % 483235 8 17,85 % 385,2915 982 % 507535 9 12 % 387,2152 1206 % 574635 10 9,82 % 379,6369 1338 % 605435 11 6,67 % 382,65 1386 % 609135 12 3,78 % 384,888 1546 % 658235 13 3,57 % 378,019 1618 % 673435 14 2,67 % 374,7068 1649 % 673235 15 5,53 % 359,95 1667 % 673435 16 0 382 1663 % 673440 8 25,21 % 453,9846 876 % 591740 9 21,68 % 437,03747 1118 % 679440 10 17,22 % 433,77 1050 % 602840 11 14,44 % 427,8 1129 % 614740 12 11,79 % 426,944 1196 % 627540 13 10,11 % 421,567 1238 % 627540 14 9,15 % 414,295 1365 % 668140 15 6,40 % 418,39 1437 % 686940 16 4,89 % 417,53 1617 % 753640 17 4,07 % 416,347 1676 % 770840 18 0 429 1704 % 774040 19 0,44 % 429,09 1717 % 7833

Cuadro 5: Comparacion de resultados computacionales

Marıa de Guıa Ruiz Alamillos 61

Page 76: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

5. RESULTADOS

Figura 25: Diferencia de los resultados obtenidos con el optimo empleando MIP

Figura 26: Diferencia de los resultados obtenidos con el optimo empleando CP

Las Figuras 25 y 26 presentan la evolucion de la diferencia entre solucion ob-tenida y optima para cada una de las instancias mas significativas. En ellas, eleje de abscisas representa el numero de vehıculos disponibles y el de ordenadas ladiferencia en valor porcentual.

Los tiempos de espera acumulados obtenidos en el modelo de AIMMS se en-cuentran entre 15 y 431 unidades de tiempo. Sin embargo, en la formulacion dela programacion de restricciones el valor maximo alcanzado es de 7833 unidades(n=40, v=19). Como se ha mencionado anteriormente, en el caso de la programa-cion entera mixta, las soluciones factibles que no resultan optimas, son menoresque el valor optimo, por la eliminacion de la condiciones de integralidad, asignandovalores no binarios a sus variables. Por lo contrario, en el caso de MiniZinc las so-luciones iniciales generan un valor elevado de la funcion objetivo, ya que en primerlugar se asocian todos los clientes al primer vehıculo.

Otro aspecto remarcable es la tendencia de evolucion de las soluciones. Como

62 Escuela Tecnica Superior de Ingenieros Industriales UPM

Page 77: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

Modelado del TRP y comparacion de tecnicas para su resolucion

representan estas figuras, la formulacion matematica se acerca mas al optimo amedida que aumenta el numero de vehıculos disponibles. Este aspecto resulta logicoaunque una flota con un numero elevado de vehıculos puede no resultar rentable.

Sin embargo, la tendencia en la programacion de restricciones es opuesta. Lassoluciones se alejan mas del optimo a medida que aumenta la disponibilidad devehıculos. Esto se debe, principalmente, a que un aumento en el numero de variablesprovoca una realentizacion de la resolucion. Esto puede comprobarse analizando elnumero de soluciones obtenidas en los 3600 segundos de simulacion.

v Numero desoluciones

8 349 23

10 2811 1612 913 1114 715 516 317 218 319 2

Cuadro 6: Numero de soluciones obtenidas con MiniZinc para 40 clientes

En la tabla 6 se muestra el numero de soluciones obtenidas en cada una de lasinstancias en MiniZinc para 40 clientes,observandose que para un mayor numerode vehıculos se obtienen menos soluciones. Por ello, las soluciones obtenidas sonpeores.

Marıa de Guıa Ruiz Alamillos 63

Page 78: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

5. RESULTADOS

64 Escuela Tecnica Superior de Ingenieros Industriales UPM

Page 79: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

Modelado del TRP y comparacion de tecnicas para su resolucion

6. Planificacion

6.1. Estructura de descomposicion del proyecto (EDP)

Figura 27: Estructura de descomposicion del proyecto

Marıa de Guıa Ruiz Alamillos 65

Page 80: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

6. PLANIFICACION

6.2. Diagrama de Gantt

El siguiente diagrama muestra la planificacion temporal del proyecto. Se co-mienza en el mes de mayo con la busqueda del tema en la Technische Universitatde Darmstadt (Alemania) y finalizara con la defensa del trabajo ante tribunal enfebrero.

66 Escuela Tecnica Superior de Ingenieros Industriales UPM

Page 81: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

Modelado del TRP y comparacion de tecnicas para su resolucion

Figura 28: Diagrama de Gantt

Marıa de Guıa Ruiz Alamillos 67

Page 82: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

6. PLANIFICACION

68 Escuela Tecnica Superior de Ingenieros Industriales UPM

Page 83: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

Modelado del TRP y comparacion de tecnicas para su resolucion

7. Presupuesto

En este apartado se realizara una estimacion del presupuesto del proyecto, don-de el coste principal es el tiempo dedicado por el autor y los tutores ası como otroscostes menores como son los espacios y materiales empleados.

Costes de personal

Actividades Horas dedicadas por elautor

Busqueda y asignacion del TFG 4Investigacion preliminar 15Estudio del problema y de lametodologıa empleada

60

Desarrollo de las formulaciones 125Implementacion de los modelos 70Comparacion de resultados 6Redaccion del proyecto 90

TOTAL 370 h

Coste de personal Dedicacion (h) Coste uni-tario (e/h)

Coste e

Autor del proyecto 370 h 20 e/h 7.400,00 eTutores del proyecto 22 h 50 e/h 1.100,00 e

Coste total de personal 8.500,00 e

Cuadro 7: Costes de personal

Costes adicionales

El material empleado se desglosa en la siguiente tabla, indicando su coste aso-ciado.

Marıa de Guıa Ruiz Alamillos 69

Page 84: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

7. PRESUPUESTO

Elementos adicionales Coste unitario Cantidad Coste (e)

Ordenador DELL 1000 e/ 4 anos 8 meses 166,66 eOrdenadores universidad 600 e/ 6 anos 3 meses 25,00 eLicencia de AIMMS 7.000,00 e 7.000,00 eImpresion de la memoria 50,00 e 50,00 eEncuadernado de la memoria 25,00 e 25,00 e

Coste total 7.266,66 e

Cuadro 8: Costes adicionales

Figura 29: Distribucion de los costes totales del proyecto

Por lo tanto, el coste total del proyecto asciende a 15.766,66 e. Adicionalmente,tenemos que contabililzar el IVA, que supone un 21 % del precio del proyecto.

Coste total 15.766,66 eImpuestos 3.311,00 e

Coste final 19.077,66 e

Cuadro 9: Coste total del proyecto

70 Escuela Tecnica Superior de Ingenieros Industriales UPM

Page 85: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

Modelado del TRP y comparacion de tecnicas para su resolucion

8. Conclusiones

8.1. Conclusiones

En relacion a los objetivos propuestos en el primer apartado, cabe concluir:

Se han estudiado las caracterısticas principales de los dos enfoques: progra-macion entera mixta y programacion de restricciones, ofreciendo al lector unavision general de los procedimientos que emplean y sus funciones principa-les, ası como sus metodos de resolucion caracterısticos. Se ha demostrado laposibilidad de estudio del k-TRP con ambos enfoques.

Se ha mostrado la importancia de las restricciones de eliminacion de sub-tours, ejemplificando y comparando las dos formulaciones caracterısticas delos problemas de programacion entera mixta mediante un analisis cualitativode las mismas. Tambien, se ha justificado la redundancia en la incorporacionde las SEC de DFJ en el problema, ya que las restricciones de MTZ , o ensu defecto, variantes de las mismas, son imprescindibles en la formulacion delk-TRP.

Para comprobar la valıa de las formulaciones, se han implementado y simula-do empleando las distintas herramientas descritas. Cabe destacar la dispersionen los resultados obtenidos con los distintos planteamientos. El modelo ma-tematico, posee unos tiempos de resolucion muy inferiores a los obtenidos conla formulacion desarrollada con el enfoque descriptivo, que supone un tiempode simulacion mayor a medida que se aumenta el numero de variables, obte-niendose valores de la funcion objetivo mucho mas alejados del valor optimoesperado. De esto se puede deducir, que la herramienta de programacion ma-tematica tiene una potencia superior a la empleada en la programacion derestricciones.

Marıa de Guıa Ruiz Alamillos 71

Page 86: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

8. CONCLUSIONES

En el desarrollo del proyecto se han puesto de manifiesto algunos aspectos norecogidos en el contenido de la memoria y que a juicio del autor, merece la penadestacar:

En primer lugar, cabe destacar lo aprendido durante el desarrollo de las res-tricciones de eliminacion de subtours. Las restricciones caracterısticas de laformulacion de Dantzig, Fulkerson y Johnson son las mas empleadas en losproblemas de enrutamiento, generadas inicialmente para la resolucion del co-nocido Traveling Salesman Problem. Esto es debido, principalmente, a quedan lugar a un espacio de soluciones mas limitado, provocando de formageneral, tiempos de computacion mas elevados. Sin embargo, se ha podidocomprobar que para el problema concreto de este estudio, estas restriccionesresultan redundantes, ya que son necesarias las desigualdades de MTZ parapoder formular la funcion objetivo de minimizacion de los tiempos de espera.Esto se debe a la necesidad de establecer un orden de los clientes durantelas visitas, ya que los tiempos acumulados para cada uno de los nodos, sonlos resultantes de las sumas de todos los tiempos de espera de los clientesatendidos previamente. Adicionalmente, se han buscado alternativas para laincorporacion de las restricciones de DFJ, observando que no introducen nin-guna mejora. Para corroborar que esto es ası, se ha simulado en AIMMS estecaso anadiendo las restricciones de forma unitaria siempre que resulten ne-cesarias, comprobandose que, a excepcion de un caso, no se anadıan ningunade estas restricciones. El caso aislado en el que el solver incorporaba dos deestas desigualdades para la resolucion del problema del k-TRP. podrıa serresultado de un fallo en la resolucion, ya que realmente, para instancias comolas estudiadas, estas restricciones son teoricamente innecesarias.

En el caso de la simulacion en MiniZinc, tambien se han podido sacar diversasconclusiones. En primer lugar, se desarrollo un modelo que cumplıa todaslas condiciones impuestas por el problema. Sin embargo, su resolucion dabalugar a tiempos de simulacion muy elevados. Esto podrıa ser debido a lapropia formulacion del modelo, o a la cantidad de variables involucradas enel mismo. Posteriormente, se incluyo un comando que permitıa el empleo deherramientas de busqueda adicionales, disminuyendo los GAPs resultantesen valores de hasta un 50 %.Aun introduciendo esta mejora, los resultados,como se puede observar en las tablas adjuntas en el anexo, siguen siendo muysuperiores al valor optimo buscado.

Adicionalmente, se destacan los efectos de las restricciones redundantes enel modelo de MiniZinc. Tras la realizacion de distintas pruebas, se ha com-probado que, a pesar de las consideraciones previas de que mejorarıa signifi-cativamente el modelo, no da lugar a un mejor desempeno de la resolucion.Efecto contrario al que han demostrado tener las restricciones globales, quemejoran la resolucion a diferencia de cuando se incorporan todas de formaseparada.

72 Escuela Tecnica Superior de Ingenieros Industriales UPM

Page 87: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

Modelado del TRP y comparacion de tecnicas para su resolucion

Por otra parte, como ya se ha mencionado a lo largo de la memoria, cabedestacar la importancia de esta tipologıa de problemas en el sector empresa-rial. Sin embargo, el k-TRP ha comenzado a ser estudiado de forma intensivaen las ultimas decadas, siendo la aportacion de Luo et al. (2013) una delas mas significativas en el estudio de este caso. Pese a ello, para el caso deprogramacion de restricciones, no se han encontrado formulaciones para esteproblema. Sin embargo, si que se han desarrollado modelos para problemasde enrutamiento con estructuras similares.

8.2. Lıneas futuras de desarrollo

Las herramientas desarrolladas para el analisis e identificacion de las rutas yorden de visita de sucesivos clientes, sirven de base para la elaboracion de planesde actuacion y mejora de las actividades de transporte en las empresas. Por unaparte, resultarıa de interes la incorporacion de restricciones adicionales que abar-quen diversos aspectos economicos. En este trabajo, solo se ha tenido en cuenta eltiempo de espera de los clientes para encontrar la ruta optima. Sin embargo, para laaplicacion real de las formulaciones, serıa conveniente incorporar otros parametrosde relevancia. En esta lınea se podrıa, por ejemplo, incluir:

Tener diversos emplazamientos de partida. Este hecho es, en algunos sectores,comun, teniendo los puntos de partida repartidos por el territorio.

Jornadas de los empleados encargados de los vehıculos. Esto resulta relevan-te, ya que los distintos horarios tendran asociados costes diversos. Por lotanto, se deberan buscar las mejores rutas que permitan una minimizacionde estos costes, escogiendo momentos del dıa que resulten menos rentables,combinados con la minimizacion de los tiempos de espera de los clientes.

Disponibilidad de vehıculos. La integracion de restricciones que determinenla rentabilidad de utilizacion de un vehıculo adicional, estableciendo un costodeterminado asociado a la contratacion de un reparador adicional.

Adicionalmente, se podrıa ponderar la importancia de cada uno de los parame-tro que conformarıan esta formulacion multiobjetivo.

Marıa de Guıa Ruiz Alamillos 73

Page 88: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

8. CONCLUSIONES

8.3. Impacto medioambiental

Entre las emisiones contaminantes de los vehıculos se encuentran el dioxidode carbono (CO2), el monoxido de carbono (CO), oxidos de nitrogeno (NOx),hidrocarburos no quemados (HC), compuestos de plomo, anhıdrido sulfuroso ypartıculas solidas.

En la Union Europea, los medios de locomocion son responsables del 25 % delas emisiones de dioxido de carbono (CO2), del 87 % de las de monoxido de carbono(CO) y del 66 % de las de oxidos de nitrogeno (NOx). Estos gases contaminantes,ademas de contribuir al calentamiento global, provoca problemas en la salud de loshabitantes de algunas ciudades.

Figura 30: Emisiones de CO2 por sector[32]

Como se observa en la Figura 30, el sector del transporte lidera la emision dedioxido de carbono. Por lo tanto, una mejora en la logıstica y diseno de las rutas,darıa lugar a un menor tiempo de viaje, logrando de este modo una recesion enla generacion de gases contaminantes y reduccion de los residuos asociados a estaactividad. Este hecho, se encuentra ligado a una mejora en la calidad de vida delos individuos, disminuyendo el peligro de enfermedades y sucesos relacionados conestos gases nocivos.

Por otro lado, el coste de la logistica y el transporte representa un 6,5 % delprecio final del producto/servicio; por consiguiente, una disminucion del coste aso-ciado al transporte podrıa ocasionar, en determinadas situaciones, una disminucionde los precios del bien final.

74 Escuela Tecnica Superior de Ingenieros Industriales UPM

Page 89: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

Modelado del TRP y comparacion de tecnicas para su resolucion

Referencias

[1] Afrati F, Cosmadakis S, Papadimitriou C, Papageorgiou G and Pa-pakostantinou N : The complexity of the travelling repairman problem.RAIRO Informatique Theorique et Applications 20(1): 79–87. 9(1986)

[2] FischettiM, Laporte G and Martello S : The delivery man problemand cumulative matroids. Operations Research 41(6): 1055–1064. (1993)

[3] Goemans M and Kleinberg J : An improved approximation ratio for theminimum latency problem. Mathematical Programming 82(1): 111–124. (1998)

[4] Averbakh I and Berman O: Sales-delivery man problems on treelike net-works. Networks 25(2): 45–58. (1995)

[5] Fakcharoenphol J, Harrelson C and Rao S : The k-traveling repairmenproblem. ACM Transactions on Algorithms 3(4): 16. (2007)

[6] Zhixing Luo , Hu Qin , Andrew Lim : Branch-and-price-and-cut for themultiple traveling repairman problem with distance constraints (2013)

[7] Newton, R.M., Thomas, W.H.: Design of school bus routes by computer.SocioEconomic Planning Sciences 3 (1), 75–85. (1969)

[8] Li and Z Fu: The school bus routing problem: a case study (2017)

[9] Brian T.BennettaDenos C.Gazisa: School bus routing by computer(1972)

[10] Dulac G, Ferland JA and Forgues PA: School bus routes generator inurban surroundings. (1980)

[11] A. Blum, S. Chawla, D. R. Karger, T. Lane, A. Meyerson, and M.Minkof: Approximation Algorithms for Orienteering and Discounted-RewardTSP. In FOCS, pages 46–55, (2003)

[12] Teixeira J, Antunes AP, De Sousa JP.: Recyclable waste collection plan-ning - a case study. European Journal of Operational Research; 158: 543-554(2004)

[13] Angelelli E, Speranza MG. : The periodic vehicle routing problem withintermediate facilities. European Journal of Operational Research; 137: 233-247(2002)

[14] Katja Buhrkala, Allan Larsena, Stefan Ropke : The waste collectionvehicle routing problem with time windows in a city logistics context. Departmentof Transport, Technical University of Denmark, DK-2800 Kgs (2012)

[15] Tycgis, https://www.cursosgis.com/

Marıa de Guıa Ruiz Alamillos 75

Page 90: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

REFERENCIAS

[16] Songyot Nakariyakul: Suboptimal branch and bound algorithms for fea-ture subset selection: A comparative study (2014)

[17] Gurobi Optimization, https://www.gurobi.com/

[18] Tolga Bektas The multiple traveling salesman problem: an overview of for-mulations and solution procedures. Department of Industrial Engineering, Bas-kent University (2006)

[19] Dantzig, G., D. Fulkerson, S. Johnson : Solution of a large scale tra-veling salesman problem. Oper. Res. 2 393–410.(1954)

[20] Manfred Padberg and Ting-Yi Sung : An analytical comparison of diffe-rent formulations of the travelling salesman problem. Mathematical Programming52 315-357 (1989)

[21] Roman Bartak : A brief introduction to mainstream techniques of cons-traint satisfaction.Charles University, Faculty of Mathematics and Physics Ma-lostranske nam. 2/25, 118 00 Praha 1, Czech Republic

[22] Ricardo Soto,Laurent Granvilliers: On the Definition of a StandardLanguage for Modelling Constraint Satisfaction Problems (August 2008)

[23] Roman Bartal,Miguel A. Salido y Francesca Rossi: Constraint sa-tisfaction techniques in planning and scheduling (February 2008)

[24] Krzysztof R. Apt: Principles of Constraint Programming, Cambrige(2003)

[25] Ilya Verenich, Hoang Nguye,Marcello La Rosa,Marlon Dumas:White-Box Prediction of Process Performance Indicators via Flow Analysis(2017)

[26] Yunfang Peng,Dandan Lu and Yarong Chen A Constraint Program-ming Method for Advanced Planning and Scheduling System with MultilevelStructured Products (2014)

[27] MiniZinc, http://www.minizinc.org/

[28] Eclipse, http://eclipseclp.org/

[29] Schulte, C., Lagerkvist, M., Tack, G Gecode, http://www.gecode.org/

[30] Prolog, http://www.swi-prolog.org/

[31] Regin, J.-C. A Filtering Algorithm for Constraints of Difference in CSPs. InProceedings of the Twelfth National Conference on Artificial Intelligence (AAAI)(1994)

[32] European Environment Agency

76 Escuela Tecnica Superior de Ingenieros Industriales UPM

Page 91: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

Modelado del TRP y comparacion de tecnicas para su resolucion

Apendice A. Abreviaturas

BB : Branch and Bound

DFJ : Dantzig, Fulkerson y Johnson

k-TRP : k-Travelling Repairman Problem

MTZ : Miller-Tucker-Zemlin

PR : Programacion de Restricciones

PSR : Problema de Satisfaccion de Restricciones

PVRP : Periodic Vehicle Routing Problem

SEC : Subtour Elimination Constraint

VRP : Vehicle Routing Problems

Marıa de Guıa Ruiz Alamillos 77

Page 92: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

REFERENCIAS

78 Escuela Tecnica Superior de Ingenieros Industriales UPM

Page 93: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

Modelado del TRP y comparacion de tecnicas para su resolucion

Apendice B. Tablas de resultadosM

IP

nv

Computa

tional

Tim

e(s)

Variables

Constra

ints

Itera

tions

B&B

Nodes

GAP(%)

Best

LP

Best

So-

lution

52

0,03

36

38

959

368

015

15

73

1,48

64

66

53061

22145

069

69

10

35,35

121

123

268246

56613

0159

159

10

41,5

121

123

27069

5767

0125

125

15

3315,9

256

258

17856727

2743423

0168

168

15

49,66

256

258

601559

70410

0138

138

20

3508,9

441

443

29735983

3744502

0228

228

20

48,71

441

443

380289

42830

0189

189

20

54,16

441

443

107201

12675

0169

169

25

43610,88

676

678

92404242

6701543

12%

272,805

310

25

5494,74

676

678

16805315

1189740

0267

267

25

630,48

676

678

992028

120094

0245

245

25

711,36

676

678

353312

41112

0232

232

30

43604,33

961

963

49950834

6613292

33,26%

336,369

504

30

53603,23

961

963

35072470

4584970

27,48%

311,838

430

30

63691,84

961

963

61270790

5450519

16,13%

311,174

370,99

30

73603,9

961

963

90121302

4814547

7,28%

312,471

337

30

83600,05

961

963

83353819

4229370

3,47%

306,02

317

30

9575,05

961

963

17487209

1232194

0303

303

30

10

78,27

961

963

2179502

206487

0290

290

35

53603,64

1296

1298

47637208

5310667

35,97%

405,921

634

35

63602,92

1296

1298

55072997

6459459

28,77%

401,033

563

35

73610,41

1296

1298

52953659

5092607

22,55%

391,104

505

35

83607,37

1296

1298

47324590

5554264

18,31%

385,592

472

35

93605,54

1296

1298

51665625

4198075

13,07%

382,491

440

35

10

3629,73

1296

1298

48817704

4672733

10,29%

377,686

421

35

11

3603,7

1296

1298

50064415

4238160

7,13%

380,777

410

35

12

4000,2

1296

1298

55125121

3855147

5,17%

379,305

400

35

13

3607,46

1296

1298

56673778

4560282

1,81%

384,893

392

35

14

405,79

1296

1298

10249036

1100794

0385

385

35

15

614,25

1296

1298

6261927

829328

0381

381

35

16

237,7

1296

1298

3188483

419750

0382

382

40

83604,51

1681

1683

48614680

4494860

25,80%

449,679

606

40

93603,42

1681

1683

46330993

5367676

20,85%

441,66

558

40

10

3602,91

1681

1683

41397350

4624115

18,60%

426,535

524

40

11

3609,46

1681

1683

37520487

5029643

15,77%

421,143

500

40

12

3606,15

1681

1683

27639471

3141942

13%

420,196

483

40

13

3600

1681

1683

38826428

3603188

9,75%

423,27

469

40

14

3604,28

1681

1683

43056607

3811767

7,85%

420,18

456

40

15

3602,83

1681

1683

39890893

3357790

5,89%

420,67

447

40

16

3605,9

1681

1683

46048797

3555616

2,93%

426,12

439

40

17

3603,64

1681

1683

49184465

3653088

2,02%

425,217

434

40

18

1334,7

1681

1683

20188916

2304108

0429

429

40

19

559,79

1681

1683

10575760

865955

0431

431

Cuadro 10: Tabla de resultados AIMMS

Marıa de Guıa Ruiz Alamillos 79

Page 94: Modelado del problema Traveling Repairman Problem y ...oa.upm.es/54351/1/TFG_MARIA_DE_GUIA_RUIZ_ALAMILLOS.pdf · de tratar de determinar las rutas de m nima distancia. El objetivo

REFERENCIAS

MIN

IZIN

Cn

vCom

putatio

nal

Tim

e(s)

Varia

ble

sConstrain

ts

B&

BN

odes

Failures

Propagatio

ns

GA

P(%

)Solu

tio

nN

um

ber

of

solu

-tio

ns

52

0,483

42

36

1230

598

1578088990

0%

15

77

3569

60

49

130868762

65434258

2468451901

0%

69

34

10

31688,68

91

64

143393250

71696371

3644547322

0%

159

44

10

41710

101

67

319304350

159651872

3180268640

0%

125

45

15

33600

121

89

181998212

90998274

852252619

13%

190

74

15

43600,69

131

111

246502424

123250270

123989654

54%

213

89

20

33600,56

151

114

300678808

150338250

866537049

69%

386

75

20

43600,72

161

117

218598139

109297215

3283271508

113%

403

119

20

53600,7

171

120

275308525

137652559

1188452218

208%

521

101

25

43600,69

191

142

235952794

117974160

3301910458

384%

1499

112

25

53600,61

201

145

138168414

69082340

1945301566

464%

1506

90

25

63600,67

211

148

308253001

154125468

1509561865

669%

1883

44

25

73600,88

221

683551308

341774523

683551308

738%

1945

48

30

43600

221

167

38411587

38411587

3566516618

438%

2717

138

30

53600,71

231

170

249430733

124713192

309087504

619%

2999

90

30

63600,59

241

173

303205715

151600995

1541514064

718%

3035

73

30

73600

251

176

261501475

130749687

953587579

895%

3353

36

30

83600,68

261

179

330579259

165288339

326929065

1096%

3792

43

30

93600,44

271

182

320586170

160292389

1138675966

1286%

4199

52

30

10

3661

281

185

212310273

106154380

2152791732

1372%

4270

17

35

53600,9

261

195

98640960

94370131

1712194128

599%

4468

88

35

63600,27

271

198

208995534

159470066

3688897838

748%

4832

47

35

73600,3

281

201

184655877

120820766

1257886276

857%

4832

39

35

83600,53

291

204

92475900

164950337

936426450

982%

5075

78

35

93600,48

301

207

120218670

153015155

1167038934

1206%

5746

25

35

10

3600,2

311

210

138713850

134653336

1965921755

1338%

6054

935

11

3600,61

321

213

153015155

153015155

698825709

1386%

6091

535

12

3600,55

331

216

318521601

159260493

2891061405

1546%

6582

235

13

3600

341

219

317879543

158939498

2869266765

1618%

6734

135

14

3600

351

222

140341136

70170266

2584944397

1649%

6732

335

15

3600,64

361

225

320748752

160374007

3000135551

1667%

6734

335

16

3600,66

371

228

266001234

133000377

299317456

1663%

6734

240

83600,67

321

229

242722440

88341808

565709991

876%

5917

34

40

93600,5

331

232

259419781

45858078

728538687

1118%

6794

23

40

10

3600,02

341

235

198836945

114292440

668675196

1050%

6028

28

40

11

3600,56

351

238

256511793

65511540

2357813396

1129%

6147

16

40

12

3600,7

361

241

166522926

83653197

927285478

1196%

6275

940

13

3600

371

244

216191280

78613848

1287065060

1238%

6275

11

40

14

3600,45

381

247

202023651

141101779

1885699972

1365%

6681

740

15

3600,1

391

250

110807070

161259176

1436723788

1437%

6869

540

16

3600,56

401

253

135113408

87684676

1646246008

1617%

7536

340

17

3600,23

411

256

160735872

100786985

2352762803

1676%

7708

240

18

3600

421

259

201575089

124980674

3293867924

1704%

7740

340

19

3600,67

431

262

281267165

140633143

3582609922

1717%

7833

2

Cuadro 11: Tabla de resultados MiniZinc

80 Escuela Tecnica Superior de Ingenieros Industriales UPM