Apunte Diseño de Rutas

22
UNIVERSIDAD NACIONAL DE LA PLATA FACULTAD DE IGENIERÍA Ingeniería Industrial Apunte de Diseño de Ruta y Programación de Vehículos Cátedra: Producción III Autor: Ing. Deagustini Martín 11/11/2010

Transcript of Apunte Diseño de Rutas

Page 1: Apunte Diseño de Rutas

UNIVERSIDAD NACIONAL DE LA PLATA

FACULTAD DE IGENIERÍA

Ingeniería Industrial

Apunte de Diseño de Ruta y Programación de Vehículos

Cátedra: Producción III Autor: Ing. Deagustini Martín

11/11/2010

Page 2: Apunte Diseño de Rutas

Apunte de Diseño de Ruta y Programación de Vehículos

11/11/10 1 Producción III

MATERIAL DE SOPORTE

INTRODUCCIÓN

En el contenido de este apunte se incluyeron estudios respecto del diseño de rutas para vehículos (“Puntos de origen y destino separados y sencillos”, “Puntos múltiples de origen y destino” y “Puntos coincidentes de origen y destino”), se analizaron casos de aplicación y diferentes modelos de resolución.

La literatura proviene de la siguientes fuentes: “Logística: administración de la cadena de suministros” de Ronald Ballou, “Spreadsheet Modeling and Decision Analysis” de Cliff Ragsdale y apuntes de la cátedra de Transporte de la carrera de Especialización en Logística Integrada, USAL – Georgetown University.

En este apunte se focaliza principalmente en un problema de selección de la ruta de un vehículo que debe efectuar entregas en varios puntos, partiendo desde un centro de distribución y regresando finalmente a él.

Cuando se resuelve este problema el logístico debe servir a todos los clientes, minimizando costos, tiempos de ejecución o distancias y, al mismo tiempo, satisfacer restricciones físicas como por ejemplo la capacidad de los medios de transporte.

Podemos nombrar algunos ejemplos donde se encuentran frente al mismo problema:

o Reparto de bebidas a bares y restaurantes.

o Reparto y programación de efectivo en cajeros automáticos.

o Reparto de alimentos a domicilio por compras basadas en Internet.

o Recoger leche y manejo del inventario.

o Distribución de ventas por mayor desde los almacenes a los minoristas.

De esta manera podríamos seguir nombrando muchísimos otros casos más, en todos estos casos lo que se busca es hallar la secuencia en la que los puntos deberían visitarse, de manera que se pueda reducir al máximo el tiempo o la distancia total del recorrido.

El problema de diseño de ruta de origen y destino coincidentes por lo general se lo conoce como problema del “agente viajero”.

MÉTODOS DE RESOLUCIÓN DE TRAVELING SALESMAN PROBLEM (TSP)

En primer lugar abordaremos este problema que supone:

o Que se han definido todos los puntos que deben ser recorridos en la ruta.

o Que el vehículo posee capacidad suficiente para satisfacer la demanda de todos los clientes.

Page 3: Apunte Diseño de Rutas

Apunte de Diseño de Ruta y Programación de Vehículos

11/11/10 2 Producción III

A continuación se reproduce el problema planteado por Ballou en la figura 13.9 de la página 486, en el que desde el centro de distribución W, deben abastecerse los clientes A, B, C y D.

A partir de las suposiciones ya establecidas, la solución de este problema se reduce a encontrar la ruta que iniciándose en W, pase por A, B, C, D y finalice en W.

Método “Heurístico”

En primer lugar, desarrollaremos una solución aproximada, mediante un método heurístico. Los procedimientos heurísticos, permiten aproximar soluciones buenas, cercanas a la óptima, pero con requerimientos de cálculo inferiores a los necesarios para obtener un resultado exacto.

Kart y Thompson presentan el siguiente procedimiento para encontrar una solución:

1) Seleccionar dos puntos cualquiera y ponerlos en cualquier orden ( 21, ii )

2) Definir una lista, conformada por k puntos que definen un camino continuo, nk ≤≤2 , donde n es el número total de puntos de la red. Elegir, en forma aleatoria, uno de los puntos h que no esté en la lista. Calcular las cantidades d para j desde 1 a k:

11 ,,, ++−+=

jjjj iiihhij aaad

Donde se define que 1+ji es igual a 1i cuando j=k . Las variables a representan la distancia, tiempo o costo entre los puntos.

C D

B

A

W

31

34 34

26

17

47

34

23

48

67

