Está en la página 1de 47

Mtodos Exactos y Heursticos para resolver

el Problema del Agente Viajero (TSP)


y el Problema de Ruteo de Vehculos (VRP)
Fernando Sandoya Snchez
ESCUELA SUPERIOR POLITECNICA DEL LITORAL
Guayaquil, Ecuador
Octubre 2007

Indice
Introduccin
Redes fisicas y grafos
El T.S.P.
El problema de ruteo de vehculos.
Clases de problemas VRP.
Mtodos heursticos para el VRP.
Heurstica de Clarke Wright
2

Introduccin
La distribucin de bienes
El problema de distribuir productos desde ciertos depsitos a
sus usuarios finales juega un papel central en la gestin de
sistemas logsticos y su adecuada planificacin puede
significar considerables ahorros. Esos potenciales ahorros
justifican en gran medida la utilizacin de tcnicas de
Investigacin Operativa como facilitadoras de la planificacin,
dado que se estima que el inadecuado manejo de la logstica y
el transporte incide en el 40% y hasta el 80% del costo final de
los bienes (Foro intenacional Logstica y facilitacin del
Comercio y el transporte, Quito: Octubre 2007)
3

Introduccin
La distribucin de bienes
La efectiva administracin de la distribucin presenta una
variedad de problemas de toma de decisiones a los tres niveles de
decisin (estratgico, tctico y operativo).
-Decisiones relativas a la localizacin de instalaciones (plantas,
almacenes o depsitos) son estratgicas,
-Los problemas de determinar el tamao de la flota y su
composicin, son identificadas como tcticas.
-Finalmente, las decisiones operativas incluyen las relativas a la
definicin de las rutas y la programacin de los vehculos.
4

Introduccin

Pero el inters que reviste el rea no es puramente prctico.


Los Problemas de Ruteo de Vehculos son Problemas de
Optimizacin Combinatoria y pertenecen, en su mayora, a la
clase NP-Hard. La motivacin acadmica por resolverlos
radica en que no es posible construir algoritmos que en tiempo
polinomial resuelvan cualquier instancia del problema (a no
ser que P = NP)

Introduccin
En ese sentido, las ltimas cuatro dcadas han visto un enorme
esfuerzo por resolver estos problemas.
En 1959, Dantzig realiz por primera vez una formulacin
del problema para una aplicacin de distribucin de
combustible.
Luego, Clarke y Wright propusieron el primer algoritmo que
result efectivo para su resolucin: el popular Algoritmo de
Ahorros.
Por ltimo metaheursticas: Recocido Simulado, Genticos,
Bsqueda tab, Genticos, Colonia de hormigas

Introduccin

Estos modelos y algoritmos deben su xito, en buena parte, a


la evolucin de los sistemas informticos. El crecimiento en el
poder de cmputo y la baja en sus costos, ha permitido
disminuir los tiempos de ejecucin de los algoritmos.
Por otro lado, el desarrollo de los Sistemas de Informacin
Geogrfica resulta fundamental para lograr una adecuada
interaccin de los modelos y algoritmos con los encargados de
realizar la planificacin.

REDES FISICAS Y GRAFOS


REALIDAD:

Red fsica,

Clientes, depsitos

Vas de
comunicacin:
carreteras,

etc.
8

REDES FISICAS Y GRAFOS


ABSTRACCION:

Cij
i

Red matemtica: Grafo


pesado (orientado)
Nodos: Depsito y
Clientes
Arcos (Aristas)

El peso asignado a cada arco cij = distancia ms corta entre


los nodos i, j en la red fsica (Dijkstra)
Ver: floyd-Warshal.nb
9

El T.S.P.

Un problema que es base de gran parte de los problemas de


distribucin fsica de bienes es el problema del agente viajero
(TSP por sus siglas en ingls).
El TSP se describe como sigue: un agente viajero desea
programar visitas a sus clientes, por lo que desea viajar lo
mnimo posible. As, se encuentra en el problema de determinar
una ruta que minimice la distancia total (o bien tiempo o costo)
necesaria para visitar todas las ciudades en su zona.

10

El T.S.P.
El T.S.P. sera equivalente a encontrar el ciclo Hamiltoniano de
costo mnimo: Partiendo de un depsito se debe recorrer todos los
vrtices y regresar al depsito con la menor distancia total
recorrida.

11

El T.S.P.
Formulacin en PROGRAMACION ENTERA del TSP:
Datos:
n: Nmero de ciudades a visitar
cij: distancia (costo) de la ciudad i a la ciudad j
n

