P. 1
carga y descarga

carga y descarga

|Views: 22|Likes:

More info:

Published by: Leyna Alejandra Lopez Forero on May 07, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

11/03/2012

pdf

text

original

¨ ´ Q UESTII O, vol 21, 1 i 2, p.

153-175, 1997

´ HEURISTICO PARA LOS PROBLEMAS DE RUTAS CON CARGA Y DESCARGA EN SISTEMAS LIFO
JOAQU´ A. PACHECO IN E.U.E. Empresariales de Burgos En este trabajo se propone un algoritmo heur´stico para el «Problema de ı Carga y Descarga (PDP) con un solo veh´culo sin restricciones de capaı cidad en sistemas de descarga LIFO», —es decir, en cada momento s´ lo o se puede descargar la ultima mercanc´a que ha entrado en el veh´culo de ı ı ´ entre todas las que se encuentran en el—. Este algoritmo es una exten´ si´ n y adaptaci´ n del m´ todo de Or para el Problema del Viajante (TSP) o o e que sirve tambi´ n para matrices asim´ tricas. Con este heur´stico se cone e ı siguen resolver problemas de gran tama˜ o en un tiempo de computaci´ n n o razonable en ordenadores personales, con una desviaci´ n del optimo muy o ´ peque˜ a. n

Heuristic for the pick-up and delivery routing problems in lifo unloading systems

Keywords: Carga y descarga con sistema LIFO; intercambios de Or; chequeo de factibilidad.

* Joaqu´n A. Pacheco. Dpto. Matem´ ticas. E.U.E. Empresariales de Burgos. Fco. Vitoria s/n. 09006 ı a Burgos. – Article rebut el marc de 1995. ¸ – Acceptat el juliol de 1996.

153

´ 1. INTRODUCCION El Problema de Carga y Descarga (PDP) puede ser descrito de la forma siguiente: Sea un conjunto de clientes N = f2; 3; : : : ; ng; cada cliente r requiere que le sea transportada una mercanc´a desde un origen r+ a un destino r? . Para ello se dispone ı de m veh´culos que parten de una ciudad inicial 1, a la que regresan al final del ı trayecto. Se trata de dise˜ ar rutas de veh´culos con distancia total a recorrer m´nima. n ı ı Se va a denotar N + = fr+ =r = 2; : : : ; ng, el conjunto de puntos de carga y N ? = fr?=r = 2; : : : ; ng, el conjunto de puntos de descarga, y q(r), r = 2; : : : ; n, la mercanc´ıa de cada cliente r. Al caso especial en el que las demandas requeridas son todas iguales se le denomina el Dial-A-Ride-Problem (DARP), que tiene lugar en el transporte de viajeros, transporte escolar, etc. El PDP y el PDP con Ventanas de Tiempo (PDPTW) son problemas de rutas muy estudiados, especialmente a partir de la segunda mitad de la d´ cada de los ochenta. e Un repaso a los principales m´ todos de soluci´ n a estos problemas, tanto exactos e o como heur´sticos, se puede encontrar en el trabajo de Pacheco, (1994). ı Entre los algoritmos exactos destacan inicialmente el de Kalantari y otros, (1985), para el PDP con un solo veh´culo sin restricciones de capacidad, que proponen una ı serie de modificaciones en el algoritmo de Little y otros, (1963), para el TSP, con el fin de impedir la selecci´ n de arcos incompatibles con las relaciones de precedencia o o a origen-destino (r+ anterior a r? ); Psaraftis, (1983), usa programaci´ n din´ mica para resolver el DARP con Ventanas de Tiempo (DARPTW) con un solo veh´culo. Los ı estados son de la forma ( j; k2 ; : : : ; kn ), donde j es el v´ rtice actualmente visitado, y e cada ki puede tener tres valores diferentes, que indican el estatus de la mercanc´a ı de cada cliente: ?1, no ha sido cargada; 0, ha sido cargada pero no descargada; y +1, ha sido descargada; Desrosiers y otros, (1986), adaptan este algoritmo de 2n estados, a PDPTW con un solo veh´culo. Dumas, (1985), y Desrosiers y otros, (1987), ı presentan un algoritmo para el PDPTW plante´ ndolo como un problema de Partici´ n a o de Conjuntos y adaptando las t´ cnicas de soluci´ n de este. e o ´ En cuanto a los algoritmos heur´sticos Jaw y otros, (1986), describen un algoritmo ı de inserci´ n para una variante del DARPTW. El uso de las t´ cnicas descritas en el o e p´ rrafo anterior tambi´ n pueden usarse como subrutinas en otras t´ cnicas heur´sticas a e e ı para problemas con varios veh´culos, como en el caso de las del tipo Cluster 1o ?Ruta ı 2a . Ejemplos de este tipo de aproximaciones los tenemos en los trabajos de Desrochers y otros, (1991). Ahora bien, consid´ rese en el planteamiento del PDP con un veh´culo la siguiente e ı restricci´ n: En cada momento s´ lo puede ser descargado la ultima mercanc´a que ha o o ´ ı sido cargada, de entre las que se encuentren en el veh´culo. Este problema, que se ı va a denominar como PDP con un veh´culo con sistema de descarga LIFO (´ ltimo en ı u

154

Deif y otros. En estos se propone una estrategia para desarrollar ´ algoritmos exactos a este problema. (1986). Goetschalkx y otros. El trabajo se estructura de la siguiente forma: en la secci´ n 2 se explica la o idea b´ sica del algoritmo que se quiere desarrollar. (1965). en o la secci´ n 4 se estudian las situaciones posibles dependiendo de los elementos que o componen la cadena que se quiere recolocar. ı ı Existen referencias de trabajos que tratan modelos que tambi´ n tienen en cuenta e la situaci´ n de la carga en el veh´culo. sea factible. 2 o 3 elementos entre otros dos consecutivos en la ruta actual. cuando se o utilizan estos algoritmos u otros algoritmos exactos (como los basados en m´ todos de e programaci´ n din´ mica). (1988). (1994). introducir una serie de modificaciones que den lugar a un algoritmo exacto para el problema anterior. En el caso del algoritmo de Or se toma r = 3 y se e reduce la b´ squeda de los 3-intercambios a aquellos que supongan una recolocaci´ n u o de cadenas de 1. distribuci´ n de pales en o la industria del autom´ vil. Sin embargo. el problema tal como se ha definido en el p´ rrafo anterior. como Casco y otros. Esta t´ cnica es una extensi´ n n u ı e o y adaptaci´ n a este problema del algoritmo de Or para el TSP. se ha observado que para problemas de mayor tama˜ o a los utilizados en estos trabajos (10 o m´ s clientes). consistente en. Adem´ s. Adaptaciones de este algoritmo al TSP con ventanas de tiempo (TSPTW) se pueden encontrar en el trabajo de Salomon y otros. (Vehicle Routing o ı Problem with Backhauls). o. en la secci´ n 5 se describe el algoritmo o —desarrollado a partir de los resultados descritos en los apartados anteriores—. el algoritmo de a a Or se puede adaptar f´ cilmente a problemas asim´ tricos. en aquellas actividades de reparto en las o que se quiere un tiempo controlado para la descarga y se contempla la situaci´ n de o la mercanc´a en el veh´culo. y Golden y otros. La ventaja de este m´ todo es que el n´ mero de operaciones que se realiza es de θ(m2 ). o a En este trabajo. en la secci´ n 6 se chequea la eficacia de este algoritmo a partir de la resoluci´ n de una o o 155 . para el TSP sim´ trico. en general. se propone un heur´stico capaz de resolver problemas de gran ı tama˜ o en un tiempo de computaci´ n moderado. (1985). a partir de un algoritmo Branch & Bound para el TSP. principalmente el VRPB. aparece en muchas situaciones en el mundo del Transporte y la Industria: transporte de determinados gases industriales. El algoritmo o ´ de Or es una variante de los conocidos algoritmos r?optimos desarrollados por Lin. (1984). y Pacheco y otros. (siendo m el n´ mero de puntos o u que intervienen en el problema). en la secci´ n 3 se estudian las a o condiciones para que un 3-intercambio. en este caso recolocaci´ n. como se ver´ mas adelante. (1988). s´ lo tiene referencias en los trabajos de Pacheco. La eficacia de este algoritmo a e ha sido contrastada recientemente en el trabajo de Nurmi. e u frente al algoritmo 3-´ ptimo original que utiliza θ(m3 ). (1991). el n a tiempo de computaci´ n en ordenadores personales deja de ser razonable. Sin embargo. a o (1994).entrar primero en salir). desvi´ ndose del optimo s´ lo en un n o a ´ o peque˜ o n´ mero de casos y en una cantidad m´nima. (1976).

