• No se han encontrado resultados

Hiperheurísticas a través de Programación Genética para la Resolución de Problemas de Ruteo de Vehículos-Edición Única

N/A
N/A
Protected

Academic year: 2017

Share "Hiperheurísticas a través de Programación Genética para la Resolución de Problemas de Ruteo de Vehículos-Edición Única"

Copied!
108
0
0

Texto completo

(1)

Instituto Tecnológico y de Estudios Superiores de Monterrey Campus Monterrey

Monterrey, Nuevo León a

Lic. Arturo Azuara Flores:

Director de Asesoría Legal del Sistema

", en los sucesivo LA OBRA, en virtud de lo cual autorizo a el Instituto

Tecnológico y de Estudios Superiores de Monterrey (EL INSTITUTO) para que

efectúe la divulgación, publicación, comunicación pública, distribución y

reproducción, así como la digitalización de la misma, con fines académicos o

propios al objeto de EL INSTITUTO.

El Instituto se compromete a respetar en todo momento mi autoría y a

otorgarme el crédito correspondiente en todas las actividades mencionadas

anteriormente de la obra.

De la misma manera, desligo de toda responsabilidad a EL INSTITUTO

por cualquier violación a los derechos de autor y propiedad intelectual que

cometa el suscrito frente a terceros.

Nombre Firma AUTOR (A)

(2)

Hiperheurísticas a través de Programación Genética para la

Resolución de Problemas de Ruteo de Vehículos-Edición Única

Title Hiperheurísticas a través de Programación Genética para la Resolución de Problemas de Ruteo de Vehículos-Edición Única

Authors José Alejandro Corona León

Affiliation ITESM-Campus Monterrey

Issue Date 2005-12-01

Item type Tesis

Rights Open Access

Downloaded 19-Jan-2017 12:48:18

(3)

Hiperheur´ısticas a trav´

es de programaci´

on

gen´

etica para la resoluci´

on de problemas

de ruteo de veh´ıculos

T E S I S

Maestr´ıa en Ciencias en Sistemas Inteligentes

Instituto Tecnol´

ogico y de Estudios Superiores de Monterrey

Por

Ing. Jos´

e Alejandro Corona Le´

on

(4)

Hiperheur´ısticas a trav´

es de programaci´

on

gen´

etica para la resoluci´

on de problemas

de ruteo de veh´ıculos

TESIS

Maestr´ıa en Ciencias en

Sistemas Inteligentes

Instituto Tecnol´

ogico y de Estudios Superiores de Monterrey

Por

Ing. Jos´

e Alejandro Corona Le´

on

(5)

Instituto Tecnol´

ogico y de Estudios Superiores de

Monterrey

Divisi´

on de Graduados en Tecnolog´ıas de Informaci´

on y

Electr´

onica

Direcci´on de Programas de Posgrado en Tecnolog´ıas de Informaci´on y

Electr´onica

Los miembros del comit´e de tesis recomendamos que la presente tesis de Ing. Jos´e Alejandro Corona Le´on sea aceptada como requisito parcial para obtener el

grado acad´emico de Maestro en Ciencias en:

Sistemas Inteligentes

Comit´

e de tesis:

Dr. Manuel Valenzuela Rend´on

Asesor de la tesis

Dr. Horacio Mart´ınez Alfaro

Sinodal

Dr. Hugo Terashima Mar´ın

Sinodal

Dr. David A. Garza Salazar

Director del Programa de Graduados en Tecnolog´ıas de Informaci´on y

Electr´onica

(6)

Hiperheur´ısticas a trav´

es de programaci´

on

gen´

etica para la resoluci´

on de problemas

de ruteo de veh´ıculos

Por

Ing. Jos´

e Alejandro Corona Le´

on

TESIS

Presentada a la Divisi´on de Tecnolog´ıas de Informaci´on y Electr´onica

Este trabajo es requisito parcial para obtener el grado acad´emico de Maestro en

Ciencias en Sistemas Inteligentes

Instituto Tecnol´

ogico y de Estudios Superiores de Monterrey

Campus Monterrey

(7)
(8)

Reconocimientos

Deseo externar un sincero agradecimiento a las personas que de alguna forma colaboraron en el desarrollo de esta tesis y me ayudaron a lo largo de toda la maestr´ıa: Al Dr. Manuel Valenzuela Rend´on, por todo los tiempos de aprendizaje que me permiti´o compartir a su lado, as´ı como por su gu´ıa a lo largo de toda la maestr´ıa.

Al Dr. Hugo Terashima Mar´ın, por su ejemplo de excelencia en su trabajo como docente y coordinador de la maestr´ıa, as´ı como por su apoyo constante y su retroali-mentaci´on para esta tesis.

Al Dr. Horacio Mart´ınez Alfaro, por su ayuda, comentarios y acertadas correc-ciones para este trabajo.

A los profesores de la Maestr´ıa en Sistemas Inteligentes, por su ense˜nanza y su dedicaci´on.

Al Dr. Francisco Cant´u y Dr. Rogelio Soto por su liderazgo en el Centro de Sis-temas Inteligentes. A Doris, por su ayuda en todo momento.

A mis amigos Claudia Far´ıas, Ernesto Boj´orquez, Dulce Rodr´ıguez, Luis Loo, C´esar Mar´ın, Marco Montes de Oca, Eduardo Ram´ırez, Carolina Cabrera y Miguel Angel, por su apoyo incondicional. Sin ellos me hubiera sido imposible realizar mis estudios.

A mi familia, por todo lo que son y me dan a cada instante.

A CONACYT y el ITESM, por su apoyo econ´omico que permiti´o que me superara profesionalmente.

Principalmente a Dios, por darme la motivaci´on y la vida para seguir adelante cada d´ıa.

Ing. Jos´

e Alejandro Corona Le´

on

(9)

Hiperheur´ısticas a trav´

es de programaci´

on

gen´

etica para la resoluci´

on de problemas

de ruteo de veh´ıculos

Ing. Jos´e Alejandro Corona Le´on, M.C.

Instituto Tecnol´ogico y de Estudios Superiores de Monterrey, 2005

Asesor de la tesis: Dr. Manuel Valenzuela Rend´on

El problema de ruteo de veh´ıculos, o VRP por sus siglas en ingl´es, (Vehicle Routing Problem) puede ser descrito en su forma m´as sencilla como una flota de veh´ıculos con capacidades uniformes que tiene que satisfacer la demanda de un grupo de clientes a trav´es de un conjunto de rutas que empiezan y terminan en un almac´en com´un y que representan el menor costo posible. Como consecuencia de los altos niveles actuales de congesti´on vehicular, de los fuertes consumos de energ´ıa de los veh´ıculos de carga, as´ı como del impacto negativo que ´estos ´ultimos tienen en el medio ambiente, en los ´

ultimos a˜nos ha aumentado el inter´es de desarrollar t´ecnicas de optimizaci´on que sean eficientes en la resoluci´on de una gran variedad de problemas VRP. Sin embargo, debido a la naturaleza NP-dif´ıcil del VRP, no es factible resolver instancias de tama˜no grande utilizando t´ecnicas exactas sino que la mayor´ıa de los algoritmos de soluci´on para este problema est´an basados en el uso de heur´ısticas y metaheur´ısticas. Estas ´ultimas t´ecnicas no han sido del todo exitosas ya que las heur´ısticas entregan frecuentemente resultados de baja calidad; mientras que las metaheur´ısticas requieren mucho tiempo de c´omputo, as´ı como un alto nivel de especializaci´on en grupos de instancias para la obtenci´on de buenos resultados.

(10)

tipo de problemas como problemas de horario y de empaquetamiento. Por otra parte, en que la programaci´on gen´etica es una t´ecnica que puede dar mayor expresividad a la administraci´on de las heur´ısticas simples que solamente el manejar para ´estas un arreglo en forma de cadena o tira.

(11)

´Indice general

Reconocimientos VI

Resumen VII

´Indice de tablas XI

´Indice de figuras XII

Cap´ıtulo 1. Introducci´on 1

1.1. Definici´on del Problema . . . 2

1.2. Objetivos . . . 3

1.3. Hip´otesis . . . 3

1.4. Contribuci´on . . . 4

1.5. Organizaci´on de la Tesis . . . 5

Cap´ıtulo 2. El problema de ruteo de veh´ıculos (VRP) 6 2.1. Formulaci´on general del VRP . . . 6

2.2. Variantes del problema VRP . . . 9

2.3. T´ecnicas de soluci´on para problemas VRP . . . 11

2.3.1. T´ecnicas exactas . . . 12

2.3.2. Heur´ısticas . . . 12

2.3.3. Metaheur´ısticas . . . 25

2.4. Resumen . . . 29

Cap´ıtulo 3. Hiperheur´ısticas 30 3.1. Definici´on de una hiperheur´ıstica . . . 31

3.2. Mecanismos de aprendizaje para hiperheur´ısticas . . . 33

3.3. Dise˜no de una hiperheur´ıstica . . . 34

3.3.1. Nivel cero: problema/soluci´on . . . 35

3.3.2. Nivel uno: heur´ısticas de bajo nivel . . . 38

3.3.3. Nivel dos: hiperheur´ıstica . . . 38

(12)

Cap´ıtulo 4. Programaci´on Gen´etica 40

4.1. Computaci´on evolutiva . . . 40

4.2. Elementos b´asicos de un m´etodo basado en programaci´on gen´etica . . . 41

4.2.1. Par´ametros de control . . . 44