Page 4: Apunte Diseño de Rutas

Apunte de Diseño de Ruta y Programación de Vehículos

11/11/10 3 Producción III

3) Sea j* el valor de j tal que de dj* sea el mínimo de las cantidades calculadas en el paso 2º)

4) Reetiquetar ji

como 1+ji para kjj ,...,1* += , y el subíndice h como 1* +ji .

Esto es insertar h en la lista de puntos ki y reordenar la lista con el nuevo elemento.

5) Ahora se tiene una nueva lista de k+1 puntos. Si k+1es igual a n, se ha finalizado el algoritmo. En otro caso, sustituir K por k+1 y volver par paso 2º).

El procedimiento consiste en seleccionar aleatoriamente 2 puntos e ir agregando otros de manera tal de minimizar el factor de mérito del conjunto de puntos, pudiendo ser este, el tiempo, el costo o la distancia.

Para nuestro ejemplo:

Paso 1º)

i1=A; i2=C

Paso 2º)

Se toma como punto h = B

Como inicialmente tenemos 2 puntos, k=2

Para j=1:

9

342617

1

1

,,,1

,,,11 212

=−+=

−+=

−+=

d

d

aaad

aaad

CAABBA

iiiBBi

Para j=2=k

9

341726

2

2

,,,2

,,,22 121

=−+=

−+=

−+=

d

d

aaad

aaad

ACABBC

iiiBBi

Paso 3º)

Como ambos dj son iguales se adopta arbitrariamente uno de los dos. En este caso tomamos

j*= 1.

Paso 4º)

C D

B

A

W

31

34 34

26

17

47

34

23

48

67

C D

B

A

W

31

34 34

26

17

47

34

23

48

67

Page 5: Apunte Diseño de Rutas

Apunte de Diseño de Ruta y Programación de Vehículos

11/11/10 4 Producción III

Reetiquetamos i j como i j+1, desde j=j* +1 hasta j=k , entonces, siendo j*=1, i2 pasa a ser i3

Insertar h como i j*+1

Queda entonces un nuevo recorrido donde:

i1=A; i2=B; i3=C

Dado que k=2, K+1=3< (n=5), se debe volver al paso 2º)

Paso 2º) - Segunda iteración

Se toma como punto h = W

Como el camino definido en la iteración anterior tiene 3 puntos, k=3

Para j=1:

64

174734

1

1

,,,1

,,,11 212

=−+=

−+=

−+=

d

d

aaad

aaad

BABWWA

iiiWWi

Para j=2

88

266747

2

2

,,,2

,,,22 323

=−+=

−+=

−+=

d

d

aaad

aaad

CBCWWB

iiiWWi

j=3=K

67

343467

3

3

,,,3

,,,33 131

=−+=

−+=

−+=

d

d

aaad

aaad

ACAWWC

iiiWWi

Paso 3º) – Segunda iteración

Como d1 es el mínimo dj , tomamos j*= 1

Paso 4º) – Segunda iteración

Reetiquetamos i j como i j+1, desde j=j* +1 hasta j=k , entonces, siendo j*=1, i2 pasa a ser i3 e i3 pasa a ser i4

Insertar h como i j*+1

C D

B

A

W

31

34 34

26

17

47

34

23

48

67

C D

B

A

W

31

34 34

26

17

47

34

23

48

67

C D

B

A

W

31

34 34

26

17

47

34

23

48

67

Page 6: Apunte Diseño de Rutas

Apunte de Diseño de Ruta y Programación de Vehículos

11/11/10 5 Producción III

Queda entonces un nuevo recorrido donde:

i1=A; i2=W; i3=B; i4=C

Dado que k=3, K+1=4< (n=5), se debe volver al paso 2º)

Paso 2º) - tercera iteración

Se toma como punto h = D

Como el camino definido en la iteración anterior tiene 4 puntos, k=4

Para j=1:

37

344823

1

1

,,,1

,,,11 212

=−+=

−+=

−+=

d

d

aaad

aaad

WAWDDA

iiiDDi

Para j=2

35

473448

2

2

,,,2

,,,22 323

=−+=

−+=

−+=

d

d

aaad

aaad

BWBDDW

iiiDDi

j=3

39

263134

3

3

,,,3

,,,33 434

=−+=

−+=

−+=

d

d

aaad

aaad

CBCDDB

iiiWWi

j=4=k

20

342331

4

4

,,,4

,,,44 141

=−+=

−+=

−+=

d

d

aaad

aaad

ACADDC

iiiWWi