Figura 1.— se supondr´ que la capacidad del veh´culo es mayor que la carga total del conjunto a ı de clientes. (1994). —Pacheco. el caso general se estudiar´ posteriormente. o Igual que en trabajos anteriores. Esto hace reducir el n´ mero de 3-intercambios a u considerar a una cantidad de orden θ(n2 ). IDEA BASICA Or. adem´ s debemos chequear la factibilidad de cada posible recolocaci´ n a o respecto a las restricciones del problema. Posible recolocaci´ n del elemento i hacia adelante y hacia atr´ s entre j y j + 1. (1976). o a En el caso general de recolocaci´ n de cadenas de k elementos consecutivos. coo menzando en la posici´ n i. y Pacheco y otros. (1994). En nuestro caso seguiremos la misma idea.serie de problemas simulados. en la secci´ n 7 se expondr´ n las conclusiones que se o a extraen de los resultados obtenidos en la secci´ n anterior. como o 156 . a ´ 2. propone restringir la b´ squeda de intercambios a los 3-intercambios u en los que cadenas de uno. dos o tres clientes consecutivos son recolocadas entre otros dos clientes (ver figura 1). entre dos puntos que ocupan las posiciones j y j + 1. N´ tese que con estos intercambios no se o cambia el sentido de los diferentes tramos. pero no el l´mite del tama˜ o de la cadeı n na a recolocar.