4.3. El proceso de una corrida de PG . . . 45

4.3.1. Inicializaci´on de la poblaci´on . . . 45

4.3.2. Proceso de evoluci´on . . . 47

4.3.3. Proceso de selecci´on . . . 48

4.4. Resumen . . . 49

Cap´ıtulo 5. Modelo de soluci´on 50 5.1. Implementaci´on de una hiperheur´ıstica simple . . . 54

5.2. Implementaci´on de la hiperheur´ıstica con mayor expresividad . . . 56

5.3. Resumen . . . 58

Cap´ıtulo 6. Experimentaci´on y an´alisis de resultados 59 6.1. Heur´ısticas de construcci´on . . . 60

6.2. Heur´ısticas de mejora . . . 63

6.3. Hiperheur´ıstica simple . . . 66

6.4. Hiperheur´ıstica de mayor expresividad . . . 68

6.5. Discusi´on general . . . 69

6.6. Resumen . . . 72

Cap´ıtulo 7. Conclusiones 73 7.1. Contribuciones y conclusiones . . . 73

7.2. Trabajo futuro . . . 75

Ap´endice A. Instancias de problema de ruteo de veh´ıculos con capacidad

fija (Taillard) 76

Ap´endice B. Instancias de problema de ruteo de veh´ıculos con capacidad

fija (Christofides, Mingozzi y Toth) 83

Bibliograf´ıa 87

(13)

´Indice de tablas

3.1. Diferencias conceptuales entre las hiperheur´ısticas que trabajan con

solu-ciones completas y aqu´ellas que trabajan con solusolu-ciones parciales. . . . 37

3.2. Breve compendio de los puntos a considerar al construir una hiper-heur´ıstica. . . 39

4.1. Par´ametros num´ericos. . . 44

4.2. Variables cualitativas. . . 44

5.1. Instancias de Taillard. . . 50

5.2. Instancias de Christofides, Mingozzi y Toth. . . 51

6.1. Resultados de las heur´ısticas de ahorro para cada instancia. . . 59

6.2. Resultados de heur´ısticas de construcci´on para cada instancia. . . 60

6.3. Resultados condesados de las heur´ısticas de construcci´on. . . 61

6.4. Resultados de las heur´ısticas de mejora para cada instancia. . . 62

6.5. Resultados de las heur´ısticas de mejora para cada instancia. . . 63

6.6. Resultados condesados de las heur´ısticas de mejora. . . 64

6.7. Resultados condesados de las heur´ısticas de mejora. . . 65

6.8. Mejor individuo con hiperheur´ısticas para cada instancia. . . 68

(14)

´Indice de figuras

2.1. Notaci´on para los clientes, el almac´en y el costo de desplazamiento en

una formulaci´on general de un VRP. . . 7

2.2. Notaci´on para los arcos en la definici´on de un VRP. . . 7

2.3. Simetr´ıa en un VRP. . . 8

2.4. Ejemplos del c´alculo de ahorro. . . 13

2.5. Combinaci´on de dos rutas basado en el m´etodo de ahorro. . . 14

2.6. Ejemplo de posibles combinaciones de rutas en un algoritmo de ahorro secuencial. . . 14

2.7. Ejemplo de una ruta circular y una de tipo radial. . . 15

2.8. Ejemplo de una soluci´on obtenida mediante el algoritmo de barrido. . . 18

2.9. Ejemplo de la aplicaci´on del algoritmo rutear primero y asignar despu´es. 19 2.10. Aplicaci´on de un 2-intercambio a una ruta. . . 21

2.11. Ejemplo de los posibles 3-intercambios en una ruta dada la eliminaci´on de tres arcos dados. . . 21

2.12. Ejemplo del operador Or-opt para k = 3. . . 22

2.13. Ejemplo de String Relocation. . . 22

2.14. Ejemplo de String Exchange. . . 23

2.15. Ruta original y eliminaci´on de arcos en un GENI tipo I. . . 23

2.16. Inclusi´on de nuevos arcos e inversi´on de rutas en un GENI tipo I. . . . 24

2.17. Ruta original y eliminaci´on de arcos en un GENI tipo II. . . 24

2.18. Inclusi´on de nuevos arcos e inversi´on de rutas en un GENI tipo II. . . . 25

3.1. Detalle general de una hiperheur´ıstica. . . 32

3.2. Tres niveles para desarrollar una hiperheur´ıstica. . . 35

4.1. Ejemplo sencillo de un paso en el proceso de los algoritmos gen´eticos. . 41

4.2. Los cinco pasos escenciales para la creaci´on de un algoritmo de PG. . . 42

4.3. Arbol que representa la expresi´on (+ (* 3 a) (- b (* 2 c))). . . 43

4.4. ´Arbol de crecimiento completo. . . 46

4.5. Operaci´on de cruce. . . 47

(15)

5.1. Instancia de Taillard tai75a. . . 51

5.2. Arquitectura del modelo de soluci´on propuesto en esta tesis. . . 52

5.3. Ejemplo de un archivo .dat de salida del convertidor de archivos. . . 53

5.4. Ejemplo de un archivo .ins de salida de la heur´ıstica de construcci´on. . 54

5.5. Ejemplo de un posible individuo resultante de la hiperheur´ıstica simple. 56 5.6. Ejemplo de un posible individuo resultante de la hiperheur´ıstica con mayor expresividad. . . 57

6.1. Gr´afica de resultados de heur´ısticas de construcci´on. . . 61

6.2. Resultados de heur´ısticas de mejora. . . 64

6.3. Comparaci´on entre la optimizaci´on de resultados buenos y no tan buenos por heur´ısticas de mejora. . . 66

6.4. Comparaci´on entre mejor heur´ıstica individual y la hiperheur´ıstica. . . 67

6.5. Comportamiento de hiperheur´ıstica con mejor entrada. . . 69

6.6. Comportamiento de hiperheur´ıstica con entrada aleatoria. . . 70

6.7. Comparaci´on de desempe˜no promedio entre la hiperheur´ıstica simple y la de mayor expresividad. . . 70

6.8. Comparaci´on de nodos promedio entre la hiperheur´ıstica normal y la que usa mayor n´umero de funciones. . . 71

6.9. Ejemplo de la mitad de un buen individuo resultante en la corrida de la instancia tai75a.ins. . . 72

A.1. Instancia tai75a. . . 76

A.2. Instancia tai75b. . . 77

A.3. Instancia tai75c. . . 77

A.4. Instancia tai75d. . . 78

A.5. Instancia tai100a. . . 78

A.6. Instancia tai100b. . . 79

A.7. Instancia tai100c. . . 79

A.8. Instancia tai100d. . . 80

A.9. Instancia tai150a. . . 80

A.10.Instancia tai150b. . . 81

A.11.Instancia tai150c. . . 81

A.12.Instancia tai150d. . . 82

A.13.Instancia tai385. . . 82

B.1. Instancia vrpnc1. . . 83

B.2. Instancia vrpnc2. . . 84

B.3. Instancia vrpnc3. . . 84

B.4. Instancia vrpnc4. . . 85

(16)
(17)

Cap´ıtulo 1

Introducci´

on

El transporte de mercanc´ıas en ambientes urbanos juega un papel muy importante en el desarrollo sostenible de una ciudad ya que altos niveles de movimiento de bienes ocurren dentro de las ciudades. Por ejemplo, en Tokio y sus ´areas conurbadas cerca del 67 % del total de productos que son movilizados (en t´erminos de tonelaje) tienen su origen y su destino dentro de las ´areas centrales de la ciudad (Taniguchi y Thompson, 1999).

Recientemente el transporte de mercanc´ıas en ambientes urbanos enfrenta una can-tidad importante de situaciones problem´aticas. Se espera que los veh´ıculos cargueros puedan proveer de altos niveles de servicio dentro del marco de sistemas de transporte justo a tiempo y costos bajos. Los niveles de congesti´on en la ciudad han ido aumentan-do constantemente debiaumentan-do al incremento de tr´afico. Adem´as, los problemas del medio ambiente causados por el tr´afico se han vuelto una situaci´on cr´ıtica en muchas ciudades del planeta. Los grandes camiones de carga son fuente importante de la contaminaci´on del aire debido a las emisiones deN Ox, de material de part´ıculas suspendidas en el aire y de otros gases. Tambi´en la conservaci´on de la energ´ıa es un factor importante no s´olo por la cantidad limitada de recursos naturales disponibles sino tambi´en por la reducci´on de las emisiones deCO2 que permitan limitar el calentamiento global de la Tierra. Otro

(18)

Uno de los problemas que m´as ha interesado a la log´ıstica urbana ha sido el proble-ma de ruteo de veh´ıculos o VRP (vehicle routing problem) por sus amplias aplicaciones dentro del dise˜no y administraci´on de sistemas de distribuci´on, como por ejemplo en el transporte de materia prima y de mercanc´ıas, entregas a domicilio, rutas de autobuses p´ublicos o escolares. Otra de las razones por las cuales el estudio de este problema ha despertado un gran inter´es es debido a su complejidad computacional.

Para atacar el VRP muchas han sido las t´ecnicas de soluci´on implementadas, pero junto con la complejidad y eficiencia de dichos m´etodos, el problema ha involucrado cada vez m´as variantes que lo hacen computacionalmente m´as dif´ıcil de resolver, como por ejemplo, ventanas de tiempo de servicio, distribuciones de probabilidad que simulen las condiciones viales, veh´ıculos de distintas capacidades, entre otras. Dichas variantes han ido apareciendo al analizar y tratar de resolver problem´aticas reales citadinas.