Paso 3º) – tercera iteración

Como d4 es el mínimo dj , tomamos j*= 4

Paso 4º) – Tercera iteración

C D

B

A

W

31

34 34

26

17

47

34

23

48

67

C D

B

A

W

31

34 34

26

17

47

34

23

48

67

C D

B

A

W

31

34 34

26

17

47

34

23

48

67

C D

B

A

W

31

34 34

26

17

47

34

23

48

67

Page 7: Apunte Diseño de Rutas

Apunte de Diseño de Ruta y Programación de Vehículos

11/11/10 6 Producción III

Reetiquetamos i j como i j+1, desde j=j* +1 hasta j=k , entonces, siendo j*=4, i5 no está asignado.

Insertar h como i j*+1

Queda entonces un nuevo recorrido donde:

i1=A; i2=W; i3=B; i4=C; i4=D

Finalmente la solución aportada por el método es:

W → B → C → D → A → W

Tiempo en ruta:

47+26+31+23+34=161

Sin embargo la solución óptima de este problema es:

W → A → B → C → D → W

Tiempo en ruta:

34+17+26+31+48= 156

Como vemos, en una única iteración con este método heurístico se obtuvo una solución que sólo se aparta un 3,2 % de la óptima. Como este método exige relativamente poco cálculo y posee una alta probabilidad de obtener la solución óptima (probabilidad 0,6 para n=5) se puede repetir varias veces el procedimiento y elegir la ruta que proporcione la mejor solución.

Existen formas de aumentar la probabilidad de obtener la solución óptima en pocos ensayos, como por ejemplo, elegir el punto vecino más cercano al último elegido, siempre que no forme ya parte del camino.

Método “de Ragsdale”

El problema del agente viajero (TSP) es uno de los problemas más famosos en el campo de la ciencia de la administración. Este problema puede ser descrito de la siguiente manera:

C D

B

A

W

31

34 34

26

17

47

34

23

48

67

C D

B

A

W

31

34 34

26

17

47

34

23

48

67

Page 8: Apunte Diseño de Rutas

Apunte de Diseño de Ruta y Programación de Vehículos

11/11/10 7 Producción III

Un vendedor quiere encontrar la ruta menos costosa (o más corta) para visitar sus clientes en n ciudades, visitando cada cliente exactamente una vez, antes de regresar a casa.

Un modelo de hoja de cálculo para el problema

El método de Ragsdale puede describirse como sigue:

1. Determinar la distancia entre cada par de ubicaciones (presentar resultados en una matriz como la que se muestra en la Ilustración 7) Utilizar números enteros para identificar las ubicaciones.

Ilustración 1: Modelo de hoja de cálculo para TSP 2. Definir un recorrido arbitrario (por ejemplo 0�1�2�3�4�5�6�

7�8�0). La distancia entre cada una de las ubicaciones de este recorrido se muestran en las celdas F16 a F24 con la siguiente fórmula:

Formula celda F16: = índice ($C$4:K$12,D16+1,E16+1) Copiar celda F17 hasta F24

La función INDICE (rango, número de la fila, el número de columna) devuelve el valor del número de fila especificada y número de columna del rango dado. La celda D16 contiene el número 0 y la E16 contiene el número 1, la fórmula anterior devuelve el valor de la primera fila (D16+1) y de la segunda columna (E16+1) en el rango C4: K12 – o el valor en la celda D4.

3. Hay que introducir entre las celdas D17 a D24 la siguiente fórmula:

Formula celda D17: = E16 Copiar celda desde D18 hasta D24

4. El número cero fue introducido en la celda E24 para asegurarse que luego del último movimiento siempre regrese a su posición inicial.

Page 9: Apunte Diseño de Rutas

Apunte de Diseño de Ruta y Programación de Vehículos

11/11/10 8 Producción III

5. El objetivo en este problema es minimizar la distancia total a recorrer. Por lo tanto, hay que calcular la distancia total del recorrido actual. Este se calcula en la celda F25 de la siguiente manera:

Formula celda F25: = suma (F16:F24)

6. Si partimos de la posición cero, cualquier permutación del conjunto de los enteros de 1 a 8 a través de las celdas E16 a E23 representa un recorrido factible (una permutación es simplemente una reordenación de los elementos de un conjunto). La versión Premium de Solver permite realizar permutación de celdas mediante un tipo especial de restricción conocida como "AllDifferent".

7. La resolución del modelo

Ilustración 8 muestra los parámetros de Solver para resolver este problema y el resultado del mismo.