A continuaci´ n vamos a proponer un o ı m´ todo que r´ pidamente examine las recolocaciones factibles para cada cadena.muestra la figura 2. Se definen las siguientes variables: k. Para cada n´ mero de elementos k de la cadena. i + k). Se realiza el intercambio correspondiente al mayor valor n de ganancia. 2 n ? 1. j + 1). se a˜ ade al final el punto 1 que se interpreta como la vuelta al origen. o En nuestro caso la ruta contiene 2 n puntos: el origen 1. determinar directamente los valores de j factibles. y adem´ s. se a˜ ade a las rutas el punto 2 n que se interpreta como n la vuelta al origen 1. u 157 . i el punto inicial de la cadena. son j = 1. Figura 2. y j el punto tras el n que recolocamos la cadena. Para cada uno de estos intercambios factibles calcula la variable ganancia definida como la suma de las distancias de los arcos que se suprimen menos la suma de las distancias de los arcos que se a˜ aden. i ? 2. de esta forma que el n´ mero de operaciones sea de θ(n3 ). para cada valor de i y de k. puede suponer un tiempo de computaci´ n excesivo. a n n ? 1 puntos de descarga. (recolocaci´ n hacia atr´ s). i + k). es decir de la nueva ruta a la que este da lugar. Si para cada ´ o u recolocaci´ n posible (definida por i. es e a decir. los ı posibles valores que puede tomar j. (recolocaci´ n hacia o a o adelante). j + 1) e incorporar los arcos (i ? 1. los posibles valores que puede u tomar i var´an desde 2. i). y j = i + k. i) y (i + k ? 1. por comodidad. Por comodidad. punto a partir del cual insertamos la cadena. : : : . Recolocaci´ n de una cadena de k elementos. y se vuelve a repetir el proceso con la nueva ruta. el tama˜ o de la cadena a recolocar. El algoritmo termina cuando el mayor valor de ganancia no sea positivo. Para cada valor de i y cada valor de k. El chequeo de la factibilidad de cada intercambio. : : : . n ? 1 puntos de carga. el n´ mero de o o operaciones en cada iteraci´ n ser´a de Θ(n4 ). hasta 2 n ? k. k y j) se chequea su factibilidad. ( j. (i + k ? 1. supone suprimir los arcos (i ? 1. ( j. El algoritmo act´ a b´ sicamente de la forma siguiente: a partir de una ruta inicial u a examina todos los intercambios o recolocaciones posibles que sean factibles.

(determinada por los o valores de i y k definidas anteriormente). pero solo uno. 2. pertenece a C se definen: A(r) = Subconjunto de M de clientes s tales que s? es anterior a r+ en la ruta actual. Como se ver´ de forma expl´cita m´ s adelante.3. para todo cliente r. siguientes del problema: 1. y por otra parte en las posiciones a de los puntos de descarga correspondientes a los puntos de carga que est´ n en la a cadena. INTERCAMBIOS FACTIBLES Para examinar la factibilidad de un intercambio se deben considerar las dos restricciones. Para cada cliente r cada punto de carga r+ debe ser anterior a cada punto de descarga r? . o basta con fijarse por una parte en las posiciones de los puntos de carga correspondientes a los puntos de descarga que est´ n en la cadena. s+ ? ? s? ? ? r+ ? ? r? B(r) = Subconjunto de M de clientes s tales que s+ es anterior a r+ y s? es posterior a r? en la ruta actual. es decir. es decir qu´ valores de j van a dar lugar a rutas que cumplan las dos restrice ciones anteriores. s+ ? ? r+ ? ? r? ? ? s? 158 . En otras palabras: no se pueden dar situaciones de este tipo en una ruta 1 ? ? r+ ? ? s+ ? ? s? ? ? r? ? ? 1: Cuando se estudia la recolocaci´ n de una cadena concreta. dichas posiciones marcar´ n a ı a a el m´nimo y el m´ ximo valor que puede tomar j. se ha de examinar en que lugares se puede insertar. o precedencias obligatorias. Definimos el siguiente conjunto: e M = Conjunto de clientes cuyos puntos de carga y descarga no pertenecen ninguno a C. o ´ ı cuando haya dos mercanc´as en el veh´culo. o a Para ello consid´ rese C una cadena de esta ruta. S´ lo se puede descargar la ultima mercanc´a que ha sido recogida. cumpliendo que o bien r+ o bien r? . Para estudiar los valores de j que cumplan la primera restricci´ n. ı a El estudio de los valores que cumplan la segunda restricci´ n es m´ s complicado. se ha de descargar antes la ultima ı ı ´ en entrar.

Demostraci´ n: Si j tomara alguno de los valores anteriormente se˜ alados. = = . j no puede tomar valores comprendidos entre 1 y m1 ? 1 ambos incluidos. es decir. 1. ambos incluidos. se tendr´a. ni entre m2 y 2 n ? 1 ambos inclusive. Se tiene el siguiente 8 t 2 N+ Lema 1 Sea j la variable que indica la posici´ n donde se recoloca C. ambos incluidos. .C(r) = Subconjunto de M de clientes s tales que s+ es posterior a r+ y s? es anterior a r? en la ruta actual. o n ı para alg´ n cliente s. j no puede tomar valores comprendidos entre orden(s+) y orden(s? ) ? 1. 8 s 2 D(r) j no puede tomar valores comprendidos entre orden(s+) y orden(s? ) ? 1. ambos incluidos. r+ ? ? s+ ? ? s? ? ? r? ? r? ? ? s+ ? ? s? D(r) = Subconjunto de M de clientes s tales que s+ es posterior a r? en la ruta actual r+ ? : N ? se define orden(t) como el n´ mero de orden o posici´ n que ocupa el u o elemento t en la ruta actual. Sean m1 = maxforden(s+ ) s 2 B(r)g y m2 = minforden(s? ) s 2 B(r)g. 8 s 2 C(r) j no puede tomar valores comprendidos entre orden(s+) y orden(s?) ? . seg´ n se ha o u definido anteriormente: a) b) c) d) 8 s 2 A(r) C no puede ser recolocado entre s+ y s? . una de las dos posiciones relativas siguientes entre los puntos de u carga y descarga de r y s en la nueva ruta obtenida: s+ ? o bien r+ ? ? r+ ? ? s? ? ? r? ? s+ ? ? r? ? ? s? : 159 .