Son muchos los avances que se han logrado en la resoluci´on de problemas de este tipo, obteniendo muy buenas soluciones para diferentes tipos de instancias. Sin embargo, una de las principales desventajas es que las heur´ısticas (savings method, cluster first-route second, etc.) y metaheur´ısticas (recocido simulado, redes neuronales, algoritmo hormiga, etc.) utilizadas resultan eficientes en ciertos casos o instancias, pero deficientes en otros (Hjorring, 1995).

La computaci´on evolutiva tambi´en ha hecho uso de m´etodos como algoritmos gen´eticos y coevoluci´on para tratar de resolver problemas VRP, adem´as de hacer gran variedad de modificaciones a estas ideas y a sus m´etodos originales para tratar de obtener resultados m´as eficientes (Zhu, 2003; Uchimura y Sakaguchi, 1995; Tan y Lee, 2001, 2003; Taniguchi, 2001).

El objetivo que persigue esta tesis es implementar la combinaci´on de programaci´on gen´etica e hiperheur´ısticas, la cual puede resultar m´as eficiente en tiempo de c´omputo, calidad de la soluci´on, facilidad de implementaci´on y repetibilidad que los m´etodos utilizados hasta ahora en la resoluci´on de problemas VRP.

1.1.

Definici´

on del Problema

El problema VRP tiene muchas variantes por la gran cantidad de inc´ognitas que involucra. Sin embargo, con el trabajo de esta tesis piensan atacarse ´unicamente ins-tancias de CVRP (problemas con veh´ıculos de capacidad fija). Como ser´a explicado posteriormente este tipo de problema resulta el menos complejo de todas las varia-ciones del problema VRP. Para resolver el problema CVRP se han publicado una can-tidad considerable de art´ıculos. Este trabajo pretende ser un primer punto de partida para analizar el desempe˜no de programaci´on gen´etica (PG) con hiperheur´ısticas en la resoluci´on de problemas VRP.

(19)

investigaci´on son:

Determinar o desarrollar una plataforma eficiente de PG que pueda resultar factible para la resoluci´on de problemas VRP basado en t´ecnicas de hiperheur´ısti-ca.

Evaluar y determinar la eficiencia de las heur´ısticas ya documentadas en la lite-ratura para los problemas CVRP y estudiar por medio de PG la manera en que dichas heur´ısticas puede interactuar para proveer una mayor eficiencia.

Evaluar esta pr´actica que no ha sido utilizada antes para resoluci´on problemas de VRP.

1.2.

Objetivos

El objetivo general de este trabajo es desarrollar e implementar la idea de resolu-ci´on de problemas VRP del tipo CVRP utilizando un esquema que combina progra-maci´on gen´etica e hiperheur´ısticas.

De lo anterior se pueden establecer los siguientes objetivos particulares:

Seleccionar de la literatura el conjunto de heur´ısticas que resulten m´as promete-doras para solucionar de manera ´optima el conjunto de problemas VRP a utilizar, as´ı como posiblemente desarrollar nuevas heur´ısticas.

Definir e implentar una arquitectura eficiente que integre una plataforma de pro-gramaci´on gen´etica junto con el concepto de hiperheur´ısticas.

Encontrar las mejores combinaciones de heur´ısticas, a trav´es de la aplicaci´on propuesta, que en conjunto resuelvan de manera ´optima los diferentes tipos de problemas VRP a utilizar.

Definir condiciones del problema que determinen que tipo de heur´ıstica resulta conveniente aplicar.

1.3.

Hip´

otesis

La hip´otesis principal de la tesis propuesta es que el uso de programaci´on gen´etica e hiperheur´ısticas representa una buena opci´on para la soluci´on de problemas CVRP. Con el fin de probar lo anterior se presentan las siguientes preguntas de investigaci´on:

(20)

2. ¿Cu´ales son los par´ametros de programaci´on gen´etica que eficientizan los resul-tados de esta aplicaci´on?

3. ¿Qu´e operadores condicionales y de ciclo, entre otros, deben ser parte del conjunto de funciones de nuestra plataforma de programaci´on gen´etica?

4. ¿Qu´e variables o estados del problema son importantes para decidir entre el uso de una heur´ıstica y otra?

5. ¿Es la t´ecnica propuesta en esta tesis un buen m´etodo de soluci´on en velocidad, optimalidad y repetibilidad para los problemas VRP propuestos?

6. ¿Es posible encontrar programas de aplicaci´on de heur´ısticas a problemas de VRP mediante PG?

1.4.

Contribuci´

on

El aporte del presente trabajo consiste en investigar el desempe˜no de hiperheur´ısti-cas con mecanismo de aprendizaje basado en programaci´on gen´etica aplicadas a pro-blemas de ruteo de veh´ıculos de capacidad fija y concluir acerca de la calidad de sus soluciones.

Las hiperheur´ısticas son una t´ecnica reciente para resolver problemas de opti-mizaci´on que ya han tenido ´exito resolviendo otros problemas de optiopti-mizaci´on.

En funci´on de las preguntas de investigaci´on se pretende que se aporte m´as infor-maci´on acerca de:

La eficacia de programaci´on gen´etica como mecanismo de aprendizaje en hiper-heur´ısticas.

Averiguar m´as sobre el ´exito de las hiperheur´ısticas para atacar problemas de optimizaci´on al presentarle un nuevo reto.

Determinar si existen heur´ısticas de mejora que sobresalgan en sus resultados con respecto a las dem´as.

Determinar la influencia de la calidad de la entrada a la hiperheur´ıstica de soluci´on completa con respecto a la calidad de la salida.

(21)

1.5.

Organizaci´

on de la Tesis

(22)

Cap´ıtulo 2

El problema de ruteo de veh´ıculos (VRP)

El problema de ruteo de veh´ıculos (VRP) fue propuesto por primera vez por Dantz-ing y Ramser (1959), quienes le dieron originalmente el nombre detrucking dispatching problem. Actualmente, VRP es el nombre gen´erico dado a una gran cantidad de pro-blemas que involucran la distribuci´on de bienes, informaci´on, servicios o individuos.

En su forma m´as general este tipo de problemas puede describirse como la asig-naci´on ´optima de clientes a veh´ıculos transportadores que minimice los costos determi-nando la ruta de cada uno de los veh´ıculos as´ı como el orden de visita a los clientes. Algunas de las variables involucradas en el planteamiento de una instancia del pro-blema VRP son la cantidad y localizaci´on de los clientes y centros de distribuci´on, la capacidad de los veh´ıculos, las demandas de los clientes, los tiempos y costos de trans-portaci´on, as´ı como la descripci´on de las v´ıas de transporte. Los t´erminos centros de distribuci´on, almacenes y centros de abastecimiento ser´an usados de manera indistinta en este documento. De la misma forma se utilizar´an de manera indistinta los t´erminos nodos y clientes.

2.1.

Formulaci´

on general del VRP

La formulaci´on base de este conjunto de problemas puede hacerse a trav´es de un grafo denotado comoG(V, E) y utilizando las siguientes notaciones (Taniguchi, 2001):

V = {v0, v1, ..., vn} es el conjunto de v´ertices del grafo, donde v0 corresponde al

almac´en yV′ es el conjunto de los n clientes, es decir, V= V/{v

0}.

A es el conjunto de arcos del grafo representado como A = {(vi, vj)| vi, vj ∈ V ∩i6=j}.

C es la matriz de distancias o costos cij entre los clientesvi y vj.

d es un vector de demandas de los clientes.

(23)

m es el n´umero de veh´ıculos (una ruta es asignada a cada veh´ıculo).

fi es el costo fijo de utilizaci´on del veh´ıculo i.

[image:23.612.251.393.411.551.2]

En las figuras 2.1 y 2.2 se muestran gr´aficamente ejemplos de la notaci´on utilizada en una formulaci´on general de un VRP.

Figura 2.1: Notaci´on para los clientes, el almac´en y el costo de desplazamiento en una formulaci´on general de un VRP.

Figura 2.2: Notaci´on para los arcos en la definici´on de un VRP.

Cuando cij = cji∀ (vi, vj) ∈A se dice que el problema es sim´etrico y es entonces com´un reemplazar el conjunto A por el conjunto E, definido como E = {(vi, vj) |

vi, vj ∈ V ∩ i < j}. En la figura 2.3 puede verse un ejemplo de estos dos tipos de

planteamiento para el VRP.

(24)

Figura 2.3: Simetr´ıa en un VRP.

dado D.

Una soluci´on factible S para problemas de este tipo puede ser compuesta de dos elementos:

una partici´onR1,...,Rm deV

una permutaci´onσi de RiS

v0 especificando el orden de los clientes en la ruta i.

Por ejemplo, una soluci´on factible para un problema de 15 clientes, podr´ıa ser una partici´on de 3 rutas

R1 ={v2, v7, v12, v15},

R2 ={v1, v3, v9, v10, v14},

R3 ={v4, v5, v6, v8, v11, v13}

con permutaciones de la siguiente manera:

σ1 ={v0, v12, v2, v7, v15, v0},

σ2 ={v0, v10, v9, v14, v3, v1, v0},

σ3 ={v0, v8, v11, v6, v13, v5, v4, v0}.

El costo de una ruta dada Ri = {v0, v1, ..., vni+1}, dondev0 = vni+1, est´a definido

por la funci´on

C(Ri) = ni

X

j=0

cj,j+1+

ni

X

j=1

C(δj) +fi.