Min z = cij xij


i =1 j =1

1 si el arco (i, j ) est en el TOUR


xij =
si no
0

s.t.

x
j =1

ij

x
i =1

ij

= 1; i = 1, 2,..., n
= 1;

j = 1, 2,..., n

xij {0,1}
Pueden generarse subtours, no es
la formulacin para el TSP

iS , jS

Restriccin de eliminacin de
subtoures

xij S 1; S V , S > 1

12

El T.S.P.
Formulacin en PROGRAMACION ENTERA del TSP:

PROBLEMA: Complejidad NP de este problema, fenmeno de


explosin combinatoria
Muy difcil aplicar tcnicas exactas para encontrar la solucin
ptima, en su lugar se han desarrollado heursticas para
determinar buenas soluciones

13

El T.S.P.
Complejidad NP de este problema, fenmeno de explosin combinatoria:
Por ejemplo, por exploracin exhaustiva del conjunto de soluciones:

Cada solucin (Un Tour o ciclo hamiltoniano) es una permutacin del conjunto
de vrtices V={1, 2, , n}

En total se tendran n! soluciones factibles posibles

Con n = 20 ciudades por visitar se requiere evaluar 20! Posibles tours,


imposible de realizar en un tiempo razonable.
n

Tiempo

1.2 10-6 segundos

10

0.036288 segundos

15

3.63243 horas

18

741.015 das

20

771.468 aos

Ver: TSP exhaustivo.nb


14

El T.S.P.
HEURSTICAS PARA RESOLVER EL TSP

Las ms sencillas estn basadas en el sentido comn, las


principales son las heursticas glotonas:
- Heurstica del vecino ms cercano
- Intercambio de aristas Or-opt
Heurstica del vecino ms cercano: Se va construyendo el
tour secuencialmente, a partir del depsito, eligiendo en
cada paso como el nodo siguiente al nodo ms cercano al
nodo actual.

15

El T.S.P.
Heurstica del vecino ms cercano:

Paso 1. Seleccionar un nodo inicial


Paso 2. Identificar al nodo ms cercano al ltimo agregado,
siempre que no haya sido agregado.
Paso 3. Repetir el paso 2 hasta incluir todos los nodos
La cota superior garantiza que la solucin del TSP aplicando
este algoritmo es a lo ms (log2 n) +1/2

16

El T.S.P.
Problema del Agente Viajero (Traveling Salesman Problem TSP): Ejemplo
datos
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

0
0
15
18
22
25
21
11
21
26
32
25
34
15
11
32
30
29
30
16
32
32
18
27
36
30
34

1
15
0
33
15
32
32
25
21
32
18
16
26
17
26
47
45
42
41
23
28
16
29
39
46
28
38

2
18
33
0
34
20
24
16
36
36
47
43
50
23
9
21
13
25
33
27
47
49
10
12
23
35
30

3
22
15
34
0
25
43
34
35
45
15
29
40
11
32
53
47
51
52
35
43
22
27
36
40
14
27

4
25
32
20
25
0
41
32
46
51
40
47
57
16
25
41
29
45
51
40
57
46
10
14
15
18
10

5
21
32
24
43
41
0
10
21
14
50
34
35
35
16
20
29
11
10
11
30
46
32
36
47
50
51

6
11
25
16
34
32
10
0
21
20
42
30
35
25
7
22
25
18
20
11
32
40
22
28
39
40
41

7
21
21
36
35
46
21
21
0
12
36
14
15
34
27
40
46
32
25
10
11
29
39
47
57
47
54

8
26
32
36
45
51
14
20
12
0
48
26
24
41
27
33
43
23
14
10
18
41
42
48
59
56
60

9
32
18
47
15
40
50
42
36
48
0
25
35
25
43
64
60
60
58
40
40
11
41
51
55
27
41

10
25
16
43
29
47
34
30
14
26
25
0
11
32
35
52
55
45
39
22
15
16
43
52
60
43
53

11
34
26
50
40
57
35
35
15
24
35
11
0
42
41
55
61
46
38
25
7
25
51
60
69
54
64

12
15
17
23
11
16
35
25
34
41
25
32
42
0
22
43
36
43
45
30
43
30
16
25
30
15
21

13
11
26
9
32
25
16
7
27
27
43
35
41
22
0
21
20
21
25
18
38
43
16
21
32
36
35