A+ = 0. r+ 2 C . ı l´mite_inferior = maxforden( j+ )= j 2 A? g. Sea la cadena C u determinada por los valores de i y k: r(i) ? r(i + 1) ? ? r (i + k ? 1 ) : Definimos los siguientes conjuntos de clientes: A+ = r=r+ 2 C. n o / 2. seg´ n los elementos de A? y A+ se tienen los siguientes 4 casos: u / 1. se tiene que j s´ lo puede tomar los valores comprendidos entre o l´mite_inferior y l´mite_superior?1. / A? = 0 : La cadena est´ compuesta por pares completos de puntos de carga descarga. = Á l´mite_inferior = 1. la restricci´ n 1 del apartado 3. en este caso ninguna recolocaci´ n o puede romper ninguna precedencia obligatoria se˜ alada en la secci´ n anterior. / / A ı Lema 2 Sea j la variable que indica la posici´ n donde se recoloca C. ı Por otra parte. ambos inclusive. como a por ejemplo.4. por consiguiente. A+ 6= 0. / A? = 0 : 1? ? r(i) ? r(i + 1) ? ? r(i + k ? 1) ? ? j1? ? ? 1 160 . es decir. alg´ n ı o u punto de descarga ser´a anterior a su correspondiente de carga. que r(1) = r(2n) = 1. r+ r? s+ s? o bien r+ s+ s? r? . ı ı Demostraci´ n: Trivial. seg´ n lo comentado anteriormente. para al menos un cliente. ı / ı si A+ = 0 Á l´mite_superior = 2n: se tiene el siguiente Sean adem´ s j1 el elemento de A+ verificando orden( j1?) = l´mite_superior si a ı + 6= 0. SITUACIONES POSIBLES DEL CASO GENERAL o Se define r(t ) el elemento de la ruta actual que ocupa la posici´ n t. ya que si j tomara otros valores en la ruta resultante se o violar´a. ı / si A? = 0 y A? = r=r? 2 C. seg´ n se ha o u definido anteriormente. r? 2 C = se definen tambi´ n: e l´mite_superior = minforden( j? )= j 2 A+ g. y j2 el elemento de A? verificando orden( j2+) = l´mite_inferior si A? 6= 0.

Al igual que en el caso anterior no se considera el conjunto A( j2). verificando que orden(s+) orden( j1? ). (ver apartado anterior). es decir C( j2). que va a coincidir ? s+ ? ? r(i) ? r(i + 1) ? ? r(i + k ? 1) ? ? j1? ? ? s? ? < c) 1 ? Conjunto de clientes s. 161 . i y orden(s?) > ?1 Conjunto de clientes s verificando que orden(s+) orden( j1? ). pues la cadena C no puede ser insertada en una posici´ n posterior a la de j1? (Lema 2). ? s+ ? ? j2+ ? ? r(i) ? r(i + 1) ? ? r(i + k ? 1) ? ? s? ? < orden( j2+ ) y orden(s?) > ?1 ? j2+ ? ? s+ ? ? s? ? ? r(i) ? r(i + 1) ? ? r(i + k ? 1) ? > orden( j2+ ) y orden(s?) < c) 1 ? ?1 Conjunto de clientes s verificando que orden(s+) ? j2+ ? ? r(i) ? r(i + 1) ? ? r(i + k ? 1) ? ? s+ ? ? s? ? > i + k ? 1. / A+ = 0 : 1? a) 1 ? ? j2+ ? ? r(i) ? r(i + 1) ? ? r(i + k ? 1) ? ? 1 Los conjuntos de clientes a considerar son los siguientes: b) 1 ? ?1 Conjunto de clientes s verificando que orden(s+) i + k ? 1.Los clientes que se van a considerar. (es decir D( j1)). A? 6= 0. ? r(i) ? r(i + 1) ? ? r(i + k ? 1) ? ? s+ ? ? s? ? ? j1? ? > i + k ? 1 y orden(s?) < A efectos del estudio de recolocaciones factibles no se considera el conjunto de clientes s verificando que orden(s+) > orden( j1? ). es decir D( j2). para estudiar las posibles recolocaciones son las siguientes: a) 1 ? b) 1 ? ?1 Conjunto de clientes s verificando que orden(s?) con A( j1). Conjunto de clientes s verificando que orden(s+) i. es decir C( j1). o / 3. es decir B( j2). es decir B( j1). ?1 ? s+ ? ? s? ? ? r(i) ? r(i + 1) ? ? r(i + k ? 1) ? ? j1? ? < i. seg´ n las posiciones relativas de sus corresu pondientes puntos de carga y descarga.

ruta[i] indica o el punto que ocupa la posici´ n i en la ruta actual. no se van a considerar otros conjuntos de clientes./ 4. es decir C( j2). Se tienen los siguientes par´ metros de entrada: a n : valor que determina los conjuntos N + y N ? seg´ n la definici´ n del apartado. y los siguientes par´ metros por variable: a ruta: vector que registra la soluci´ n en cada momento. A? 6= 0 : 1? ? j2+ ? ? r(i) ? r(i + 1) ? ? r(i + k ? 1) ? ? j1? ? ? 1 ? j2+ ? ? s+ ? ? s? ? ? r(i) ? r(i + 1) ? ? r(i + k ? 1) ? ? j1? ? ? 1 > S´ lo se consideran los dos siguientes conjuntos: o a) 1 ? b) 1 ? Conjunto de clientes s verificando que orden(s+) i. y con la determinaci´ n de intercambios factibles seg´ n se estudia en los o u apartados 4 y 5. u o t: matriz de distancias. orden( j2+ ) y orden(s?) < ? j2+ ? ? r(i) ? r(i + 1) ? ? r(i + k ? 1) ? ? s+ ? ? s? ? ? j1? ? ? 1 Conjunto de clientes s verificando que orden(s+) i + k ? 1 y orden(s?) orden( j1+ ). es decir. o costetotal: distancia total de la soluci´ n. ´ ´ 5. DESCRIPCION DEL ALGORITMO EN SEUDOCODIGO A continuaci´ n se describe el algoritmo que sigue la idea b´ sica descrita en el o a apartado 2. es decir C( j2). o 162 . o adem´ s se hacen uso de las siguientes variables: a gmax: Indica el valor m´ ximo de ganancia (definida en el apartado 2) en cada a iteraci´ n. > < Obviamente. A+ .