Ilustración 2: Resolución del Modelo de Ragsdale

8. Análisis de la solución

La solución se muestra en la Ilustración 8, representa una reducción del 33,5% en la distancia total del recorrido. Si este recorrido se va a repetir todas las semanas, representa una reducción muy importante de la distancia total y probablemente sea muy importante para la empresa.

Es importante recordar que el algoritmo evolutivo Solver genera aleatoriamente la población inicial de soluciones y aplicaciones de cruce probabilística y las operaciones de mutación.

Page 10: Apunte Diseño de Rutas

Apunte de Diseño de Ruta y Programación de Vehículos

11/11/10 9 Producción III

Encontrar la solución óptima global a un problema no es simple, podría requerir una nueva resolución del modelo de varias veces con diferentes puntos de partida inicial.

PROGRAMACIÓN Y DISEÑO DE RUTAS DE LOS VEHÍCULOS

Si al problema del Agente Viajero (TSP) le sumamos algunas restricciones reales nos encontramos frente a un problema de Programación y Diseño de Rutas de los Vehículos (PDRV).

Restricciones:

• Cada parada tiene un volumen asignado.

• Múltiples vehículos, con diferentes capacidades.

• Tiempo de transito, tiempo de descanso, ventanas de tiempo (recolección y entrega), etc.

Principios para una buena programación y diseño de rutas

1. Cargar camiones con volúmenes de parada que estén lo más cercanos unos de otros. Las rutas de los camiones deben formarse alrededor de agrupaciones de paradas que estén cerca unas de otras para reducir al máximo el tiempo del viaje entre ellas. Esto también minimiza el tiempo total del viajante en la ruta. La Ilustración 1 (a) muestra el tipo de agrupación que debe evitarse en el momento de cargar los camiones. La Ilustración 1 (b) muestra la mejor agrupación.

Ilustración 3: Agrupación para la asignación de volúmenes de parada a los vehículos

2. Las paradas en diferentes días se deberían ordenar de tal manera que formen agrupaciones más estrechas. Cuando las paradas deben efectuarse durante diferentes días de la semana, deben segmentarse en problemas de programación y diseño de rutas separados para cada uno de los días de la semana. Los segmentos diarios, para los cuales hay que desarrollar programas y diseños de rutas, deben evitar la superposición de las agrupaciones de paradas. Esto ayudará a minimizar el número de camiones necesarios para atender todas las paradas, así como a minimizar

Page 11: Apunte Diseño de Rutas

Apunte de Diseño de Ruta y Programación de Vehículos

11/11/10 10 Producción III

el tiempo de viaje del camión y la distancia recorrida durante la semana. La Ilustración 2 muestra ejemplos de una buena y una mala agrupación.

Ilustración 4: Agrupación de paradas por día de la semana .

3. Construir rutas comenzando con la parada más lejana del depósito. Pueden desarrollarse rutas eficientes mediante la construcción de agrupaciones de paradas alrededor de la parada más lejana del depósito y luego trabajando de regreso hacia el depósito. Una vez que se identifica la parada más lejana, se debe seleccionar el volumen desde la agrupación más estrecha de paradas situada alrededor de la parada clave, para completar la capacidad asignada al camión. Después de que se hayan asignado al vehículo los volúmenes de paradas, se selecciona otro vehículo e identifica la parada más lejana al depósito entre las paradas restantes que aún no han sido asignadas a un vehículo. Proceda de esta manera hasta que todas las paradas hayan asignado a los vehículos.

4. La secuencia de paradas de una ruta por carretera debe formar una Ilustración de una lágrima. Las paradas deben continuarse de tal manera que ningún camino de la ruta se cruce, y la ruta parezca tener la forma de una lágrima. Ver Ilustración 3. Las restricciones de momentos oportunos y la obligación de recoger después de las entregas puede provocar que los caminos de la ruta se crucen.

Ilustración 5: Ejemplos de mala y buena secuencia de paradas .

Page 12: Apunte Diseño de Rutas

Apunte de Diseño de Ruta y Programación de Vehículos

11/11/10 11 Producción III

5. Las rutas más eficientes se construyen usando los vehículos más grandes disponibles. Idealmente, usar un vehículo lo suficientemente grande como para manejar todas las paradas en una misma ruta minimizará la distancia total, o el tiempo, utilizado para atender las paradas. Por lo tanto, se debe asignar primero los vehículos más grandes, de entre los múltiples tamaños de la flota, a condición de que pudieran aprovecharse en su máximo rendimiento.