Una ruta Ri es factible si el veh´ıculo se detiene exactamente una vez en cada uno de los clientes que le corresponden y el tiempo total de la ruta t(Ri) no excede un l´ımite preespecificado D: t(Ri)≤ D. Finalmente, el costo de la soluci´on s al problema corrresponde a la funci´on de costo total

F CTV RP(s) =

m

X

i=1

(25)

En el resto de esta tesis se procurar´a mantener la nomenclatura utilizada en esta primera formulaci´on del problema VRP, en caso de que sea necesario cambiar alguna notaci´on se definir´a la diferencia.

2.2.

Variantes del problema VRP

Debido a la diversidad de condiciones de las posibles variables del VRP, la litera-tura ha clasificado sus posibles planteamientos en diferentes grupos de problemas (Pi-singer y Ropke, 2005) .

El CVRP (Capacitated Vehicle Routing Problem) es un problema VRP en el cual una flota fija de veh´ıculos de capacidad uniforme Q debe satisfacer las entregas a una serie de clientes de demandas conocidas partiendo de un solo almac´en com´un minimizando el costo de transportaci´on. Una soluci´on es factible para esta instancia si lo es para el problema generalizado de VRP, pero adem´as si el total de mercanc´ıa designado a cada veh´ıculo dentro de su ruta no excede su capacidad m´axima, es decir, que cada ruta Ri cumple con la siguiente desigualdad:

ni

X

j=1

dj ≤Q.

Para este tipo de problema las variables de costo fijo fi, tiempo de servicio δj

y l´ımite de tiempo de servicio D son ignoradas; la primera como consecuencia de la uniformidad en el tama˜no de los camiones, mientras que la segunda y la tercera por simplicidad. En esta formulaci´on la cantidad de veh´ıculosmes una variable de decisi´on que no tiene cota superior, es decir, se asume que la disponibilidad de veh´ıculos es ilimitada. Si se tuviera una flota finita se podr´ıa agregar una cota superior para m o directamente fijar su valor. Su cota inferior (Martello y Toth, 1990) est´a dada por el valor ´optimo de la relajaci´on lineal del Bin Packing Problem (BPP), que es

& Pn i=1di

Q

'

.

(26)

En los problemasVRPHEs(VRP with HEterogeneous Fleet) la flota de veh´ıculos tiene camiones de distintas capacidades. El objetivo de estos problemas es determinar cu´ales veh´ıculos utilizar para minimizar la suma de los costos fijos y los costos por recorrido.

La formulaci´on de los problemas VRPHE cambia con respecto a la formulaci´on general principalmente en la manera en que pueden definirse los diferentes tipos de camiones. Sea un conjunto T = {1, ..., l} indicando los diferentes tipos de veh´ıculos de la flota de entrega, se tiene que un veh´ıculo tipo k que pertenece a T tiene una capacidad de carga Qk y su n´umero de veh´ıculos disponibles es de mk. Adem´as, el uso de un veh´ıculo tipo k implica un costo fijo fk y un costo de recorrido cijk para viajar desde la ubicaci´on del cliente vi a la del cliente vj.

En un VRPTD (VRP con Time Deadlines) un conjunto de veh´ıculos de capaci-dad semejante est´an disponibles para servir a una serie de clientes. Cada cliente tiene definido un tiempo m´aximo de entrega, de tal forma que el veh´ıculo recibe un costo de penalizaci´oncd,i al momento de llegar tarde a la entrega de mercanc´ıa con el cliente vi. El objetivo de este tipo de problemas consiste en minimizar el n´umero de veh´ıculos que puedan atender a todos los clientes considerando los l´ımites de su capacidad de carga, as´ı como los costos generados por las distancias recorridas y/o por las entregas tard´ıas.

En los problemas denominados como VRPTW (Vehicle Routing Problem with Time Windows) una flota de veh´ıculos de capacidades id´enticas entrega una serie de ´ordenes a un conjunto de clientes dentro del intervalo de tiempo definido por cada cliente partiendo y terminando en un almac´en com´un.

El objetivo es hallar la ruta de veh´ıculos con el menor costo tal que:

1. cada cliente es asignado dentro de la ruta de solamente un veh´ıculo y las ´ordenes de un cliente deben ser entregadas en su totalidad al momento de visitarlo,

2. cada cliente es visitado durante su respectiva ventana de tiempo o de otra manera se recibe una penalizaci´on,

3. la carga de cada veh´ıculo no excede su capacidad Q,

4. cada veh´ıculo empieza y termina su recorrido en el almac´en,

5. un veh´ıculo puede realizar m´ultiples rutas durante un mismo d´ıa.

Algunas variables importantes que se especifican para este tipo de problemas son:

para cada cliente vi es definida una ventana de servicio [bi, ei], con ei ≥bi ≥0;