14
32
47
21
53
41
20
22
40
33
64
52
55
43
21
0
16
11
22
30
50
63
32
30
40
56
51

TABLA DE DISTANCIAS Cij

15
30
45
13
47
29
29
25
46
43
60
55
61
36
20
16
0
25
35
36
57
62
21
16
25
46
38

16
29
42
25
51
45
11
18
32
23
60
45
46
43
21
11
25
0
11
22
40
57
35
36
47
57
55

17
30
41
33
52
51
10
20
25
14
58
39
38
45
25
22
35
11
0
18
32
53
41
45
56
60
61

18
16
23
27
35
40
11
11
10
10
40
22
25
30
18
30
36
22
18
0
21
35
32
39
49
45
49

19
32
28
47
43
57
30
32
11
18
40
15
7
43
38
50
57
40
32
21
0
30
50
58
68
56
64

20
32
16
49
22
46
46
40
29
41
11
16
25
30
43
63
62
57
53
35
30
0
45
55
61
36
49

21
18
29
10
27
10
32
22
39
42
41
43
51
16
16
32
21
35
41
32
50
45
0
10
18
25
20

22
27
39
12
36
14
36
28
47
48
51
52
60
25
21
30
16
36
45
39
58
55
10
0
11
32
22

23
36
46
23
40
15
47
39
57
59
55
60
69
30
32
40
25
47
56
49
68
61
18
11
0
32
18

24
30
28
35
14
18
50
40
47
56
27
43
54
15
36
56
46
57
60
45
56
36
25
32
32
0
15

25
34
38
30
27
10
51
41
54
60
41
53
64
21
35
51
38
55
61
49
64
49
20
22
18
15
0

17

El T.S.P.
Problema del Agente Viajero (Traveling Salesman Problem TSP): Ejemplo
11

20

19

10

1
3

8
18
0
17

12

24

6
13

16

21

25

14

22
15

23

Ubicacin de los clientes a visitar


18

El T.S.P.
Problema del Agente Viajero (Traveling Salesman Problem TSP): Ejemplo
11

20

19

10

1
3

8
18

17

12

24

13

16

21

25

14

22

15

23

Solucin por la heurstica del vecino mas cercano: costo total = 369.7
TOUR obtenido:
0, 6, 13, 2, 21, 4, 25, 24, 3, 12, 1, 10, 11, 19, 7, 18, 8, 5, 17, 16, 14, 15, 22, 23, 9, 20, 0

19

El T.S.P.
Problema del Agente Viajero (Traveling Salesman Problem TSP): Ejemplo
11

20

19

10

1
3

8
18

17

12

24

13

16

21

25

14

22

15

23

Solucin obtenida con una


metaheurstica: costo total = 316.9

20

El T.S.P. Otro ejemplo


11

50

33
13

4538
32
23

912 29
37
21

17

31

30

8
1

41
0 4

34

40 22
16

2
42
526
46
20
35
10
25
19

28
6
49
14
47
39

24
48
343
36 15
718

27

44
21

El T.S.P.

11

50
33

13

4538
32
23

912
372129

17

31

30

8
1

41
0

34

40
16

22

42
5 46
26
20

28
6
49
14
47
39

24
48
343
36 15
7 18

35
10
25

19

27

44

H HEURISTICA DEL VECINO MAS CERCANOL


COSTO TOTAL DEL RUTEO POR EL VECINO MAS CERCANO

= 675.736

22

El T.S.P.
HEURSTICAS DE INTERCAMBIO DE ARISTAS

La efectividad de esta heurstica est determinada por


que permite disminuir la formacin de cruces entre
aristas en el tour.
Heurstica 2-opt: Una ruta es mejorada borrando dos
arcos, dando la vuelta a uno de los caminos
resultantes y luego reconectndolos hasta que no
pueda obtenerse ninguna mejora adicional.
Heurstica 3-opt: similar a 2-opt pero con 3 aristas
23

El T.S.P.
EJEMPLO DE LA APLICACIN DE 2-OPT
1

7
6
5

10

11

RUTA Original:
( 1 2 3 4 5 6 7 8 9 10 11 1)

RUTA 2-opt:
(1 9 8 7 6 5 4 3 2 10 11 1)

F. O.: 135.63

F. O.: 118.203

24