6. Las recolecciones deben mezclarse dentro de las rutas de reparto, en vez de ser asignadas al final de las rutas. Las recolecciones deben hacerse, dentro de lo posible, durante el curso de los repartos, para minimizar la cantidad de caminos que se cruzan, lo que puede ocurrir cuando se atienden dichas paradas después de hacer todos los repartos. El alcance al que puede hacerse esto dependerá de la configuración de los vehículos, de los tamaños de los volúmenes de recolección y del grado de obstaculización que exista para no bloquear el acceso a la mercadería de reparto que haya dentro del vehículo.

7. Una parada que se halla a gran distancia de una agrupación de ruta es buena candidata para un medio alternativo de reparto. Las paradas que estén aisladas de las agrupaciones de las paradas, especialmente aquellas con bajo volumen, son atendidas a costa de gran tiempo de conducción y gastos del vehículo. Usar pequeños camiones para manejar tales paradas puede ser más económico, dependiendo del aislamiento de cada parada en particular y sus volúmenes. También sería buena alternativa usar un servicio de transporte en alquiler.

8. Deben limitarse las paradas restringidas por momentos oportunos. Las restricciones de momentos oportunos en las paradas, cuando son limitadas, pueden forzar a que la secuencia de las paradas se aleje de los patrones ideales. Dado que las restricciones por momentos oportunos a menudo no son absolutas, debería renegociarse cualquier parada que tenga que ser atendida en un patrón de diseño de ruta menos deseado, con la esperanza de ampliar sus límites de momento oportuno.

Aplicando los principios nombrados anteriormente se pueden alcanzar soluciones satisfactorias, no necesariamente optimas.

MÉTODOS DE PROGRAMACIÓN Y DISEÑO DE RUTAS DE LOS VEHÍCULOS (PDRV)

En la actualidad existen diferentes métodos para la resolución de problemas de programación y diseño de rutas, cada uno cuenta con limitaciones que lo convierten en más o menos favorables para la aplicación en cada caso en particular. En este apunte se presentarán los métodos “de Barrido”, “de Ahorros” y “de Rover”.

Método “de Barrido”

El método “de Barrido” para el diseño de rutas es muy sencillo para realizar cálculos manuales, incluso en problemas de gran tamaño. Este método cuando se programa en computadoras puede arrojar soluciones en forma rápida sin requerir

Page 13: Apunte Diseño de Rutas

Apunte de Diseño de Ruta y Programación de Vehículos

11/11/10 12 Producción III

enormes cantidades de memoria, con un error promedio de 10% aproximadamente de resultados óptimos.

Este método puede arrojar buenas soluciones cuando:

1. Cada volumen de parada es una fracción pequeña de la capacidad del vehículo.

2. Todos los vehículos tienen el mismo tamaño.

3. No hay restricciones de tiempo en las rutas.

La desventaja del método tiene que ver con la manera en que se forman las rutas. Primero las paradas se asignan a los vehículos y luego se determina la secuencia de las paradas dentro de las rutas.

Como consecuencia del punto anterior, este modelo no maneja correctamente la:

o Sincronización. o Tiempo total empleado en la ruta. o Momento oportuno.

El método de Barrido puede describirse como sigue:

1º). Localizar todas las paradas, incluyendo el depósito, sobre un mapa o cuadricula.

2º). Trazar una línea recta entre el depósito en cualquier dirección. Girar la línea en el sentido de las manecillas del reloj, o sentido contrario, hasta que intersecte una parada. Hacer la pregunta: Si la parada insertada esta incluida en la ruta, ¿se excederá la capacidad del vehículo? Si la respuesta es no, se procede con la rotación de la línea hasta intersectar la siguiente parada. Hacer la pregunta: ¿Excederá la capacidad del vehículo el volumen acumulado? Se usan los camiones más grandes primero. Si la respuesta es sí, se excluye el último punto y se define la ruta. Continuando el barrido de la línea, se empieza una nueva ruta con el último punto que fue excluido de la ruta previa. Se continúa con el barrido hasta que todos los puntos se hayan asignado a las rutas.

3º). Dentro de cada ruta efectuar una secuencia de paradas para minimizar la distancia. La secuencia puede lograrse aplicando el método de la gota de lagrima o usando cualquier algoritmo que resuelva el método del “agente viajero”.

A modo de ejemplo, presentamos la Ilustración 4 donde se puede ver el diseño de rutas de una compañía mediante el método “de Barrido”. La empresa cuenta con camionetas que pueden cargar 10.000 unidades. Para completar una ruta, por lo general se requiere todo el día.