u o Determinar j2 2 A? =orden j2+ ] = l´mite_inferior ı fin Hacer l´mite_inferior = maxforden j+ ]= j 2 A? g. en qu´ posiciones puede ser o e recolocada de forma factible. k el n´ mero de elementos que la o u componen. u jmax: indica el lugar donde se recoloca la cadena correspondiente a gmax. o valido: vector l´ gico que indica. / Si A? 6= 0 entonces inicio Determinar los conjuntos A+ y A? (seg´ n la definici´ n del apartado 4). As´mismo. orden: vector que indica la posici´ n de cada punto en la ruta actual. ı 163 . siguiendo las definiciones tomadas hasta ahora. i es la variable auxiliar ı que indica la posici´ n donde comienza la cadena C. el algoritmo act´ a de la forma o u siguiente: Hacer ruta como la ruta inicial y coste total como la distancia de esta. Para k:=1 hasta n ? 1 hacer: Para i:=2 hasta 2 n ? k ? 1 hacer inicio Para j:=1 hasta 2n ? 1 hacer valido[ j]:=TRUE. y j la posici´ n donde va a ser recolocada. ı / Si A+ 6= 0 entonces inicio Hacer l´mite_superior = minforden j? ]= j 2 A+ g. para cada cadena.imax: Indica el lugar donde comienza la cadena correspondiente a gmax. ´ Repetir hacer gmax:=0. ı si no: Hacer l´mite_inferior = 1. nele: indica el n´ mero elementos de dicha cadena.

/ Si B( j1) 6= 0 hacer inicio Determinar m1 = maxforden s+ ]=s 2 B( j1)g. hacer: D( j2) hacer: Para j:=orden s+ ] hasta orden s? ] ? 1 hacer valido j]:=FALSE. C( j1). / Si A+ = 0. B( j1). C( j2). 164 . inicio Para j:=l´mite_superior hasta 2n ? 1 hacer valido j]:=FALSE. (seg´ n la definici´ n del apartado 3) u o C( j1) hacer: Para j:=orden s+ ] hasta orden s? ] ? 1 hacer valido j]:=FALSE. ı / A? = 0 entonces: Para j:=1 hasta l´mite_inferior?1 hacer valido j]:=FALSE. ı 8 s 2 A( j1) Determinar conjuntos A( j1).Determinar j1 2 A+ =orden j1? ] = l´mite_superior ı fin si no: Hacer l´mite_superior = 2n. D( j2). fin. ı / Si A+ 6= 0. Para j:=1 hasta m1 ? 2 y de m2 hasta 2 n ? 1 hacer valido j]:=FALSE fin. inicio / A? 6= 0 entonces: Determinar m2 = minforden s? ]=s 2 B( j1)g. 8 s 2 C( j2) Determinar conjuntos B( j2).

fin. fin. Para j:=1 hasta m1 ? 2 y de m2 hasta 2 n ? 1 hacer valido j]:=FALSE fin. u o Si ganancia > gmax entonces: inicio gmax:=ganacia. / Si A+ . Para j:=1 hasta i ? 2. Determinar m2 = minforden s? ]=s 2 B( j2)g. C( j2) hacer: Para j:=orden s+ ] hasta orden s? ] ? 1 hacer valido j]:=FALSE. y j:=i + k hasta 2 n ? 1 hacer: Si valido j] entonces: inicio Calcular el valor de ganancia (seg´ n se defini´ el apartado 2)./ Si B( j2) 6= 0 hacer inicio Determinar m1 = maxforden s+ ]=s 2 B( j2)g. A? 6= 0 entonces: inicio 8 x 2 C( j1) Determinar conjuntos C( j1). 165 . imax:=i. C( j2).

