Está en la página 1de 6

Scientia et Technica Ao XIV, No 39, Septiembre de 2008. Universidad Tecnolgica de Pereira.

ISSN 0122-1701

229

UN PROBLEMA LOGSTICO DE PROGRAMACIN DE VEHCULOS CON VENTANAS DE TIEMPO(VRPTW) A logistic case of programming vehicle routing problem with time windows
RESUMEN ste documento presenta la solucin a un caso logstico de programacin de vehculos con ventanas de tiempo conocido como VRPTW (vehicle routing problem with Time Windows). En este problema se utiliza como ventana de tiempo el tiempo prometido. Para determinar el orden en que cada vehculo debe visitar a sus clientes que minimiza los costos de transporte, usamos la heurstica R. El algoritmo fu implementado en Visual Basic para Excel. PALABRAS CLAVES: Programacin de vehculos con ventanas de tiempo, heurstica R ABSTRACT This document presents the solution to a logistic case of programming vehicle routing problem with time windows. We used the due date as time window. We used the R heuristic for determining a sequence with transport minim cost. KEYWORDS: VRPTW (vehicle routing problem time windows), R heuristic.
JORGE HERNAN RESTREPO Ingeniero Industrial, M. Sc. Profesor Asistente Universidad Tecnolgica de Pereira jhrestrepoco@utp.edu.co PEDRO DANIEL MEDINA V Ingeniero Mecnico, M. Sc. Profesor Especial Universidad Tecnolgica de Pereira pmedin@utp.edu.co EDUARDO ARTURO CRUZ T Ingeniero Industrial, M. Sc. Profesor Asistente Universidad Tecnolgica de Pereira ecruz@utp.edu.co

1. INTRODUCCIN Todos los das se entregan productos en diferentes puntos de una ciudad, teniendo como referencia un origen que es el punto de distribucin. Uno de los objetivos de los distribuidores es determinar el nmero de vehculos que se requieren para la entrega de bienes a los clientes con el objetivo de minimizar el costo de transporte. Este documento presenta un caso de estudio de una empresa distribuidora de comestibles en la ciudad de Santa Rosa de Cabal Risaralda que desea determinar el nmero de vehculos minimizando sus costos de transporte. El problema tiene un almacn y 20 clientes para atender con requerimientos definidos. Los vehculos tienen una capacidad de 100 unidades del producto de entrega y los clientes restringen las entregas a unas ventanas de tiempo. El problema se modela como un VRPTW (VRP with Time Windows) donde se tienen vehculos de capacidad (carga) finita. Para determinar la solucin se utiliza la heurstica R. El algoritmo se implementa en Visual Basic para Excel. 2. TEORA El VRP(vehicle routing problem) tiene diferentes variaciones[1]. Estas variaciones son: 2.1 CVRP(capacited VRP)
Fecha de Recepcin: 5 de Junio de 2008. Fecha de Aceptacin: Agosto 5 de 2008.

Es el VRP ms general y consiste en uno o varios vehculos con capacidad limitada y constante encargados de distribuir los productos segn la demanda de los clientes. 2.2 MDVRP (Multi-Depot VRP) Es el VRP con mltiples depsitos. Cada depsito (con su flota de vehculos) debe servir a todos los clientes. 2.3 PVRP (Period VRP) Contempla en su planteamiento un horizonte de operacin de M das, periodo durante el cual cada cliente debe ser visitado una vez.

2.4 SDVRP (Split Delivery VRP) Contempla entrega dividida, donde se permite que un cliente pueda ser atendido por varios vehculos si el costo total se reduce, lo cual es importante si el tamao de los pedidos excede la capacidad de un vehculo. 2.5 SVRP (Stochastic VRP) Contempla uno o varios componentes aleatorios; clientes, demanda y tiempos pueden ser estocsticos. 2.6 VRPPD (VRP pickup and Delivery)

230

Scientia et Technica Ao XIV, No 39, Septiembre de 2008. Universidad Tecnolgica de Pereira.