El T.S.P.
EJEMPLO DE LA APLICACIN DE LA HEURISTICA DEL
VECINO MAS CERCANO E INTERCAMBIOS 2-OPT:
Recorriendo ptimamente el Ecuador:
En el notebook de MATHEMATICA: TSPecuador.nb, se
visualiza la aplicacin de las heursticas del vecino ms cercano y
de intercambio de aristas 2-opt al caso ecuatoriano (33 ciudades),
las distancias vienen dadas en km., tomadas de las distancias en
carretera.
Ver: TSPecuador.nb

25

El Problema de ruteo de vehculos

El VRP (Vehicle Routing Problem) es el m-TSP en el


cual se ha asociado una demanda a cada ciudad, y cada
vehculo tiene una cierta capacidad, y donde m
generalmente es desconocido y se determina como una
solucin del problema.

26

El Problema de ruteo de vehculos

El Problema de Rutas de Vehculos o VRP puede ser descrito de


la forma siguiente: Considrese un conjunto de puntos {2, 3, ...,
n} en los que hay que entregar unas determinadas cantidades de
mercanca q(i), i = 2, ..., n, desde un origen 1.

Para cumplir estos requerimientos se dispone de una flota de


vehculos de capacidad Q.
Se ha de disear un conjunto de rutas, de distancia total mnima,
de forma que cada ruta comience y finalice en el punto 1; la
carga que en cada momento ha de llevar cada vehculo no debe
de superar su capacidad;
Cada punto i, i = 2, ..., n, ha de ser visitado exactamente una
vez.

27

El Problema de ruteo de vehculos

Figura 1: Solucin para el VRP (4 rutas).

representa un depsito

28

El Problema de ruteo de vehculos


Existen muchos algoritmos de solucin para el VRP.
En los ltimos aos han tomado importancia el desarrollo de
algoritmos basados en procesos denominados Metaheursticos:
-Recocido Simulado
-Genticos
-Bsqueda tab
-Memticos
-Colonia de hormigas
Gendreu y otros (1.991), Osman, (1.993), Campos y Mota (1.995),
Kantoravdis (1.995), Laguna (2000)
29

Clases de problemas VRP

Entrega o recoleccin pura.