Page 14: Apunte Diseño de Rutas

Apunte de Diseño de Ruta y Programación de Vehículos

11/11/10 13 Producción III

Ilustración 6: Ejemplo de resolución de caso por método “de Barrido” .

Método “de Ahorros”

El método permite el manejo de un amplio rango de restricciones prácticas, siendo relativamente rápido de calcular en una computadora para un número moderado de paradas, capaz de generar soluciones cerca de lo óptimo, con un error promedio aproximado del 2 % respecto a la solución óptima.

Puede manejar muchas restricciones prácticas, principalmente porque es capaz de formar rutas y ordenar paradas en forma simultanea.

El método tiene como objetivo minimizar la distancia total viajada por todos los vehículos y minimizar indirectamente el número de vehículos necesarios para atender todas las paradas.

El método de Ahorros puede describirse como sigue:

1. Empezar con un vehículo simulado que cubre cada parada y regresa al depósito, como se muestra en la Ilustración 5 (a). Este proceso determina la máxima distancia para ser experimentada en el diseño de ruta.

2. Luego combinar dos paradas en la misma ruta para que un vehículo pueda eliminarse y la distancia del viaje se reduzca.

3. Para determinar las paradas que se van a combinar en una ruta, hay que calcular la distancia ahorrada, antes y después de la combinación. El valor de ahorro es S = d0,A + dB,0 – dA,B. Ver Ilustración 5 (b).

Page 15: Apunte Diseño de Rutas

Apunte de Diseño de Ruta y Programación de Vehículos

11/11/10 14 Producción III

Ilustración 7: Distancia reducida en viaje mediante consolidación de paradas en una ruta

4. Realizar el punto 3 para todos los pares de paradas.

5. Seleccionar para la combinación el par de puntos con el valor de ahorro más grande.

6. El proceso de combinación continua, además de combinar las paradas sencillas, el proceso puede insertar otra parada en una ruta que contenga más de una parada.

Ejemplo: (Ver Ilustración 6) o Se inserta una parada entre A y B (A)

S = d0,C + dC,0 + dA,B – dA,C – dC,B o Se inserta una parada después de B (B)

S = dB,0 + d0,C – dB,C

o Se inserta una parada antes de A (C) S = dC,0 + dA,0 – dC,A

0 A

B

dB,0

d0,A

dA,B CdA,C

dC,B

d0,C

0 A

B

dB,0

d0,A

dA,B CdA,C

dC,B

d0,C 0 A

B

dB,0

d0,A

dA,B

CdA,CdA,C

dC,B

d0,C

0 A

B

dB,0

d0,A

dA,B

CdA,CdA,C

dC,B

d0,C

0 A

B

dB,0

d0,A

dA,B

C

dC,0dA,C

dC,B

0 A

B

dB,0

d0,A

dA,B

C

dC,0dA,C

dC,B

(A) (B) (C)

Ilustración 8: Ejemplos de cálculo de ahorros según ubicación de la parada

El potencial del método se debe a la capacidad de asignar, simultáneamente, una parada a una ruta y colocarla en un lugar en la propia secuencia de la ruta. Por lo tanto, antes de aceptar una parada en una ruta debe preverse la ruta con la nueva parada. Pueden contemplarse diferentes condicionantes a la hora de proyectarse una ruta, como por ejemplo si existe un vehículo lo suficientemente grande como para aceptar ese volumen, si se logra la parada en momento oportuno, etc.

Page 16: Apunte Diseño de Rutas

Apunte de Diseño de Ruta y Programación de Vehículos

11/11/10 15 Producción III

Método “de Rover”

Se trata de resolver el problema que plantea la necesidad de distribuir productos a varios clientes desde un centro de distribución, o recoger productos desde varios proveedores y llevarlos a un almacén central. Se trata de definir la ruta de recolección o entrega de carga que minimice tiempo, distancia o costo, teniendo como restricción la capacidad del vehículo.

El método que se presenta a continuación, llamado ROVER, fue desarrollado por Fisher, Greenfield, Jaikumar y Lester, en 1982. Este método tiene básicamente tres pasos:

1) Determinar para cada recorrido o camión, los puntos de origen o centros de atracción.

2) Asignar, en forma óptima, todos los clientes a algún recorrido, relacionado a un punto de origen.

3) Determinar para cada recorrido la secuencia de clientes para la entrega mediante la solución del problema del viajante.