3.3 PARMETROS Contempla entrega y recogida. Es aquel donde cabe la posibilidad de que los clientes pueden devolver determinados bienes, por tanto se debe tener presente que el vehculo tenga capacidad para las dos acciones. Esta restriccin hace el problema ms complejo y puede causar una mala utilizacin de los vehculos. S el problema tiene una restriccin de culminar todas las entregas antes de iniciar las recogidas da lugar a un VRPB (VRP Backhauls). 2.7 MFVRP (Mix Fleet VRP) Contempla vehculos con distintas capacidades, por lo tanto hay que considerar estas capacidades en la ruta que seguir cada recurso, ya que un vehculo con mayor capacidad podr cubrir una ruta ms amplia (mayor demanda). 2.8 VRPTW (VRP with Time Windows) En el se incluye una restriccin adicional donde se asocial una ventana de tiempo a cada cliente, es decir, cada cliente slo est dispuesto a recibir la visita del vehculo durante un intervalo de tiempo dado. 3. FORMULACIN MATEMTICA 3.1 INDICES

Los parmetros del problema son:

i, j

= Costo de transporte del nodo i al nodo j

d = Demanda en el nodo j u =capacidad del recurso k


i

n = nmero de clientes
H = Costo del vehculo

s = tiempo de servicio H para el cliente i [ e , l ] = ventana de tiempo para el cliente i a = tiempo de inicio de la ventana de tiempo para el
i i i i

cliente i

= tiempo de cierre de la ventana de tiempo para

cliente i

3.4 MODELO [2].[3] Minimizar

Los ndices del modelo son: i = nodo de partida i (1,2,..,n) j = nodo de llegada j (1,2,., n) n = nodos totales k = Vehculo k (1,2,., K) Sujeto a:

H y
j A

0, j

( i , j )_ A

C y
i, j

i, j

(1)

1 k K

i, j

i, j

i,j

(2)

1 j n

i, j

=1 ;

(3)

3.2 Variables

Las variables que se definen son:

1i n

i, j

=1 ;

(4)

i, j

= 1 si se asigna el vehculo k para recorrer el arco

del nodo i al nodo j. cero(0) de lo contrario.

1 j n

0, j

=k

(5)

i, j

= 1 si se realiza el recorrido desde i hasta j o cero

(0) de lo contrario. K= Nmero de vehculos a utilizar.

1i n

i,0

=k

(6)

= tiempo de inicio del servicio para el cliente i

Scientia et Technica Ao XIV, No 39, Septiembre de 2008. Universidad Tecnolgica de Pereira.

231

1i n

d x
1 j n i k

k i, j

u ; k

(7)

4. DATOS DEL PROBLEMA Numero de clientes: 20 Cada vehculo tiene una capacidad unidades Costo por vehculo : 1000 Tiempo de servicio: 10

x (p + s + t
i, j i i

i, j

) p
i

de 100

(8)

a x
i

1 j n

i, j

p b x
i

1 j n

i, j

i y k (9)

La tabla 1 presenta los requerimientos de los clientes


Cliente Requerimiento 1 15 11 13 2 9 12 36 3 24 13 15 4 35 14 16 5 23 15 37 6 32 16 21 7 45 17 49 8 17 18 46 9 49 19 10 10 2 20 29

e p l
i i

(10)

Cliente Requerimiento

Tabla 1. Requerimientos de los clientes

y
iQ jQ

i, j

(11)

La tabla 2 presenta los tiempos comprometidos para la entrega y los tiempos de servicio.
Cliente 1 2435 2 1952 3 2990 4 2440 5 1798 6 2873 7 2469 8 2787 9 2547 10 1768

subconjunto Q de (1,2,.n) k K

(12) (13) (14)

Tiempo Entrega T iempo servicio Cliente Tiempo

i, j k

{0,1} ; (i,j) A {0,1} ; (i,j) A , k

10

10

10

10

10

10

10

10

10

10

i, j

11 2620

12 1860

13 2742

14 2880

15 2432

16 1898

17 1877