El anterior pero con backhauling (primero entrega los
productos y despus efecta la recoleccin).
Combinacin de recoleccin y entrega.
Uno o varios depsitos
Carga partida (varios vehculos pueden atender a un cliente)
Con ventanas de tiempo (duras o suaves)
Los clientes son fijos con demanda conocida
La demanda de clientes es aleatoria
Los tiempos de viaje son estocsticos
El conjunto de clientes no es conocido con certeza. (Cada
cliente tiene una probabilidad pi de estar presente.
30

Clases de problemas VRP

Flota homognea (un solo tipo de vehculo)


Flota heterognea (mltiples tipos de vehculos)
Clientes con prioridad.
Se permite la satisfaccin parcial de la demanda.
Ubicacin de la demanda (en los nodos, en los arcos, mixtas)
Etc.
Combinaciones de ellos, por ejemplo: El Problema de Ruteo
de Vehculos con Ventanas de tiempo y con Carga y Descarga
Simultnea con flota heterognea

31

Clases de problemas VRP


Por ejemplo el VRP con ventanas de tiempo (VRPTW)
sera:

Si al VRP agregamos una ventana de tiempo para cada


cliente, durante la cual el cliente debe ser servido por un
vehculo, se tiene el Problema de Ruteo de Vehculos con
Ventanas de Tiempo (VRPTW). Adems de las
restricciones de capacidad, ahora un vehculo tiene que
visitar a un cliente dentro de cierto intervalo de tiempo.

El vehculo puede llegar antes del inicio de la ventana de


tiempo del cliente, y en ese caso deber esperar para
realizar su servicio, pero ningn cliente puede ser servido
luego del fin de su ventana de tiempo.

32

Clases de problemas VRP

El Problema de los m Agentes Viajeros (m-TSP), m


es fijado de antemano

33

Clases de problemas VRP

El VRP capacitado (o simplemente VRP)

34

Clases de problemas VRP

El VRP con flota heterognea

35

Clases de problemas VRP

El VRPTW

36

MTODOS HEURSTICOS PARA EL VRP

El VRP y todas sus variante es un problema de


optimizacin combinatoria duro, y puede
resolverse con tcnicas exactas, en un tiempo
prudencial, slo en casos relativamente pequeos.

Puesto que los enfoques exactos son en general


inadecuados, en la prctica se usan comnmente
las heursticas.

37

MTODOS HEURSTICOS PARA EL VRP


(cont...)

Atributos de buenas heursticas para el VRP


Precisin, Velocidad, Simplicidad, Flexibilidad

Heursticas Clsicas: Clarke & Wright, Jaikumar, de


barrido

Meta-heursticas: Genticos, colonia de hormigas,


Simulated annealing, tab, GRASP

38

HEURSTICA DE CLARKE WRIGHT


HEURSTICA DE CLARKE WRIGHT

Es La heurstica clsica ms significativas para el VRP.


Esta heurstica es un procedimiento simple que realiza una
exploracin limitada del espacio de bsqueda y da una
solucin de calidad mas o menos aceptable en tiempo de
clculo moderado.

Las soluciones luego pueden ser mejoradas con los


algoritmos de mejora del TSP (como 2-opt)

39

HEURSTICA DE CLARKE WRIGHT

Si en una solucin dos rutas diferentes (1, . . . , i, 1) y (1, j, . . .


,1) pueden ser combinadas formando una nueva ruta (1, . . . , i,
j, . . . , 1) como se muestra en la Figura, el ahorro (en distancia)
obtenido por dicha unin es:
sij= ci1+ c1j cij
Pues en la nueva solucin los arcos (i, 0) y (0, j) no seran
utilizados y se agregara el arco (i, j). Se parte de una solucin
inicial en la cual todos los clientes son servidos por un solo
vehculo

40

HEURSTICA DE CLARKE WRIGHT

Paso 1 (inicializacin). Para cada cliente i construir la ruta (1, i,


1).

Paso 2 (clculo de ahorros). Calcular sij para cada par de


clientes i y j.

Paso 3 (mejor unin). Sea sij = max sij , donde el mximo se


toma entre los ahorros que no han sido considerados an. Sean
ri y rj las rutas que contienen a los clientes i y j
respectivamente. Si i es el ltimo cliente de ri y j es el
primer cliente de rj y la combinacin de ri y rj es factible,
combinarlas.

Paso 4 Eliminar sij de futuras consideraciones. Si quedan


ahorros por examinar ir a 3, si no terminar.
41

HEURSTICA DE CLARKE WRIGHT

Se ha observado que utilizando la definicin original de ahorro


suele generarse algunas rutas circulares (ver Figura) lo cual
puede ser negativo. Para solucionar este problema algunos
autores proponen redefinir el ahorro como:
sij= ci1+ c1j cij
Donde es el parmetro de forma.

Ver: VRP_ClarkeWright distacia restringida.nb


42

HEURSTICA DE CLARKE WRIGHT

11

13
8

912 29
21

17

23

30

1
0

4
16

22

2
28
6
14
24
526
20

3
15
718

10
25

27

19

Ruteo inicial

Ruteo generado por Clarke Wright


43

HEURSTICA DE CLARKE WRIGHT


Por ltimo, se puede efectuar un proceso de post-optimizacin de
cada ruta individual creada con Clarke Wright con los algoritmos de
TSP, por ejemplo con 2-OPT.
Solucin inicial: 19794.74

Solucin final: 1307.06

44

Conclusiones

Este tipo de mtodos y su implementacin en la


computadora pueden servir de ncleo para la
generacin de software de inters comercial
Se puede enriquecer el procedimiento planteado
haciendo modificaciones para bajar el tiempo de
computacin, especficamente en la forma de
generacin de la solucin inicial, lo cual permitira
efectuar ms iteraciones del mtodo tab.
El modelo no considera otras restricciones posibles
que pueden aparecer en aplicaciones reales, se puede
enriquecer el modelo considerando otro tipo de
restricciones o condiciones del problema
45

Conclusiones

En el mercado existen algunos productos comerciales para


computadoras personales que construyen rutas, su costo es
muchas veces elevado. El nmero y capacidad de esos
productos cada vez es mayor conforme los nuevos equipos de
cmputo reducen su precio y aumentan de capacidad.
Algunos avances recientes en bases de datos geogrficas
hacen que el diseo de rutas sea un rea de aplicacin de un
gran impacto real. Son sistemas de navegacin y mapas
digitalizados. Un auto o camin utiliza un terminal instalado
en el vehculo para accesar un mapa. El usuario teclea la
localizacin de sus destinos y el monitor flashea las
localizaciones. Dispositivos electrnicos que usan GPS ubican
al vehculo a medida que se mueve, por lo que es muy simple
elegir una ruta.
Las bases de datos geogrficas ubican la localizacin de calles
y carreteras por lo que es simple la seleccin de rutas ms
46
cortas.

GRACIAS

También podría gustarte