El método supone que todos los vehículos poseen la misma capacidad, que no hay restricciones en cuanto a la distancia, tiempo o máximo número de parada permitidas, y que las operaciones de carga y descarga no tienen tiempo asociado.

Para presentar el tema desarrollaremos el problema presentado por Ballou, en las páginas 491 y 495, en el que una terminal T que tiene asignados 6 clientes y dispone de 2 camiones que tienen una capacidad de 30 unidades cada uno. Los costos de transporte son proporcionales a la distancia recorrida. A continuación se presentan el esquema espacial de la ubicación de los nodos y, en forma tabular, se resumen las distancias y demandas correspondientes.

T

1 5

2 6

3 14

5 9

6 10

4 8

Page 17: Apunte Diseño de Rutas

Apunte de Diseño de Ruta y Programación de Vehículos

11/11/10 16 Producción III

Nodo Distancia a la Terminal

Distancia al nodo Nº Demanda 1 2 3 4 5

1 33 5 2 45 15 6 3 32 14 16 14 4 68 60 51 46 8 5 25 32 36 21 46 9 6 20 48 58 42 65 24 10

Primer paso

Se busca determinar para cada recorrido o camión, los puntos de origen o centros de atracción. La demanda total es de 52 unidades y la capacidad total de los camiones es de 60 unidades, por lo tanto efectuado dos recorridos, uno con cada camión, se puede distribuir el total de la carga.

Se definirán entonces dos recorridos que contengan la mitad de la demanda (26 unidades), para ello se utiliza el método de “barrido”, para ello se define una dirección de referencia, por ejemplo, la línea que pasa entre la terminal el cliente 1, a partir de aquí comienza a rotarse la línea en el sentido de las agujas del reloj y se van asignado las demandas al primer vehículo hasta completar la mitad de la demanda total.

Siguiendo este procedimiento al llegar al cliente 3 se acumula una demanda de (5+6+14=25) y si agregáramos el próximo cliente superaríamos la capacidad del camión, por lo que el límite del primer sector está entre el cliente 3 y 4. Para establecer este límite se asume que la demanda crece proporcionalmente con el ángulo de barrido, por lo que a la distancia angular entre 3 y 4, corresponde un crecimiento de la demanda de 8 unidades (las que corresponden al punto 4). Como para llegar a una demanda acumulada de 26 hay que añadir una unidad, el ángulo de barrido adicional será de 1/8 del que separa a 3 de 4.

Una vez establecido el límite del barrido que encierra el 50 % de la demanda, se define la bisectriz del sector que ha quedado definido.

T

1 5

2 6

3 14

5 9

6 10

4 8

α

δ = α /8

Page 18: Apunte Diseño de Rutas

Apunte de Diseño de Ruta y Programación de Vehículos

11/11/10 17 Producción III

Sobre la bisectriz del ángulo de barrido del primer recorrido se ubica el centro de

atracción u origen del mismo a una distancia a la terminal igual a la del cliente más alejado, en este caso es el cliente 2, cuya distancia a la terminal es 45.

Siguiendo el procedimiento anterior se ubica el ángulo de barrido del segundo corredor que tendrá su límite en el cliente 6 y se define el centro de atracción.

Segundo paso

Para poder asignar en forma óptima los clientes a cada recorrido, deben definirse, en primer lugar, las distancias de inserción, esto es la distancia extra que habría que recorrer si un cliente se introduce en un recorrido desde la terminal al punto de origen y vuelta.

En primer lugar, es necesario definir las distancias lineales entre los centros de atracción de cada circuito a todos los clientes. En nuestro caso esas distancias son las siguientes:

T

1 5

2 6

3 14

5 9

6 10

4 8

Origen o centro de atracción 1

Origen o centro de atracción 2

T

1 5

2 6

3 14

5 9

6 10

4 8

Origen o centro de atracción 1

45

Page 19: Apunte Diseño de Rutas

Apunte de Diseño de Ruta y Programación de Vehículos

11/11/10 18 Producción III

Distancias a los centros de atracción Recorrido Cliente

1 2 3 4 5 6 1 15 3 19 48 39 57 2 57 55 49 6 43 61

Se trata ahora de definir la distancia requerida para insertar cada cliente en cada

uno de los recorridos o circuitos. A modo de ejemplo, veremos la forma de cálculo de las distancias de inserción del nodo 4 en los circuitos 1 y 2.

La distancia de ida y vuelta desde la terminal al centro de atracción 1 es de