18 2234

19 2595

20 2020

El conjunto A se define como A ={ (i,j) :

i, j

=1}

Entrega Tiempo 10 10 10 10 10 10 10 10 10 10

La restriccin (2) se encarga de hacer obligatoria la asignacin de un vehculo a la ruta (i,j), 1 si esta es recorrida , y 0 si no. Las restricciones (5) y (6) indica que k es la cantidad de vehculos utilizados en la solucin y que todos los que parten del almacn deben regresar al mismo. La restriccin (7) garantiza que los vehculos no sobrepasen su capacidad. La restriccin (8) garantiza que el vehculo k cumpla con las ventanas de tiempo. La restriccin (9) obliga a que vehculo k no visita al cliente i La restriccin (10) vigila que la solucin no contenga ciclos usando los nodos 1,2,n. La restriccin (11) limita el nmero de vehculos a usar. Las restricciones (12) y (13) indican que las variables son binarias.

servicio

Tabla 2. Tiempos prometidos de entrega y tiempos de servicio La tabla 3 y 4 presentan las distancias (costo) para moverse entre clientes.
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 0 0 1090 1101 1211 1321 1320 1210 1211 1101 991 980 880 990 1100 1210 1100 1210 880 990 1035 955 1 1441 0 110 220 451 561 451 341 231 121 110 220 231 341 451 561 671 781 891 936 1056 2 1430 110 0 110 440 550 440 330 220 110 220 330 220 330 440 550 660 770 880 925 1045 3 1540 220 110 0 550 660 550 440 330 220 330 440 330 440 550 660 770 880 990 1035 1155 4 1210 330 220 110 0 330 220 110 220 330 440 550 440 330 220 330 440 550 660 705 825 5 880 660 550 440 330 0 110 220 330 440 550 660 550 440 330 440 110 220 330 375 495 6 990 550 440 330 220 110 0 110 220 330 440 550 440 330 220 330 220 330 440 485 605 7 1100 440 330 220 110 220 110 0 110 220 330 440 330 220 110 220 330 440 550 595 715 8 1210 330 220 330 220 330 220 110 0 110 220 330 220 330 220 330 440 550 660 705 825 9 1320 220 110 220 330 440 330 220 110 0 110 220 110 220 330 440 550 660 770 815 935 10 1331 110 121 231 341 451 341 231 121 11 0 110 121 231 341 451 561 671 781 826 946

p = 0 cada vez que el


i

Tabla 3. Distancias(costo) de moverse entre clientes

232
11 1320 220 231 341 451 561 451 341 231 121 110 0 110 220 330 440 550 660 770 815 935 12 1210 330 220 330 440 550 440 330 220 110 220 110 0 110 220 330 440 550 660 705 825 13 1100 440 330 440 330 440 330 220 110 220 330 220 110 0 110 220 330 440 550 595 715 14 990 550 440 550 440 330 220 330 220 330 440 330 220 110 0 110 220 330 440 485 605 15 880 660 550 440 330 220 110 220 330 440 550 440 330 220 110 0 110 220 330 375 495 16 770 1210 1100 990 880 770 660 770 880 990 1100 990 880 770 660 550 0 110 220 265 385 17 880 1320 1210 1100 990 880 770 880 990 1100 1210 1100 990 880 770 660 770 0 110 155 275 18 990 1430 1320 1210 1100 990 880 990 1100 1210 1320 1210 1100 990 880 770 880 110 0 45 165 19 1035 1475 1365 1255 1145 1035 925 1035 1145 1255 1365 1255 1145 1035 925 815 925 155 45 0 120

Scientia et Technica Ao XIV, No 39, Septiembre de 2008. Universidad Tecnolgica de Pereira.

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

20 955 1395 1285 1175 1065 955 845 955 1065 1175 1285 1175 1065 955 845 735 845 275 165 120 0