cada arco de G(V, E) es asociado con un tiempo tij (tiempo de recorrido de un

(27)

el costo de penalizaci´on por llegar antes (ce,i) o despu´es (cd,i) de lo especificado por la ventana de tiempo del cliente vi.

El VRPPD (VRP with Pick-Up and Delivering) es un problema VRP en el cual

la posibilidad de que los clientes regresen alg´un producto debe ser contemplada. Por lo tanto en este tipo de problemas es necesario tomar en cuenta que la mercanc´ıa que el cliente retorne debe caber en el veh´ıculo. Esta restricci´on hace el problema m´as dif´ıcil y puede propiciar la mala utilizaci´on de los veh´ıculos, la mayor longitud de los recorridos o la necesidad de m´as veh´ıculos.

VRPB (VRP with Backhauls) es un problema VRP en el cual los clientes pueden demandar y/o regresar productos. VRPB es similar al problema VRPPD con la dife-rencia que en el caso de VRPB todas las entregas deben ser hechas antes de recoger del cliente alguna mercanc´ıa.

SVRP (Stochastic VRP) es un problema VRP con variaciones estoc´asticas donde por lo menos una de sus variables es modelada a trav´es de una distribuci´on de proba-bilidad (por ejemplo las demandas de los clientes, el n´umero de clientes, el tiempo de servicio o el tiempo de recorrido).

La formulaci´on b´asica del VRP no permite que un cliente sea atendido por m´as de un veh´ıculo. Varios investigadores han estudiado una relajaci´on para el VRP de-nominada SDVRP (Split Delivery VRP), la cual permite que un cliente sea visitado por varios veh´ıculos si esto reduce los costos totales. Este planteamiento es de mayor beneficio cuando los tama˜nos de las ´ordenes de los clientes son comparables con la capacidad del veh´ıculo.

El PVRP (Periodic VRP) es un problema VRP donde las entregas pueden ser hechas cada ciertos d´ıas.

El RTDVRP (Real Time Dynamic VRP) es una extensi´on de VRPTW con las

dos siguientes diferencias (1) En RTDVRP, el tiempo de recorrido entre nodos cambia din´amicamente debido al cambio de las condiciones del tr´afico; (2) en VRPTW, todos los veh´ıculos parten del almac´en en un tiempo cero, mientras que en RTDVRP, algunos de los veh´ıculos son asignados din´amicamente con un tiempo de partida distinto a cero.

2.3.

ecnicas de soluci´

on para problemas VRP

(28)

2.3.1.

ecnicas exactas

Los algoritmos exactos son aquellos que siempre producen una soluci´on ´optima. Dichas t´ecnicas no son adecuadas en aplicaciones que requieren soluciones r´apidas o que tratan de resolver instancias de problemas muy grandes. Debido a la naturaleza NP del problema VRP, la b´usqueda exhaustiva de estas t´ecnicas no resulta eficiente computa-cionalmente. A pesar de que mediante dichas t´ecnicas se han resuelto algunas instancias de 100 o m´as v´ertices, los algoritmos exactos no pudieron resolver una instancia de un problema CVRP de tan solo 51 clientes (Toth y Vigo, 2001; Ralphs, Kopman, Pul-leyblank, y Trotter, 2003). Frecuentemente, versiones pr´acticas de CVRPs contienen restricciones que resultan complicadas para los algoritmos exactos y que por lo tanto no pueden ser resueltas mediante estas t´ecnicas. Algunos ejemplos del uso de t´ecnicas exactas son branch and bound (Christofides, Mingozzi, y Toth, 1981), branch and cut

(Augerat, Belenguer, Coberan, Naddef, y Rinaldi, 1995), programaci´on din´amica y pro-gramaci´on lineal entera (Balinski y Quandt, 1964). De las anteriores, los algoritmos que resultan m´as eficientes para la resoluci´on de CVRPs son aqu´ellos basados en branch and cut (Naddef y Rinaldi, 2001; Ralphs et al., 2003). Compendios sobre este tipo de m´etodos para la resoluci´on de problemas VRP se pueden encontrar en los trabajos de Laporte (1992) y de Laporte y Nobert (1987).

2.3.2.

Heur´ısticas

(29)

Heur´ısticas de construcci´on

M´etodo de ahorro

El m´etodo de ahorro, o savings method, fue definido por Clarke y Wright (1964), y es quiz´as el m´as antiguo y el m´as conocido dentro de las heur´ısticas para VRP. El algoritmo empieza con una soluci´on inicial donde cada veh´ıculo visita a un solo cliente. Despu´es, la heur´ıstica calcula los ahorros en distancias utilizando la ecuaci´on

sij =ci0+c0j−cij (2.1)

para todas las combinaciones posibles, dondevi corresponde al final de la primera ruta y vj al inicio de la segunda ruta a combinar; sij es el ahorro resultante de hacer la combinaci´on entrevi y vj. En la figura 2.4 se muestran dos ejemplos de como se hace el c´alculo del ahorro, en el primero de ellos el ahorro es igual a 2 resultado de la operaci´on 5+4-2, en el otro el ahorro es igual a -2 como resultado de la operaci´on 1+2-5.

Despu´es del c´alculo de los ahorros se selecciona aquella combinaci´on para la cual el ahorro resulte m´aximo y ambas rutas son unidas tal como se muestra en la figura 2.5 siempre y cuando no se sobrepase la capacidad del cami´on. Este proceso contin´ua hasta que las rutas ya no pueden ser combinadas debido a las restricciones de capacidad de los veh´ıculos.

Figura 2.4: Ejemplos del c´alculo de ahorro.

El m´etodo de ahorro tiene dos versiones principales, la paralela que es en la cual se trabaja con todas las rutas simult´aneamente; y la secuencial, que es en la que una ruta es construida a la vez. En el caso del ahorro secuencial dada una ruta Rg pueden realizarse dos posibles combinaciones teniendo otra ruta Rh como se muestra en la figura 2.6.

Algoritmo de ahorro (Versi´on paralela)

Paso 1 Se construye una ruta por cliente de la forma (0,vi,0) y se calcula la

(30)

Figura 2.5: Combinaci´on de dos rutas basado en el m´etodo de ahorro.

Figura 2.6: Ejemplo de posibles combinaciones de rutas en un algoritmo de ahorro secuencial.

Paso 2 Se encuentra sij m´aximo entre los ahorros de S que no han sido consi-derados hasta el momento elimin´andose dicho valor des de la matriz de ahorros. Sea Rk y Rl las rutas que contienen a vi y a vj respectivamente, combinarlas si la uni´on de ´estas resulta factible. Regresar al inicio del paso 2 en caso de que existan m´as ahorros que considerar, de lo contrario terminar.

Algoritmo de ahorro (Versi´on secuencial)

Paso 1 Se construye una ruta por cliente de la forma (0,vi,0) y se calcula la matriz de ahorrosS para cada pareja de clientes vi y vj.

Paso 2Seleccionar una ruta Rg. Si no hay rutas por considerar, terminar.

Paso 3 Sea Rg la ruta (0,vi,...,vj,0). Si hay ahorros por considerar seleccionar

(31)

regresar al paso 2. Eliminar dicho ahorro de la matriz S y combinar Rg con la ruta correspondiente al valor seleccionado si dicha uni´on es factible.

Se ha observado que utilizando la definici´on original de ahorro suelen generarse algunas rutas circulares, como se muestra en la figura 2.7, lo cual resulta negativo. Para solucionar este problema Gaskell (1967), Yellow (1970), Golden y Magnanti (1977) proponen redefinir el ahorro

sij =ci0+c0j −λcij, (2.2)

donde λ es un par´ametro que penaliza la uni´on de rutas con clientes lejanos (llama-do par´ametro de forma). Dicho par´ametro puede utilizarse tambi´en para generar un conjunto de soluciones diferentes mediante la ejecuci´on repetida del algoritmo con di-ferentes valores deλ.

Figura 2.7: Ejemplo de una ruta circular y una de tipo radial.

El m´etodo de ahorro es una heur´ıstica sencilla y f´acil de implementar que ha for-mado las bases de varios paquetes de software de ruteo, sin embargo estos paquetes no encuentran el ´optimo para la mayor´ıa de los problemas. Una de sus principales desven-tajas es que frecuentemente calcula como de alto ahorro la combinaci´on en una sola ruta de un cliente que est´a lejos del almac´en y del primer cliente. Muchos investigadores han trabajado en la mejora de este m´etodo principalmente modificando la manera de medir los ahorros de distancia y cambiando otros aspectos en la combinaci´on de rutas de la heur´ıstica. Las soluciones obtenidas con el m´etodo de ahorro pueden, en general, ser mejoradas mediante operadores de b´usqueda local como los algoritmo 2-opt y 3-opt (Lin, 1965).

M´etodo de inserci´on

(32)

los paralelos el cliente puede ser insertado en cualquiera de las rutas de la soluci´on parcial. La principal desventaja de las heur´ısticas de inserci´on secuencial contra las de inserci´on paralela es que los ´ultimos clientes no visitados tienden a estar dispersos y por lo tanto las ´ultimas rutas constru´ıdas son de costo muy elevado (Mole y Jameson, 1976; Potvin y Rousseau, 1993). La desventaja del m´etodo de inserci´on paralelo consiste en c´omo determinar con qu´e clientes y con cu´antas rutas iniciar la construcci´on de la soluci´on. En algunos planteamientos se ha definido un n´umero inicial de rutas y se ha seleccionado aleatoriamente un cliente para iniciar cada una de las rutas; por otra parte, en otros casos, se ha realizado primeramente un m´etodo de inserci´on secuencial, y una vez terminado este proceso se ha utilizado el n´umero de rutas obtenidas como valor inicial y un cliente aleatoriamente de cada grupo como primer elemento de la ruta (Laporte y Semet, 1999).

La heur´ıstica de inserci´on secuencial mejor conocida es la de Mole y Jameson la cual utiliza dos medidas para calcular el cliente que va a ser insertado en la ´ultima ruta creada y su mejor posici´on dentro de dicha ruta. Para determinar esto, primeramente se calcula para cada cliente no visitado la mejor posici´on para ubicarlo dentro de la ruta actual tomando ´unicamente en cuenta las distancias y sin reordenar los clientes que ya est´an en la ruta. Sea Rk la ruta actual, vj el cliente no visitado y vi y vi+1 los

v´ertices de la ruta entre los cuales se desea insertarvj, el costo de insertarvj se calcula mediante la funci´on

c1(vi, vj) =cvi,vj +cvj,vi+1−λcvi,vi+1 (2.3)

para (0≤i≤nk) y dondenk se considera la posici´on num´erica del ´ultimo cliente de la ruta Rk.

Si la inserci´on de vj en la ruta Rk excede la capacidad Q, c1 se considera infinita;

de lo contrario, procede a calcularse la mejor posici´on para insertar el cliente vj en la ruta Rk a partir de la ecuaci´on

p(vj) = m´ın

i=0,...,nkc1(vi, vj). (2.4)

Si se utilizara solamente la medida c1 para decidir el pr´oximo cliente a insertar

es probable que los clientes que se encuentran lejos del dep´osito no sean tomados en cuenta sino hasta las iteraciones finales del algoritmo, es decir, cuando sean las ´unicas alternativas factibles. Por lo tanto, es necesario utilizar un incentivo adicional para la inserci´on de este tipo de clientes. Para esto se define para cada cliente vj la llamada medida de urgencia

c2(vi, vj) =µc0j−c1(vi, vj). (2.5)

En cada iteraci´on se busca el cliente que maximice esta medida c2 y se le inserta en la

(33)

Para seleccionar el cliente que iniciar´a una ruta pueden utilizarse diferentes alter-nativas, por ejemplo, puede tomarse como referencia el costo de viaje para cada uno de los clientes con respecto al almac´en (c0k). El algoritmo utiliza dos par´ametros λ y µ para modificar sus criterios de selecci´on de clientes. Al hacer crecer el par´ametro λ

se favorece la inserci´on de clientes entre nodos lejanos; y al aumentar el valor de µ, se privilegia la inserci´on de clientes alejados del almac´en.

En general, los ´ultimos clientes no visitados son lejanos entre s´ı y por ende, las ´

ultimas rutas construidas son de mala calidad. Para corregir esta deficiencia, el algo-ritmo de inserci´on secuencial de Mole y Jameson sugiere utilizar un procedimiento de intercambio de clientes entre las rutas una vez que el algoritmo finaliza su ejecuci´on. Primero se buscan reasignar clientes de modo que se disminuya el costo de la soluci´on. Luego, cuando todos los cambios aumentan el costo, se prosigue realizando intercambios buscando una soluci´on que utilice menos veh´ıculos.

Cualquier heur´ıstica de inserci´on para el TSP(Traveling Salesman Problem) puede ser utilizada para el VRP siempre que se verifique la factibilidad antes de realizar las inserciones. Por un compendio de heur´ısticas de inserci´on para el TSP puede consul-tarse el trabajo de Bodin, Golden, Assad, y Ball (1983).

Heur´ısticas de dos fases

M´etodos asignar primero y rutear despu´es

En los m´etodos asignar primero y rutear despu´es (cluster first, route second) primero se busca generar grupos de clientes, tambi´en llamados clusters, que estar´an en una misma ruta en la soluci´on final. Luego, para cada cluster, se crea una ruta que visite a todos sus clientes. Las restricciones de capacidad son consideradas en la primera etapa, asegurando que la demanda total de cada cluster es un TSP que, dependiendo de la cantidad de clientes en el cluster, se puede resolver en forma exacta o aproximada.

Heur´ıstica de barrido o sweep

(34)

coordenadas polares (ρi, θi) en un sistema que tiene el dep´osito como origen.

Heur´ıstica de barrido

Paso 1 (Inicializaci´on). Ordenar los clientes seg´unθde manera creciente. Si dos clientes tienen igual valor deθ, colocar primero el de menor valor deρ. Seleccionar un clientevi para comenzar y hacer k= 1 y Rk ={vi}.

Paso 2 (Selecci´on). Si todos los clientes pertenecen a alg´un cluster, ir a 3. Si no, seleccionar el siguiente clientevi+1. Si vi+1 puede ser agregado aRk sin violar

las restricciones de capacidad, hacer Rk = Rk∪vi+1. Si no, hacer k = k + 1 y

crear un nuevo cluster Rk ={vi+1}. Ir a 2.

Paso 3 (Optimizaci´on). Para cada cluster Rk donde k = 1,...,m, resolver un TSP con sus clientes.

Por la forma en que se generan los clusters, las rutas obtenidas no se enciman, lo que puede ser bueno en algunos casos. Un posible resultado de la aplicaci´on de este algoritmo se muestra en la figura 2.8 donde las l´ıneas puenteadas indican los l´ımites de los clusters.

Figura 2.8: Ejemplo de una soluci´on obtenida mediante el algoritmo de barrido.

(35)

M´etodo rutear primero y asignar despu´es

En los m´etodos rutear primero y asignar despu´es (Beasley, 1983) tambi´en se encuentra la soluci´on en dos fases. Primeramente se calcula una ruta que visita a todos los clientes resolviendo un TSP, sin respetar las restricciones del problema, para despu´es, particionar dicha ruta en varias, cada una de las cuales es factible.

Considerando aR como la soluci´on del TSP obtenida en la primera fase, se deter-mina la mejor partici´on de R que respete la capacidad del veh´ıculo. Este problema se puede formular como el de hallar un camino m´ınimo en un grafo dirigido y ac´ıclico.

En la figura 2.9 se presenta un ejemplo de un ordenamiento de los clientes de un problema tipo y la posible soluci´on dada por el algoritmo la cual corresponder´ıa a las rutas (0,1,2,0) y (0,3,5,4,0).

Figura 2.9: Ejemplo de la aplicaci´on del algoritmo rutear primero y asignar despu´es.

Aunque la ruta inicial sea la soluci´on ´optima del TSP y la partici´on se realice de manera ´optima, las rutas obtenidas no necesariamente son una soluci´on ´optima para el problema. Por lo tanto, se hace uso de heur´ısticas de mejora iterativa para encontrar vecindades a dicha soluci´on que puedan representar un menor costo como por ejemplo mediante la aplicaci´on de 2-opt. Adem´as, el algoritmo puede ejecutarse repetidas veces, partiendo de diferentes rutas iniciales obtenidas a partir de diferentes heur´ısticas para encontrar el TSP principal.

En general, los resultados encontrados por esta heur´ıstica no han sido competi-tivos si se comparan con las soluciones encontradas por otras heur´ısticas.

Heur´ısticas de mejora iterativa

(36)

procedimiento hasta que la soluci´on no pueda ser mejorada. Al terminar, se obtiene una soluci´on localmente ´optima respecto a la definici´on de la vecindad. Para obtener

s′ puede buscarse la mejor soluci´on N(s) (estrategia best improvement) o simplemente tomar la primera soluci´on deN(s) que mejore el costo (estrategia first improvement).

Usualmente se define N(s) como las soluciones que pueden obtenerse aplicando a s alguna regla o procedimiento sencillo llamado movimiento o movida. Las movidas para el VRP pueden clasificarse en movimientos dentro de una sola ruta y movidas multirruta. En las movidas de una ruta los clientes que se visitan en una ruta no var´ıan luego de la aplicaci´on del operador, lo que var´ıa es el orden en que se realizan las visi-tas. En los movimientos multirruta, adem´as de cambios en el orden de las visitas suele modificarse el conjunto de clientes visitados en cada ruta.

Heur´ısticas de mejoramiento de rutas individuales

λ-intercambio

Uno de los operadores de b´usqueda local m´as conocidos es elλ-intercambio definido por Lin (1965). Este tipo deλ-intercambio corresponde a movidas de una ruta y consiste en eliminarλ arcos de la soluci´on (λ >1) y reconectar losλ segmentos restantes. Una soluci´on se diceλ-´optima si no puede ser mejorada utilizandoλ-intercambios. Se llama

λ-opt a un algoritmo de b´usqueda local que utilizaλ-intercambios hasta alcanzar una soluci´onλ-´optima.

En una ruta que visita n clientes, hay Cλ

n+1 maneras posibles de eliminar λ arcos

y, dada una elecci´on de arcos a eliminar, hay 2λ−1

(λ −1)! maneras de reconectar la ruta (incluyendo la reconexi´on que vuelve a generar la misma ruta). Por lo tanto, la cantidad de λ-intercambios posibles es 2λ−1

(λ−1)!Cλ n+1.

Con esto puede concluirse que verificar si una soluci´on es λ-´optima puede hacerse en tiempoO(nλ) en el peor caso.

Usualmente se implementan 2-intercambios y 3-intercambios. Posibles movidas de este tipo se muestran en las figuras 2.10 y 2.11. En general, estas movidas invierten el orden de algunas visitas. Asumiendo que las movidas no afectan la factibilidad y que los costos son sim´etricos, puede buscarse movidas que mejoren el costo de una ruta sin necesidad de explorar todas las posibilidades (Johnson y McGeoch, 1997). Si no se cumplieran dichos supuestos, buscarλ-intercambios tendr´ıa un costo computacional m´as elevado debido a la necesidad de verificar la factibilidad de capacidad y de re-calcular algunos costos.

El operador Or-opt

(37)

Figura 2.10: Aplicaci´on de un 2-intercambio a una ruta.

Figura 2.11: Ejemplo de los posibles 3-intercambios en una ruta dada la eliminaci´on de tres arcos dados.

consiste en eliminar una secuencia dek clientes consecutivos de la ruta y colocarlos en otra posici´on de la ruta, de modo que permanezcan consecutivos y en el mismo orden. Primero se realizan las movidas con k=3, luego con k=2 y finalmente con k=1. En la figura 2.12 se muestra una ruta y todas las posibles maneras de reubicar los 3 primeros clientes a la manera de Or-opt. Si una ruta visita n clientes existen O(n2

) dentro de este conjunto de movimientos.

Operadores de Van Breedam

(38)

Figura 2.12: Ejemplo del operador Or-opt para k = 3.

Figura 2.13: Ejemplo de String Relocation.

GENI y GENIUS

Las inserciones generalizadas (Gendreau, Hertz, y Laporte, 1992) (GENI, por

GENeralizad Insertions) surgen dentro de un m´etodo de soluci´on del TSP y tienen como principal caracter´ıstica que la inserci´on de un cliente en una ruta no necesaria-mente ocurre entre dos nodos adyacentes. Para esta heur´ıstica se definen vx como el nodo de inserci´on, vi y vj (no necesariamente consecutivos) como los nodos l´ımites de la subruta en la que se va a insertar vx y los nodos predecesor y sucesor de tal forma que si vk es un nodo de la ruta, denotamos vk+1 a su sucesor yvk−1 a su predecesor.

En una inserci´on de Tipo I, se considera un nodovken el camino devj avi (vk 6=vi

y vk 6= vj), es decir que vk es un cliente visitado fuera de la subruta definida desde el nodo vi al nodo vj. La inserci´on del nodo vx consiste en eliminar los arcos (vi, vi+1),

(39)

Figura 2.14: Ejemplo de String Exchange.

necesario adem´as, invertir el sentido de los caminos (vi+1,...,vj) y (vj+1,...,vk). Una

inserci´on de este tipo se muestra dividida en sus fases en la figuras 2.15 y 2.16.

Figura 2.15: Ruta original y eliminaci´on de arcos en un GENI tipo I.

Para una inserci´on de Tipo II, debe seleccionarse vk en el camino de vj a vi de modo que vk 6= vj y vk 6= vj+1 y adem´as vl en el camino de vi a vj tal que vl 6= vi

y vl 6= vi+1. La inserci´on del nodo vx consiste, como se muestra en las figuras 2.17 y

2.18, en eliminar los arcos (vi,vi+1), (vl1,vl), (vj,vj+1) y (vk1,vk), y agregar los arcos

(vi,vx), (vx,vj), (vl,vj+1), (vk1,vl1) y (vi+1,vk). Adem´as, debe revertirse el orden de los

caminos (vi+1,...,vl−1) y (vl,...,vj).

Dado que para evaluar las inserciones debe seleccionarsevi,vj,vkyvl, para lo cual hayO(n4

) combinaciones, se propone disminuir las posibilidades mediante la definici´on de unap-vecindad. Lap-vecindad del nodov,Np(v), se define como el conjunto de losp

nodos de la ruta m´as cercanos av seg´un los costos del problema (si la ruta tiene menos de p nodos, entonces todos pertenecen a Np(v)). Fijado un valor para p, la b´usqueda se restringe exigiendo que vi,vj ∈ Np(v), vk ∈ Np(vi+1) y vl ∈ Np(vj+1).

(40)

Figura 2.16: Inclusi´on de nuevos arcos e inversi´on de rutas en un GENI tipo I.

Figura 2.17: Ruta original y eliminaci´on de arcos en un GENI tipo II.

hasta que todos los nodos hayan sido visitados.

Dada una ruta, se definen dos procedimientos de inserci´on y remoci´on de clientes: el procedimientoStringingconsiste en realizar una inserci´on de GENI de Tipo I o Tipo II con p-vecindades y el Unstringing es el inverso de una inserci´on GENI de Tipo I o Tipo II, es decir, consiste en quitar a un v´ertice de una ruta existente. El algoritmo de post-optimizaci´on GENIUS comienza considerando el primer cliente de la ruta: se le elimina medianteUnstringingy se le vuelve a insertar utilizandoStringing. Esto podr´ıa incrementar el costo de la soluci´on. Si la soluci´on es mejorada, se repite el proceso con el segundo cliente de la nueva ruta. El proceso termina luego de eliminar e insertar el ´

ultimo cliente de la ruta.

Transferencias c´ıclicas

Las transferencias c´ıclicas, introducidas por Thompson y Psaraftis (1993), son movimientos multirruta que intentan eliminar clientes de una ruta y reubicarlos en otra de manera c´ıclica. Si R = {R1,...,Rm} es el conjunto de rutas de la soluci´on y

(41)

Figura 2.18: Inclusi´on de nuevos arcos e inversi´on de rutas en un GENI tipo II.

la transferencia de exactamente k clientes de cada ruta R ∈ Rb a la ruta ρ(R) es una

k-transferenciab-c´ıclica. CuandoRb =Rse habla dek-transferencias c´ıclicas. Ejemplo

de una permutaci´on ser´ıa tratar de pasark clientes entre un subconjunto de tres rutas

R1, R2 y R3 se utilizar´ıan los 8 arreglos de transferencia del tipo {(R1, R2, R3), (R1,

R3, R2), (R2, R1,R3), (R2,R3, R1), (R3, R1, R2), (R3, R2, R1)}.

2.3.3.

Metaheur´ısticas

El ´enfasis en las t´ecnicas metaheur´ısticas est´a en realizar una exploraci´on profunda de las regiones m´as prometedoras del espacio soluci´on. La calidad de las soluciones pro-ducidas por estos m´etodos es mucho mejor que la obtenida por las heur´ısticas cl´asicas, aunque su tiempo de c´omputo es por lo general mucho mayor. Algunos ejemplos de estos m´etodos son algoritmo hormiga, programaci´on por restricciones (Rhalibi y Kelle-her, 2003), algoritmos gen´eticos, recocido simulado (Taniguchi, 2001), b´usqueda tab´u y redes neuronales (Gomes y Zuben, 2002).

En general, todas las t´ecnicas de soluci´on encuentran mayor dificultad para re-solver problemas VRP que presentan las siguientes caracter´ısticas:

un mayor n´umero de clientes,

una distribuci´on no uniforme de los anteriores,

y una menor relajaci´on de las restricciones (por ejemplo, ventanas m´as angostas en problemas VRPTW).

(42)

empeorar las soluciones para escapar de los ´optimos locales. Los algoritmos gen´eticos se basan en mantener un conjunto de soluciones lo suficientemente diverso como para cubrir gran parte del espacio de soluciones.

Algoritmo hormiga h´ıbrido para VRP

En este tipo de metaheur´ıstica cabe mencionar el trabajo desarrollado por Bulln-heimer y Strauss(1999) quienes utilizan una selecci´on elitista con ranqueo y cada hormi-ga aplica el algoritmo 2-opt al finalizar la construcci´on de su soluci´on. Este trabajo es una refinaci´on de un algoritmo previamente desarrollado por ellos mismos (Bullnheimer y Hard, 1997).

Tabu search y el VRP

El algoritmo de Osman

En el algoritmo de Osman (1993) las vecindades a una soluci´on se obtienen median-te inmedian-tercambios de clienmedian-tes entre pares de ruta. Si Rp y Rq son dos rutas diferentes de una soluci´on, se define un λ-intercambio como el pasar a lo m´as λ clientes de Rp a Rq

y a lo m´as λ clientes de Rq a Rp. La cantidad de clientes que cada ruta env´ıa a la otra no necesariamente debe ser la misma, pero ambas deben ser no mayores que λ. La vecindad de una soluci´on s, Nλ(s), consiste en todas las soluciones que se pueden obtener aplicando esta operaci´on a cualquier par de rutas diferentes des. Para realizar la b´usqueda en la vecindad de una soluci´on s se utilizan dos criterios: en el criterio

Best Admissible(BA) se busca la mejor soluci´on admisible en Nλ(s) y en elFirst Best Admisible (FBA) se selecciona la primer soluci´on admisible Nλ(s) que mejore el costo des (si ninguna mejora el costo, se selecciona la que menos lo empeora, pero habiendo tenido que examinar todos los intercambios posibles).

El algoritmo de Taillard

(43)

El algoritmo flor

En este algoritmo se utiliza una estructura llamada flor para generar una ve-cindad (Rego, 1998). Una flor es un conjunto de rutas y un camino que parte del dep´osito tal que todos los clientes del problema son visitados exactamente una vez. Se utilizan cadenas de expulsiones para transformar una flor en otra mediante ciertas transformaciones y, adem´as, se dan reglas para crear una flor a partir de una soluci´on y viceversa.

Granular Tabu Search

La idea principal de este algoritmo Granular Tabu Search de Toth y Vigo (2003) consiste en disminuir la cantidad de arcos considerados, eliminando los que conenctan nodos muy lejanos. Estos arcos tienen muy pocas posibilidades de pertenecer a una buena soluci´on. Esto permiti´o reducir la cantidad de arcos considerados a un valor en-tre el 10 % y el 20 % del total.

DETABA

En el algoritmo DETABA, propuesto por Barbarosoglu y Ozgur (1999), se utilizan dos tipos de movimientos. Las movidas TANE seleccionan dos rutasR1 y R2 al azar y

de cada una eligen un conjunto aleatorio de clientes V1 y V2. El conjunto V1 se elimina

deR1 y se inserta enR2 y la operaci´on an´aloga se realiza conV2. Los conjuntosV1 y V2

deben elegirse de modo que al realizar la operaci´on anterior no se violen las restricciones del problema. Luego de eso se aplica 2-opt aR1 y R2. En los movimientos TANEC el

procedimiento es similar al anterior, pero se procura que los clientes de V1 y V2 sean

lejanos a los centroides de sus rutas respectivas y cercanos al centroide de la ruta a la que no pertenecen. Para seleccionar la movida a realizar, se genera una cantidad de movimientos TANE y TANEC y se implementa la mejor que no sea tabu. Si en una movida el cliente v1 pasa de R1 a R2 y v2 pasa de R2 a R1, entonces se declara tabu

el volver a colocarv1 en R1 y v2 en R2. La cantidad de iteraciones que una movida es

declarada como tabu se obtiene del sorteo de una distribuci´on uniforme dentro de un intervalo.

(44)

Algoritmos gen´eticos para el VRP

GVR

En Genetic Vehicle Representation (GVR) (Pereira y Tavares, 2002) se trabaja directamente sobre las soluciones. Para cruzar dos soluciones p1 y p2, se toma una

subrutar = (v1, ..., vk) de p1 (al tratarse de una subruta, no necesariamente se cumple

quev1 =v0 y vk =v0) y se determina el clientewj m´as cercano a v1 que no est´a en r.

Si la ruta a la que pertenece wj en la soluci´on p2 es r′ = (0, w1, ..., wj, wj+1,..., 0)

entonces ´esta se reemplaza por (0, w1,...,wj,v1,...,vk,wj+1,...,0). Es decir, se inserta r

enr′ a continuaci´on dew

j. Si esta ruta no fuera factible, se particiona en tantas rutas

factibles como sea necesario. Con este paso anterior se genera un hijo, el otro hijo es una copia de p1. Este algoritmo contiene muchas operaciones de verificaci´on para

determinar que al momento de obtener una nueva ruta enp2 no se tenga un cliente que

pertenece a otra de las rutas que no fueron tocadas.

Este AG utiliza cuatro operadores de mutaci´on: intercambiar la posici´on de dos clientes en una ruta, invertir el orden de una ruta, reinsertar un cliente en una ruta diferente a la que pertenece y seleccionar una subruta e insertarla en otro lugar de la soluci´on. Los ´ultimos dos operadores pueden generar rutas nuevas o eliminar rutas, mientras que los dos primeros mantienen la cantidad de rutas de la soluci´on.

Algoritmo de Baker y Ayechew

El algoritmo propuesto por Baker y Ayechew (2003) se basa en el m´etodo de dos fases asignar primero y rutear despu´es. Cada individuo codifica la asignaci´on de clientes a veh´ıculos mediante un vector que en la posici´oniindica el n´umero de veh´ıculo asignado. El ´ındice asignado a cada cliente es tal que si la distancia entre dos clientes es peque˜na, entonces sus ´ındices ser´an cercanos. Esto se logra utilizando una modificaci´on de la heur´ıstica de barrido para asignar ´ındices a los clientes.

La funci´on de aptitud se calcula generando una ruta para cada veh´ıculo que pase por todos los clientes asignados a ´el utilizando 2-opt y luego 3-opt. Se permiten violar las restricciones del problema, penalizando dichas violaciones en la funci´on de aptitud. Este algoritmo es de estado estacionario, y adem´as utiliza selecci´on por torneo, DPX como operador de cruzamiento y un intercambio probabil´ıstico entre dos posiciones del vector como operador de mutaci´on.

(45)

la soluci´on encontrada depende considerablemente de los n´umeros aleatorios usa-dos para la generaci´on de la poblaci´on inicial de individuos y las operaciones de cruce y selecci´on (Ross y Mar´ın-Bl´azquez, 2003);

convergen en ´optimos locales;

no tienen una representaci´on del cromosoma que permita utilizar los operadores tradicionales de cruce y selecci´on;

necesitan simplificar parte del planteamiento del problema para su resoluci´on como definir previamente cu´antos camiones se van a considerar para la b´usqueda de la soluci´on (Zhu, 2000).

2.4.

Resumen

(46)

Cap´ıtulo 3

Hiperheur´ısticas

Como ya hemos mencionado anteriormente, las metaheur´ısticas son m´etodos espe-cializados de b´usqueda para el espacio de posibles soluciones de un problema. Estas re-sultan eficientes encontrando soluciones de buena calidad pero por lo general el tiempo de c´omputo que demandan resulta muy alto. Otra de las desventajas importantes que presentan es el grado de conocimiento detallado sobre el dominio del problema para poder dar un buen resultado (Aickelin y Dowsland, 2000; Dowsland, 1998; Burke, Cowl-ing, Causmaecker, y Berghe, 2001) lo que resulta en que aunque sus soluciones sean buenas no pueden ser f´acilmente reutilizadas en otros dominios o a´un en diferentes instancias del mismo tipo de problema (Glover y Kochenberger, 2003). Debido a esto, en algunas ocasiones las metaheur´ısticas son consideradas como t´ecnicas d´ebiles debido a su alto grado de especializaci´on para un problema y su largo tiempo de desarrollo.

Actualmente el campo de la optimizaci´on no busca las soluciones ´optimas, sino m´etodos que resulten m´as generales para resolver diferentes tipos de problemas y que encuentren soluciones que resulten suficientemente buenas, r´apidas y econ´omicas. Es por esto que las tendecias actuales manejan que es necesario operar en niveles m´as altos de generalidad que los niveles sobre los que operan las metaheur´ısticas.

Para muchos problemas reales, la b´usqueda exhaustiva de soluciones no es una propuesta pr´actica. El espacio de b´usqueda puede ser demasiado grande, incluso, en ocasiones puede que no exista una forma conveniente de definir el espacio de b´ usque-da. Por ejemplo, puede haber restricciones complejas que den al espacio de soluciones factibles una forma muy complicada. Por lo tanto es com´un que se utilicen aproxi-maciones con algoritmos heur´ısticos, sacrificando la garant´ıa de encontrar la soluci´on ´optima por un aumento en la velocidad y probablemente tambi´en con la garant´ıa de obtener un buen nivel en la calidad de la soluci´on.

El t´ermino heur´ıstica en algunas ocasiones es utilizado para referenciar a todo un algoritmo de b´usqueda y en otras ocasiones es utilizado para referirse a un proceso de decisi´on particular.

(47)

Una forma simple de hacer esto es de la siguiente manera:

if(Situaci´onProblema(P)==s1)

Aplica(heur´ıstica1,P);

else

if(Situaci´onProblema(P)==s2)

Aplica(heur´ıstica2,P)

else. . .

En el planteamiento anterior si con i= (1, ..., n) es una situaci´on definida del pro-blema y P es el propro-blema actual. La funci´on Aplica(heur´ısticai,P) utilizar´a la

heur´ısti-cai, para solucionar la situaci´on si del problema P.

Una l´ogica extrema de esta aproximaci´on ser´a un algoritmo conteniendo un enun-ciado infinito deswitch enumerando todos los posibles problemas y aplicando la mejor heur´ıstica conocida para cada uno. La idea clave de las hiperheur´ısticas es utilizar miembros de un conjunto de heur´ısticas y modificar el estado del problema. La clave de esta observaci´on es simple: la fortaleza de una heur´ıstica se basa en su habilidad de tomar decisiones en la ruta hacia la fabricaci´on de una soluci´on excelente. Por lo tanto, ¿por qu´e no tratar de asociar a cada heur´ıstica con las condiciones del problema y por lo tanto aplicar diferentes heur´ısticas a diferentes partes o fases del proceso de soluci´on?

3.1.

Definici´

on de una hiperheur´ıstica

Una hiperheur´ıstica puede ser descrita como una t´ecnica que teniendo un conjunto de heur´ısticas de bajo nivel para la resoluci´on de un problema, selecciona la que resulte m´as apropiada en cada punto de decisi´on utilizando alg´un mecanismo de aprendizaje y la aplica. Este proceso contin´ua hasta que la condici´on de paro sea satisfecha. La hiperheur´ıstica da la mejor salida encontrada durante todo el proceso.

(48)

Figura 3.1: Detalle general de una hiperheur´ıstica.

A pesar de que la primera publicaci´on conocida sobre el tema de hiperheur´ısticas es del a˜no 1961 (Fisher y Thompson, 1961), en las siguientes tres d´ecadas (de los 60s a los 90s) se pueden encontrar muy pocos trabajos de investigaci´on relacionados con el tema. El trabajo de Kitano (1990) marca el principio del estudio moderno sobre hiperheur´ısticas ya que en la pasada d´ecada hubo un incremento significativo en el inter´es de esta ´area de investigaci´on. Lo anterior debido principalmente al incremento de la complejidad de los problemas atacados por la investigaci´on de operaciones y la inteligencia artificial junto con la recurrencia frecuente de dichos problemas, por ejemplo los problemas de horarios, de empacamiento (bin packing) y TSP. Debido a esto, la necesidad de programas de software reutilizables se ha tornado de gran importancia sobre todo en las aplicaciones industriales (Glover y Kochenberger, 2003); adem´as de la proliferaci´on de m´etodos de b´usqueda local (Osman y Laporte, 1996), es decir, que exis-ten una cantidad mucho mayor de heur´ısticas o posibilidades disponibles para resolver un problema. Lo anterior ha resultado en una situaci´on donde es necesario desarrollar m´etodos gen´ericos y reutilizables capaces de seleccionar apropiadamente entre varias alternativas para un problema dado (o para una clase de problemas).

(49)

aplica-bles a una amplia variedad de problemas combinatoriales de optimizaci´on y pueden dar buenas cualidades de soluci´on en cortos tiempos de desarrollo.

3.2.

Mecanismos de aprendizaje para

hiperheur´ısti-cas

Como ya hemos dicho hiperheur´ıstica es una tecnolog´ıa motivada por el objetivo de incrementar el nivel de generalidad en el cual puede operar un sistema de optimizaci´on. Para esto, uno de sus puntos bases es el desarrollo de m´etodos de aprendizaje que inteligentemente seleccionen heur´ısticas de acuerdo con la situaci´on actual del problema. Las hiperheur´ısticas basadas en algoritmos gen´eticos tienen como prop´osito evolu-cionar el m´etodo de soluci´on m´as que la soluci´on misma. T´ıpicamente en el AG, el cromosoma representa una lista de heur´ısticas o reglas que pueden ser aplicadas sobre la soluci´on actual. Kitano (1990) fue uno de los primeros en trabajar en este tipo de hiperheur´ısticas, desarrollando un AG para el dise˜no de una red neuronal. Tradicional-mente, en el dise˜no de redes neuronales basadas en AG, el cromosoma directamente representa las configuraciones de las redes. En lugar de eso, Kitano us´o una codifi-caci´on indirecta, llamado m´etodo de codificodifi-caci´on gram´atica, el cual codifica una serie de reglas que generan las redes. Por lo tanto, en lugar de directamente evolucionar redes, como tradicionalmente se hab´ıa hecho, Kitano evolucion´o reglas que generaban redes. Los resultados obtenidos por el trabajo de Kitano fueron superiores que los que se hab´ıan obtenido por los m´etodos tradicionales.

Otros art´ıculos que presentan buenos resultados aplicando hiperheur´ısticas basadas en AGs para diferentes aplicaciones de optimizaci´on son los escritos por Fang y Ross (1994); Norenkow (1994); Dorndorf y Pesch (1995); Tcheprasov y Goodman (1996); Norenkow y Goodman (1997); Terashima-Mar´ın, Ross, y Valenzuela-Rend´on (1999). En el trabajo de Dorndorf y Pesch (1995) se presenta una resoluci´on a problemas de programaci´on que a pesar de las soluciones producidas no son mejores que las produci-das por otras t´ecnicas, fue observado que la t´ecnica basada en hiperheur´ısticas fue m´as robusta para atacar cambios en el problema as´ı como m´as f´acil de implementar.

Figure

Figura 2.1: Notaci´on para los clientes, el almac´en y el costo de desplazamiento en unaformulaci´on general de un VRP.
Figura 5.2: Arquitectura del modelo de soluci´on propuesto en esta tesis.
Figura 5.5: Ejemplo de un posible individuo resultante de la hiperheur´ıstica simple.
Tabla 6.1: Resultados de las heur´ısticas de ahorro para cada instancia.
+7

Referencias

Documento similar

La campaña ha consistido en la revisión del etiquetado e instrucciones de uso de todos los ter- mómetros digitales comunicados, así como de la documentación técnica adicional de

Debido al riesgo de producir malformaciones congénitas graves, en la Unión Europea se han establecido una serie de requisitos para su prescripción y dispensación con un Plan

Como medida de precaución, puesto que talidomida se encuentra en el semen, todos los pacientes varones deben usar preservativos durante el tratamiento, durante la interrupción

Abstract: This paper reviews the dialogue and controversies between the paratexts of a corpus of collections of short novels –and romances– publi- shed from 1624 to 1637:

Entre nosotros anda un escritor de cosas de filología, paisano de Costa, que no deja de tener ingenio y garbo; pero cuyas obras tienen de todo menos de ciencia, y aun

por unidad de tiempo (throughput) en estado estacionario de las transiciones.. de una red de Petri

Por lo tanto, en base a su perfil de eficacia y seguridad, ofatumumab debe considerarse una alternativa de tratamiento para pacientes con EMRR o EMSP con enfermedad activa

The part I assessment is coordinated involving all MSCs and led by the RMS who prepares a draft assessment report, sends the request for information (RFI) with considerations,