y el o ´ cuarto comprobar la evoluci´ n de los tiempos de computaci´ n de este algoritmo en o o funci´ n del tama˜ o del problema. Si gmax inicio > 0 entonces: Sustituir los arcos (imax ? 1. jmax + 1) y registrar el resultado en ruta. como la prograo maci´ n de los diferentes problemas que han servido de prueba. (jmax. El equipo t´ cnico usado es un ordenador e 166 . imax + kmax).kmax:=k. y Pacheco y otros. RESULTADOS COMPUTACIONALES Para examinar la eficacia del algoritmo anteriormente descrito se han realizado cuatro tipos de pruebas: el primero tiene como objeto reflejar la eficacia del m´ todo e desarrollado para determinar el ahorro en el tiempo de computaci´ n de los intercamo bios factibles. jmax + 1) por los arcos (imax ? 1. o n Tanto la implementaci´ n de los algoritmos que se han utilizado. fin fin.0). el tercero determinar en qu´ medida la incorporaci´ n de este o e o heur´stico en los algoritmos exactos descritos por Pacheco. jmax:= j. el segundo tiene como objeto comprobar la desviaci´ n del optimo de o ´ la soluci´ n obtenida. Existen copias del algoritmo programado en PASCAL a disposici´ n de las personas o interesadas. se han hecho utilizando o el compilador Borland Pascal (ver. fin. (1994). 6. ı (1994). imax). 7. Hacer costetotal:=costetotal ? gmax fin hasta que gmax = 0. (jmax. (imax + kmax ? 1. imax) y (imax + kmax ? 1. imax + kmax). para este problema hace reducir el tiempo de computaci´ n de estos.

Reducci´ n de tiempo o Como se ha comentado en el apartado 2.personal tipo PC AT i 486dx2 a 50 Mhz para las tres ultimas pruebas. 15. En la primera de ellas las distancias son generadas aleatoriamente tomando valores enteros con la misma probabilidad entre 0 y 99. y un orde´ nador Pentium a 100 Mhz. o 167 . para cada n´ mero de clientes.1. ı A continuaci´ n se muestra un cuadro que resume los resultados obtenidos: tiempos o de computaci´ n para ambas formas y reducci´ n porcentual: o o N. 25 y n 30 clientes. 7. para cada tama˜ o de problema: 5. La forma de generar distancias es asignar a cada punto del problema dos coordenadas x e y. (correspondientes a 11. 6. cuyos valores son generados aleatoriamente con distribuci´ n o uniforme entre 0 y 100. (Existen copias de estos programas a disposici´ n de las personas interesadas. Para establecer la eficacia del m´ todo propuesto. se han e simulado 20 matrices de distancia. 17 n y 19 puntos). m´ xima y m´nima). la u desviaci´ n porcentual del optimo. La distancia entre cada par de puntos se define como la distancia eucl´dea correspondiente.1. el chequeo de la factibilidad de cada intercambio uno a uno puede emplear mucho tiempo de computaci´ n. 20. se muestra un cuadro que resume los o resultados obtenidos: En estos cuadros se muestra. Desviaci´ n del optimo o Para estudiar la proximidad al optimo de las soluciones obtenidas por este heur´stico ´ ı se han simulado matrices de distancias de dos formas diferentes.2. Los problemas as´ generados se han resuelto utilizando el algoritmo con ı este m´ todo (tal como se describe en el apartado 5) y chequeando los intercambios e uno a uno. La segunda forma de generar distancias coincide con la utilizada en el apartado 6. 10. A continuaci´ n. (media. Chequeo de intercambios factibles. para la primera. En ambos casos se han generado 20 matrices para cada tama˜ o del problema: 5. para cada tipo de matriz. 8 y 9 clientes. 15. 13.) o 6. El objeto de o los apartados 3 y 4 es desarrollar un m´ todo para determinar de forma m´ s r´ pida qu´ e a a e intercambios son factibles. as´ como el n´ mero o ´ a ı ı u de casos en los que se alcanz´ . clientes Uno a Uno M´ todo e Reducci´ n o 5 10 15 20 25 30 -- 00 023 0 < 0 001 950 65 00 247 00 021 910 49 20 199 00 083 960 22 90 617 00 199 970 93 340 594 00 464 980 37 850 415 00 823 990 03 ´ 6.

as´ como de otros algoritmos o ı constructivos que pueden ser adaptados f´ cilmente a este problema). en los trabajos de Pacheco. Los resultados son los siguientes: Numero de ´ clientes 5 6 7 8 9 ´ Desviaci´ n porcentual del optimo o M´nima ı 0 0 0 0 0 Media 00 011 00 015 00 028 00 014 0 M´ xima a 00 104 00 240 00 350 00 255 0 Casos en los que se alcanza 20 16 16 18 17 6.3. se desarrolla una estrategia para el dise˜ o de algoritmos n 168 . o a a (en el trabajo de Golden y otros. Segundo tipo de matriz En este caso. (Paso 1 descrito en el apartado 5) se han generado aleatoriamente 50 rutas factibles y se ha tomado aquella con menos distancia total. se hace una amplia recopilaci´ n y descripci´ n o o de los principales algoritmos de inserci´ n para el TSP. (1980).2. (1994).1. para la ruta inicial se ha elegido aquella con menos distancias entre 10 rutas factibles generadas aleatoriamente y las obtenidas utilizando la adaptaci´ n a o este problema de los algoritmos de inserci´ n m´ s cercana y m´ s lejana para el TSP. y Pacheco y otros. Los resultados a son los siguientes: Numero de ´ clientes 5 6 7 8 9 ´ Desviaci´ n porcentual del optimo o M´nima ı 0 0 0 0 0 Media 0 0 00 015 0 0 M´ xima a 0 0 00 302 0 0 Casos en los que se alcanza 20 20 20 19 20 6.6.2. Primer tipo de matriz Para obtener la ruta inicial. (1994).2. Reducci´ n en el tiempo de computaci´ n de los exactos o o Como se ha mencionado anteriormente.

reducir el tiempo de computaci´ n mediante determinadas estrategias. (1991). o m´ todos e o e de Programaci´ n Din´ mica. (1970) y (1971)). o a vamos a reducir el tiempo de computaci´ n realizando dos modificaciones en los o algoritmos exactos anteriormente se˜ alados. m´ s recientemente). del heur´stico o o ı desarrollado en este trabajo. o ı 2. como en el caso del apartado 6. (1981).exactos para este problema. 6. ´ o Para verificar estos ahorros de tiempo se han generado 20 matrices de distancias. para cada tama˜ o del problema: 5. Partir como soluci´ n inicial la obtenida por el heur´stico descrito en este trabajo. 7. obtener cotas inferiores m´ s ajustadas al optimo mediante a a ´ m´ todos de penalizaci´ n lagrangiana (ver Held & Karp. utilizar dicho heur´stico para mejorarla. En e los algoritmos exactos para problemas de rutas se puede conseguir. Para obtener una soluci´ n inicial se emple´ como ruta inicial aquella con o o menos distancia total entre 50 rutas factibles generadas aleatoriamente. o ı El objeto de estas modificaciones es obtener r´ pidamente cotas superiores ajustadas a al optimo para evitar exploraciones innecesarias. a partir de m´ todos Branch & Bound para el TSP.4. en muchos casos. Entre estas o ´ destacamos: generar cotas superiores en cada v´ rtice del arbol de b´ squeda si el e ´ u algoritmo es de tipo Branch & Bound. o Nurmi. Cada vez que se llegue a una soluci´ n. Evoluci´ n de los tiempos de computaci´ n o o Finalmente se ha realizado un tercer tipo de pruebas destinado a establecer la evoluci´ n de los tiempos de computaci´ n en ordenadores personales.1. En nuestro caso. etc. y reducir el tiempo de computaci´ n. estas son las siguientes: n ´ 1. Los resultados son los siguientes: Numero de ´ clientes 5 6 7 8 9 Tiempo de Computaci´ n en segundos o Algoritmo Original 00 288 10 396 170 205 590 644 4740 427 Algoritmo Modificado 00 215 00 630 110 362 440 558 2380822 Reducci´ n o Porcentual 250 347 540 871 330 961 250 293 490 661 6. para problemas de mayor tama˜ o. (1982). 8 y 9 n clientes. (ver Volgenant y Jonker. (ver Christodides y otros.. Para ello se han n 169 .

: : : .1.2). 20. CONCLUSIONES A la vista de estos resultados se llegan a las siguientes conclusiones: El heur´stico descrito ofrece soluciones muy poco desviadas del optimo: en caso ı ´ de las matrices de distancias del apartado 6. en caso a de matrices de distancias eucl´deas la soluci´ n coincide con la optima en 99 de ı o ´ los 100 casos. Por ´ ı consiguiente.1. un m´ ximo del 0’35%. (distancias eucl´deas). el unico caso en el que no coincide se desv´a el 0’302%. ı para cada tama˜ o del problema: 10 clientes. El ofrecer soluciones cercanas al optimo. (cuando no coinciden con el).2. la aproximaci´ n ´ o es realmente grande. —(tal como se hace en el apartado ı 170 . Los resultados son los siguientes: Numero de ´ clientes 10 20 30 40 50 60 70 80 90 100 110 120 Tiempo medio de Computaci´ n en segundos o Soluci´ n Inicial o 00 120 10 282 50 029 140 891 350 403 710 609 1250081 2100159 3390721 5200928 7610427 10740992 Heur´stico Propuesto ı 00 035 00 321 10 516 30 212 80 295 180 775 240 044 390 886 570 293 1010 775 1300 193 1740 439 Total 00 155 10 603 180 103 430 698 1490 125 2500 045 3970 014 6220 703 12490431 8910 620 900 384 60 545 7.1.simulado 20 matrices de distancia como en el apartado 6.1. n Como ruta inicial se ha elegido aquella con menos distancias entre 10 rutas factibles generadas aleatoriamente y las obtenidas por los algoritmos de inserci´ n (ver apartado o 6. especialmente para este ultimo tipo de matrices.. hasta 120 clientes (241 puntos). permite ´ ´ reducir el tiempo de computaci´ n de los algoritmos exactos para este problema o cuando se combinan con este heur´stico.

pero la evoluci´ n de los tiempos de computaci´ n permite adivinar o o que se podr´an resolver problemas de mayor tama˜ o. eds: GOLDEN. Esto se debe a que se parte de una cota superior en el v´ rtice inicial e muy ajustada al optimo.E. «Implantation et Complexit´ des Teche niques de Programmation Dynamique dans les M´ thodes de Confection des e Tourn´ es et d’Horaires»..B. Nort-Holland. «Vehicle Routing with Bachauls: Models.O. (1988). Networks. L.. InVehicle Routing: Methods and Studies.KIDDER. and ASSAD.. en un tiempo de computaci´ n mucho menor que los exactos. a n Concluir finalmente que el algoritmo heur´stico propuesto resulta extremadamente ı eficaz al ofrecer soluciones muy cercanas al optimo. ´ a El tiempo de computaci´ n que emplea es insignificante si se le compara con el o que emplean los exactos existentes. & Boding. Golden. Recherche Operationnelle/Operations Researsch. edit. se debe fundamentalmente o n al m´ todo utilizado para establecer los intercambios factibles en cada iteraci´ n. N.6. ı n con ordenadores o compiladores que soportaran matrices de distancia de mayor dimensi´ n. A. Proceedings of the Babson Conference on Software Uses in Transportation and Logistics Management (A. con lo que se rechazan m´ s exploraciones innecesarias. I. Massachussets.L. Babson Park. Este m´ todo permite una reducci´ n porcentual del tiempo de computaci´ n e o o de m´ s del 90% y que aumenta con el tama˜ o de los problemas. 2. n ´ 8. —sobre todo con distancias ´ eucl´deas—. vol. (1984). F.16). 7–46. M. B. e 3. 145–164.L.A. «State-Space Relaxation Procedures for the Computation of Bounds to Routing Problems». «Extension of the Clark and Wrigth Algorithm for Solving the Vehicle Routing Problem with Backhauling». & Wasil. 11. (Studies in Management Sciences and Systems. & Soumis. P.4 se resuelven problemas de hasta n 241 puntos. REFERENCIAS Y BIBLIOGRAFIA [1] Christofides. Algorithms.3)—.A. en un tiempo aceptable. [2] Casco. and Case Studies».). (1981). 25. e o basado en los resultados te´ ricos desarrollados obtenidos en los apartados 3 y o 4. Esto hace que se puedan resolver problemas de mucho mayor tama˜ o. [3] Deif. o El empleo de un tiempo de computaci´ n peque˜ o.A. & Toht. 291–310. 75–96. (1991). D. Mingozzi. E. [4] Desrochers. lo que ı o permite poder resolver problemas de mayor tama˜ o. En el apartado 6. 171 .

.Jr. Ph. & Schaffer. [18] Pacheco. Murty. Y. (1980). & Stewart. Jou. 90–92. L.). (1994). M. S. Turbo-Pascal 7: Manual de Referencia.. (1991). «Computer Solutions to the Traveling Salesman Problem». of Industrial Enginnering and Management Sciences.E. Optva. (1994). 1138–1162. de la Facultad de Matem´ ticas de la ı ı a U. F.. (1993). e [7] Goetschalcks.[5] Desrosiers. J. 3. Ecole Des Hautes Estudes Commerciales de Montreal. «An Algorithm for the Traveling Salesman Problem with Pickup and Delevery Customers». M. I. «The Vehicle Routing Problem with Backhauling: Two Approaches». celebrado ı en Calella en Abril de 1994. Delevery and Time Windows». Material Handling Researcsh Center. Dpt.. [17] Or. (1970).. Alfaro. SC. 741–749. B. de Estad´stica e I. (1986). [12] Kalantari. «Confection d’iteneraires de vehicules en vue du transport de plusiers origines a plusiers destinations». Sweeney. C. (1985). Bodin.R. Problemas de Ruta con Carga y ı o Descarga en Sistemas LIFO. & Soumis. Tesis Doctoral le´da en el Dpto. (1971). 694–711.HAMMESFAHR. edit.. (1987). ` Universit´ de Montreal. Garc´a. [14] Lin. S. & Arora. Georgia Institute of Technology. . J. Bell Syst. «Vehicle Routing Problem with Pickup. Hill. Problemas de Rutas con Ventanas de Tiempo.M.. & Karel. K. 8. Dumas. Northwestern Univ. (1965). [15] Nurmi. Myrtle Beach. Mayo 1994. 18. J. 22. Y.E. & Nameroff. 377–386. «The Vehicle Routing Problem with Backhauls». (1963). «An Algorithm for the Traveling Salesman Problem». Madrid. & Arag´ n. [13] Little. Ops. A.V. A. 28. [8] Golden. Osborne McGraw-Hill. (1985). (1985). & Karp.D. Dept. [11] Held. & Horsley. K. Thesis. J.M. [6] Dumas. [9] Golden. Complutense de Madrid. Operations Researsch. [16] O’Brien.W. European Journal of Operational Research. Twenty-First Annul Meeting of S. [19] Pacheco. Tech.. S. C. «The Traveling Salesman Problem and Minimum Spanning Trees: Part II». Doyle. (1976). D. [10] Held. B. «Approximate Traveling Salesman Algorithms».K. Res. R. Computers & Ops. TIMS (R. J. J. Optva. M. Cahiers du GERARD. Mathematical Programing I. Operations Research. Traveling Salesman Type Combinatorial Problems and their Relations to the Logistics of Blood Banking. 18. 6–25. S. parte II. 972–989.. XXI Congreso de Estad´stica e I. B. 44. Baker. A. & Karp.T. Centre de Recherche sur le Transports. 11 (5). R. 172 . Res. 2245–2269. «The Traveling Salesman Problem and Minimum Spanning Trees». of Industrial and Systems Engineering. «Traveling Salesman Problem Tools for Microcomputers».

. M. «Vehicle Routing and Scheduling Problems with Time Window Constraints». [21] Solomon. and ASSAD. H. eds: GOLDEN. In Vehicle Routing: Methods and Studies.L. & Schaffer. Eur. & Jonker. A. «An Exact Algorithm for the Single Vehicle Many-toMany Dial-a-Ride Problem with Time Windows». (1988a). «A Branch and Bound Algorithm for the Symmetric Traveling Salesman Problem based on the 1-tree Relaxation». R.16). B.A. Baker. E. (1983).[20] Psaraftis. 173 . T. 9. 85–106. Nort-Holland. J. Ops. 83–89. Res.. 351– 360. J. 17. Transportation Sci. (1982)... vol. (Studies in Management Sciences and Systems. [22] Volgenant.

Pacheco. Fco. Empresariales de Burgos In this paper a heuristic is proposed to solve the «Pick-up and Delivery Problem (PDP) using only one vehicle with limitless capacity in LIFO unloading systems». Keywords: Pick-up & Delivery with LIFO systems. checking. Or-exchanges.E. – Received march 1995. – Accepted july 1996.U.ENGLISH SUMMARY HEURISTIC FOR THE PICK-UP AND DELIVERY ROUTING PROBLEMS IN LIFO UNLOADING SYSTEMS JOAQU´ A. E.e. i. With this heuristic one can solve large scale problems in reasonable calculation times on PC with only a small deviation from the optimum. Dpto. 09006 ı a Burgos. This algorithm is an extension an adaptation of the Or method for the Travelling Salesman Problem (TSP) which can also be used for aymetrical instances.. Empresariales de Burgos. PACHECO IN E. feasibility.E. only the last goods to be loaded onto the vehicle may be unloaded at one time. 174 . Vitoria s/n. * Joaqu´n A.U. Matem´ ticas.

: : : . 3. 3. the set of delivery by N ? = fr? =r = 2. section 4 studies the possible situations depending on the elements that make up the chain which is to the repositioned. —Pacheco. In this paper a heuristic is proposed capable of solving large scale problems in moderable calculation times. 175 . : : : . The paper is organized in the falowing way: section 2 explains the basic idea of the algorithm to be developed.. in this case repositioning. etc. section 7 explains the conclusions drawn from the results obtained in the previous section. school transport. 3. wich will be denoted PDP with one vehicle with a LIFO (last-in-first-out) un loading system. ng. n. (1976). (1994). With this objective in mind one has m vehicles wich leave an initial citi 1. distribution of pallets in the auto industry. which they then return to when their route is completed. deviating from the optimum in only a few cases and by a small amount.. : : : . and Pacheco et al.The Pick-up and Delivery Problem (PDP) may be described in the following way: One has a set of clients N = f2. The object is to design feasible vehicle routes with the shortest total distances.. an appendix is added which describes the algorithm in more detail in PASCAL. in those delivery activities in which a controlled time is required for unloading. to be feasible. The set of pick-up points will be denoted by N + = fr+ =r = 2. This problem. : : : . Now let us consider the PDP with one vehicle with the fallowing restriction: At any one moment only the last goods loaded may be unloaded. As in previous papers. ng. r = 2. The special case in which the orders required are all the same is know as Dial-A-Ride-Problem (DARP) which occurs in passenger transport. Furthermore. ng. each client i requires that goods be transported from an origin i+ to a destination i? .— it is assumed that the total load from all the clients. This technique is an extension and adaptation to this problem of the Or algorithm for the TSP. 3. or in general. (1994). section 5 describes the algoritm with the results from the previous sections. and the loads of each client r by q(r). section 3 studies the conditions necessary for a 3-interchange. section 6 cheks the efficiency of this algorithm starting from the solving of a series of the simulated problems. appears in many situations in the world of Transport and Industry: transport of certain industrial gases. the general case will be studied later in other works.

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->