momento. El nmero de iteraciones depende del nmero de posiciones del baln que el investigador define previamente. El tiempo entre iteraciones depende del nmero de jugadores y de las posiciones que stos toman con respecto a la posicin del baln. En conclusin, el nmero de posiciones del baln y el nmero de jugadores depende del tiempo que tenga el investigador de esperar la respuesta. 5.1 PRESENTACIN DE LA HEURSTICA R. 1. 2. 3. 4. Definir el nmero de posiciones del baln y nmero de jugadores Generar una solucin inicial como primera posicin del baln Guardar esta secuencia como la mejor hasta el momento Si el nmero de posiciones del baln no se han agotado hacer lo siguiente: Generar los jugadores a partir de la posicin del baln Hacer que cada jugador se mueva haca el baln y evaluar cada movimiento: S el movimiento supera al mejor, hacer este como el mejor Generar una nueva posicin del baln a partir de la mejor secuencia y evaluar: S la posicin supera la mejor, hacer sta como la mejor Retornar al paso 4

Tabla 4.distancias(costo) de moverse entre clientes 5. DETERMINACIN DE LAS SECUENCIAS DE ENTREGA Las secuencias de entrega de cada vehculo se determinan utilizando la heurstica R[4]. sta heurstica toma algunos eventos y elementos que intervienen en un partido de ftbol (campo de juego, baln, jugadores). El campo de juego es el espacio de soluciones posibles, las posiciones del baln y de un grupo de jugadores son soluciones buenas y malas del problema. Cuando se inicia el partido de ftbol la primera posicin del baln se toma como primera solucin del problema y se guarda como la mejor solucin hasta el momento. Ahora las posiciones que tienen los jugadores que estn cerca o lejos del baln, son tambin posibles soluciones candidatas del problema, las cuales se deben comparar con la mejor solucin hasta el momento. Si alguna de ellas la supera, pasa temporalmente a ser la mejor hasta ahora. Seguidamente los jugadores tratan de apoderarse del baln, y para lograr este objetivo se tienen que desplazar (cambiar de posicin). Estas nuevas posiciones o pasos son comparados con la mejor solucin calculada hasta el momento. En caso de ser superada, ser reemplazada. Es posible que algunos de los jugadores tengan que realizar ms movimientos para buscar el baln. El escenario anterior, se repite continuamente durante el partido, con la particularidad que el baln va ocupando nuevas posiciones en el campo de juego e inclusive se puede dar el evento que se repitan algunas. Y para cada una de estas nuevas posiciones del baln aparecen los mismos( en cantidad y posiblemente en posicin) y/o nuevos jugadores. Despus de correr todos los escenarios, se presenta como solucin del problema la mejor explorada hasta ese

5.2 MECANISMOS DE PERTURBACIN 1. Generacin de la nueva posicin del baln: Para generar la nueva posicin del baln se perturba la mejor solucin que se lleva hasta el momento, seleccionando de manera aleatoria dos elementos de esta secuencia y se intercambia de posicin. 2. Generacin de las nuevas posiciones de los jugadores: Se genera la nueva posicin para cada jugador perturbando la posicin del baln, seleccionando de manera aleatoria dos elementos de esta secuencia y se intercambia de posicin. 3. Movimiento de los jugadores: Cada movimiento de los jugadores se hace perturbando de manera sistemtica un elemento a la vez de la secuencia que representa la posicin actual, buscando calcar la secuencia de la posicin del baln. Se observa que se utilizan dos mecanismos de perturbacin aleatorios y uno sistemtico. En el cuadro 1, se presenta grficamente la heurstica y el cuadro 2, muestra las convenciones respectivas.

Scientia et Technica Ao XIV, No 39, Septiembre de 2008. Universidad Tecnolgica de Pereira.

233

explorar la secuencia con los clientes j que no han sido asignados a una ruta o vehculo k. La heurstica genera mltiples secuencias que son exploradas, guardando la de mnimo costo. Al ejecutar la heurstica se encontr como mejor programacin de vehculos la siguiente: El almacn se identifica como el nodo 0.

Cuadro1. Representacin grfica de la heurstica R. Posicin del baln