45+45= 90 y un recorrido que iniciándose en la terminal vaya hasta el centro de atracción 1, desde allí al nodo 4 y desde éste de vuelta a la terminal tendrá como distancia de 45+48+68=161. Por lo anterior la distancia extra para insertar el cliente 4 en el circuito 1 es de 161-90=71.

Si repetimos los cálculos respecto del centro de atracción 2 tendremos lo siguiente:

o Distancia de ida y vuelta desde la terminal al centro de atracción 2 es de 68+68= 136

o Distancia terminal-centro de atracción 2-cliente 4-terminal es de 68+6+68=142

o Distancia de inserción del cliente 4 en el circuito 2 es de 142-136=6

Si repetimos estos cálculos para cada cliente respecto de ambos centros de atracción obtendremos todas las distancias de inserción, cuyos resultados se resumen en la tabla que sigue.

Distancias de inserción Recorrido Cliente

1 2 3 4 5 6 1 3 3 6 71 19 32 2 22 32 13 6 0 13

T

4 8

Origen o centro de atracción 1

Origen o centro de atracción 2

48

68

68 6

45

Page 20: Apunte Diseño de Rutas

Apunte de Diseño de Ruta y Programación de Vehículos

11/11/10 19 Producción III

Conocidas las distancias de inserción, es el momento de asignar clientes a cada ruta de forma de minimizar la suma de las distancias de inserción, para ello Fisher, Greenfield, Jaikumar y Lester proponen la utilización de un algoritmo de asignación general, formulado de la forma que sigue:

Dados los siguientes datos:

iclientedeldemandaa

kcircuitoeleniclientedelinsercióndetod

i

ik

== cos

Y las variables

=casootrocualquieren

kcircuitoalasignadoesiclienteelsiyik 0

;1

El problema de asignación generalizado tiene por función objetivo la

minimización de la suma de las distancias de inserción y su planteo es:

∑∑= =

K

k

n

iikik yd

1 1

*min

Sujeto a las siguientes restricciones:

Cada cliente debe asignarse a un circuito, y se plantea de la siguiente manera:

∑=

==K

kik niy

1

...,1,1

No se puede exceder la capacidad del vehículo, esto se formula como sigue:

∑=

=≤n

ikiki Kkbya

1

,...,1,*

Donde:

K = número total de circuitos k = circuito k n = número total de clientes i = cliente i bk = capacidad del camión en el circuito k

A continuación se presenta la implementación en Exel de la solución, el correspondiente cuadro de diálogo de Solver para obtener la solución y la formulación utilizada en cada celda de cálculo.

Page 21: Apunte Diseño de Rutas

Apunte de Diseño de Ruta y Programación de Vehículos

11/11/10 20 Producción III

Formulas

Celda Formula Copiar B23 =B16*B$11 Copiar de B23 a G23; a B24 y desde B24 a G24

H23 =SUMA(B23:G23) Copiar a H24

B29 =B16*B5 Copiar de B29 a G29; a B30 y desde B30 a G30 H29 =SUMA(B29:G29) Copiar a H30 H31 =SUMA(H29:H30)

El cuadro de asignación de clientes a la ruta representa la solución encontrada por SOLVER a este problema. Los 1 implican que el cliente, cuyo número identifica a la columna, ha sido asignado al circuito cuyo número designa a la fila.

De este resultado surge que:

o Al circuito 1 se asignan los cliente 1, 2 y 3.

o Al circuito 2 se asignan los clientes 4,5 y 6.

o Este resultado es el que suma la distancia de inserción mínima que es 31.

Tercer paso

Una vez asignado los clientes que van a ser servidos dentro de cada circuito, cabe definir la secuencia de paradas en cada circuito. Esto puede hacerse por cualquier método que resuelva el problema de asignación de secuencia de paradas cunado el punto de origen y destino final coinciden.

o Puede usar un método gráfico muy sencillo y eficaz, que consiste en definir circuitos en forma de “lágrima”, teniendo en cuenta no introducir enlaces que se crucen.

Page 22: Apunte Diseño de Rutas

Apunte de Diseño de Ruta y Programación de Vehículos

11/11/10 21 Producción III

o Puede aplicarse la heurística que ya hemos descripto para resolver el problema del viajante.

Por ejemplo, si aplicamos el método gráfico las secuencias dentro de cada circuito pueden ser las siguientes:

Circuito 1 T→3→2→1→T Distancia=32+16+15+33=96 Circuito 2 T→6→4→5→T Distancia=20+65+46+25=156

T

1

2

3

5

6

4