Vehculo 1: 0,5,4,8,0 Costo ruta: 2531 Q: 52 Vehculo 2: 0,10,3,0 Costo ruta: 2872 Q: 26 Vehculo 3: 0,2,14,0 Costo ruta: 3080 Q: 25

Posicin del jugador

Cuadro 2 Convenciones del grfico.

Para la aplicacin de la heurstica se desarroll un programa en Visual Basic para Excel donde el usuario puede definir el tamao de su matriz de distancias y los parmetros de entrada que el mtodo requiere. Se asumi los siguientes valores para los parmetros: Parmetros: Posiciones del baln: 100 Nmero de jugadores: 3 Para ejecutar la heurstica se utiliza la matriz de costos (distancias) determinada por Restrepo y Snchez(1) y los datos correspondientes al problema.

Vehculo 4: 0,9,0 Costo ruta: 2311 Q: 49 Vehculo 5: 0,13,0 Costo ruta: 2200 Q: 15 Vehculo 6: 0,11,0 Costo ruta: 2200 Q:13 Vehculo 7: 0,7,6,0 Costo ruta: 2420 Q: 77 Vehculo 8: 0,1,0 Costo ruta: 2531 Q: 15 Vehculo 9: 0,12,15,0 Costo ruta: 2640 Q: 73 Vehculo 10: 0,16,0 Costo ruta: 1980 Q: 21 Vehculo 11: 0,18,19,0 Costo ruta: 2070 Q: 56 Vehculo 12: 0,17,0

5.3. RESULTADOS La heurstica resuelve el problema generando una secuencia que luego ella explora evaluando el modelo matemtico. Ella utiliza el valor de la distancia como tiempo para ir de un lugar i a un lugar j. cuando llega temprano, utiliza como tiempo de inicio de servicio

el tiempo prometido. Cuando el cliente j esta dentro del tiempo, se evala la capacidad del vehculo. Si el cliente cumple con ambos requisitos es adicionado a la ruta del vehculo k. el proceso se repite para cada cliente j, garantizando que todos sean evaluados para la ruta del vehculo k. cuando un vehculo ya no puede admitir ningn cliente j en su ruta, se genera otro vehculo k para

234 Costo ruta: 1760 Q: 49 Vehculo 13: 0,20,0 Costo ruta: 1910 Q:29

Scientia et Technica Ao XIV, No 39, Septiembre de 2008. Universidad Tecnolgica de Pereira.

El costo total de la programacin de vehculos es: Costo total de la ruta: 30 505 Costo por vehculo: 1000* 13 = 13 000 Costo total del programa: 43 505 6. CONCLUSIONES Y RECOMENDACIONES El problema VRPTM es un problema complejo que limita las posibilidades de programacin por las restricciones de capacidad y el cumplimiento de los tiempos prometidos a los clientes. Se recomienda utilizar metodologas como las metaheursticas para observar su comportamiento frente al tiempo de computo y la solucin encontrada.

7. BIBLIOGRAFA [1]Aguilera Jorge, Clculo de rutas de vehculos con ventanas temporales(vrptw), http://io.us.es/cursos/ doctorado/Trabajos_pdf/Jorge_Aguilera_VRPTW.pdf [2]Cordeau J.F, Desaulniers Guy, Desrosiers Jacques, Solomon Marius, Soumis Francois,The VRP with Time Windows,http://neo.lcc.uma.es/radi-aeb/WebVRP /data/articles/VRPTW.ps. [3]Restrepo Jorge Hernn, Medina Pedro Daniel Un problema logstico de ruteo de vehculos y una solucin con la heurstica R: Un caso de estudio. Scientia Technica. Ao XIII - Nmero 37 - Diciembre de 2007 Pag 407 [4]Restrepo Correa Jorge Hernn, Snchez Castro John Jairo. Aplicacin de la teora de grafos y el algoritmo de dijkstra para determinar las distancias y las rutas ms cortas en una ciudad. Scientia et Technica Ao X, No 26,
Diciembre 2004, Pag 121

También podría gustarte