El problema de la asignaci on de atraques en una...

7
El problema de la asignaci´ on de atraques en una terminal de contenedores con m´ ultiples muelles Ram´ on Alvarez-Vald´ es, Pablo Froj´ an, Gerasimus Koulouris, Jos´ e Manuel Tamarit Resumen — En este trabajo se estudia el problema de asignaci´on de atraques a buques en una termi- nal de contenedores, considerando el caso continuo y ultiples muelles. Se propone un modelo lineal entero y diferentes algoritmos de resoluci´on: un al- goritmo constructivo, basado en reglas de prioridad, un algoritmo gen´ etico, un algoritmo Squeaky Wheel aleatorizado y un algoritmo de intercambios. El es- tudio computacional, sobre instancias ya publicadas muestra la superioridad del nuevo algoritmo gen´ etico sobre propuestas anteriores. Asimismo, se ha desa- rrollado un generador de instancias que permite el estudio sistem´ atico de los factores que influyen en la complejidad del problema. Palabras clave — Terminales de contenedores, Asig- naci´ on de atraques, Algoritmos gen´ eticos, Reglas de prioridad. I. Introducci´ on Las terminales de contenedores nacen a finales de los a˜ nos 60 como consecuencia de los primeros viajes de buques portacontenedores entre Europa y Esta- dos Unidos. El uso de contenedores se ha genera- lizado debido a sus importantes ventajas: requiere menor embalaje del producto, reduce los da˜ nos y aumenta la producitividad en las diferentes fases de manejo. Adem´ as, permite el transporte intermodal, ya que el transbordo entre buques, trenes y camiones se realiza f´ acilmente. En el a˜ no 2009 el movimien- to mundial de contenedores se acerc´ o a los 400 mi- llones de TEU (Twenty-foot Equivalent Unit ). Con- secuentemente, el n´ umero y tama˜ no de las termi- nales de contenedores no han dejado de crecer. Puer- tos como Singapur y Shanghai movieron mas de 25 millones de TEU. En Europa, Rotterdam tuvo un movimiento de casi 10 millones, seguido de Amberes y Hamburgo con m´ as de 7 millones. En Espa˜ na, Valencia movi´ o 3650000, seguido de Algeciras con 3043000. Los puertos compiten por ser puntos de intercam- bio (hubs ) o puntos origen-destino de las rutas em- pleadas para el transporte. Los gobiernos regionales y nacionales consideran un objetivo estrat´ egico con- tar con puertos en los que ubicar terminales de con- tenedores, por ser focos de crecimiento econ´ omico. La competencia en este campo es feroz. Los prin- cipales criterios usados por las grandes operadoras para escoger un puerto como base de operaciones son la ubicaci´ on geogr´ afica, la estabilidad pol´ ıtica y Departamento de Estad´ ıstica e Investigaci´on Operativa. Universidad de Valencia E-mail: [email protected] . social y los costes de las operaciones. En las terminales de contenedores (CT), los con- tenedores se trasladan de un modo de transporte a otro. Dentro de una terminal, se utilizan diferentes tipos de maquinaria para transbordar a los buques, camiones o trenes, y viceversa. Con el fin de usar grandes buques de manera eficiente, el tiempo que permanece el buque en el puerto debe ser el m´ ınimo posible. Esto significa que una gran cantidad de con- tenedores debe ser cargada, descargada y transbor- dada en un breve espacio de tiempo, con el m´ ınimo uso de equipos costosos. En general, el sistema operativo de una terminal consiste en tres subsistemas: la gesti´ on de la l´ ınea de atraque, el almacenamiento de los contenedores y el transporte. Seg´ un el tiempo de llegada de un buque, se le asigna una posici´ on de atraque en el muelle, que est´ a equipado con gr´ uas para descargar y cargar los contenedores. Despu´ es, los contenedores descargados se transportan al patio de contenedores, que es una zona de almacenaje temporal desde donde son trans- portados a su destino. Al mismo tiempo, contene- dores externos llegan v´ ıa redes terrestres, camiones y trenes, o mar´ ıtimas y se almacenan tambi´ en en el patio. En este trabajo, se estudia la primera operaci´ on de la planificaci´ on del buque que es el problema de asignaci´ on de atraque a cada buque (Berth Alloca- tion Problem - BAP ). El BAP determina la posici´ on y el tiempo de atraque para cada buque. Dependien- do de la estructura espacial del muelle, se distinguen dos tipos de problemas: en el problema discreto, el muelle est´ a dividido en secciones fijas y en cada sec- ci´ on solo puede atracar un buque. En el problema continuo, el muelle no est´ a dividido y cada buque puede atracar en cualquier posici´ on, dependiendo de la posici´ on de los otros buques. En este caso, se suele suponer la longitud del muelle discretizado en in- tervalos de, por ejemplo, 10 metros. Considerar el muelle continuo aporta mayor flexibilidad en cuanto al n´ umero de buques que pueden atracar simult´ anea- mente, pero tambi´ en a˜ nade complejidad al problema. La soluci´ on de un problema continuo se puede representar en un diagrama espacio-tiempo, donde el eje horizontal representa el tiempo y el eje verti- cal la longitud del muelle. Podemos representar cada buque como un rect´ angulo cuya altura es su longitud y su longitud el tiempo estimado de proceso. En la Figura 1 se puede observar un ejemplo con 5 buques.

Transcript of El problema de la asignaci on de atraques en una...

El problema de la asignacion de atraques enuna terminal de contenedores con multiples

muellesRamon Alvarez-Valdes, Pablo Frojan, Gerasimus Koulouris, Jose Manuel Tamarit

Resumen— En este trabajo se estudia el problemade asignacion de atraques a buques en una termi-nal de contenedores, considerando el caso continuoy multiples muelles. Se propone un modelo linealentero y diferentes algoritmos de resolucion: un al-goritmo constructivo, basado en reglas de prioridad,un algoritmo genetico, un algoritmo Squeaky Wheelaleatorizado y un algoritmo de intercambios. El es-tudio computacional, sobre instancias ya publicadasmuestra la superioridad del nuevo algoritmo geneticosobre propuestas anteriores. Asimismo, se ha desa-rrollado un generador de instancias que permite elestudio sistematico de los factores que influyen en lacomplejidad del problema.

Palabras clave— Terminales de contenedores, Asig-nacion de atraques, Algoritmos geneticos, Reglas deprioridad.

I. Introduccion

Las terminales de contenedores nacen a finales delos anos 60 como consecuencia de los primeros viajesde buques portacontenedores entre Europa y Esta-dos Unidos. El uso de contenedores se ha genera-lizado debido a sus importantes ventajas: requieremenor embalaje del producto, reduce los danos yaumenta la producitividad en las diferentes fases demanejo. Ademas, permite el transporte intermodal,ya que el transbordo entre buques, trenes y camionesse realiza facilmente. En el ano 2009 el movimien-to mundial de contenedores se acerco a los 400 mi-llones de TEU (Twenty-foot Equivalent Unit). Con-secuentemente, el numero y tamano de las termi-nales de contenedores no han dejado de crecer. Puer-tos como Singapur y Shanghai movieron mas de 25millones de TEU. En Europa, Rotterdam tuvo unmovimiento de casi 10 millones, seguido de Amberesy Hamburgo con mas de 7 millones. En Espana,Valencia movio 3650000, seguido de Algeciras con3043000.

Los puertos compiten por ser puntos de intercam-bio (hubs) o puntos origen-destino de las rutas em-pleadas para el transporte. Los gobiernos regionalesy nacionales consideran un objetivo estrategico con-tar con puertos en los que ubicar terminales de con-tenedores, por ser focos de crecimiento economico.La competencia en este campo es feroz. Los prin-cipales criterios usados por las grandes operadoraspara escoger un puerto como base de operacionesson la ubicacion geografica, la estabilidad polıtica y

Departamento de Estadıstica e Investigacion Operativa.Universidad de Valencia E-mail: [email protected] .

social y los costes de las operaciones.

En las terminales de contenedores (CT), los con-tenedores se trasladan de un modo de transporte aotro. Dentro de una terminal, se utilizan diferentestipos de maquinaria para transbordar a los buques,camiones o trenes, y viceversa. Con el fin de usargrandes buques de manera eficiente, el tiempo quepermanece el buque en el puerto debe ser el mınimoposible. Esto significa que una gran cantidad de con-tenedores debe ser cargada, descargada y transbor-dada en un breve espacio de tiempo, con el mınimouso de equipos costosos.

En general, el sistema operativo de una terminalconsiste en tres subsistemas: la gestion de la lınea deatraque, el almacenamiento de los contenedores y eltransporte. Segun el tiempo de llegada de un buque,se le asigna una posicion de atraque en el muelle, queesta equipado con gruas para descargar y cargar loscontenedores. Despues, los contenedores descargadosse transportan al patio de contenedores, que es unazona de almacenaje temporal desde donde son trans-portados a su destino. Al mismo tiempo, contene-dores externos llegan vıa redes terrestres, camionesy trenes, o marıtimas y se almacenan tambien en elpatio.

En este trabajo, se estudia la primera operacionde la planificacion del buque que es el problema deasignacion de atraque a cada buque (Berth Alloca-tion Problem - BAP). El BAP determina la posiciony el tiempo de atraque para cada buque. Dependien-do de la estructura espacial del muelle, se distinguendos tipos de problemas: en el problema discreto, elmuelle esta dividido en secciones fijas y en cada sec-cion solo puede atracar un buque. En el problemacontinuo, el muelle no esta dividido y cada buquepuede atracar en cualquier posicion, dependiendo dela posicion de los otros buques. En este caso, se suelesuponer la longitud del muelle discretizado en in-tervalos de, por ejemplo, 10 metros. Considerar elmuelle continuo aporta mayor flexibilidad en cuantoal numero de buques que pueden atracar simultanea-mente, pero tambien anade complejidad al problema.

La solucion de un problema continuo se puederepresentar en un diagrama espacio-tiempo, dondeel eje horizontal representa el tiempo y el eje verti-cal la longitud del muelle. Podemos representar cadabuque como un rectangulo cuya altura es su longitudy su longitud el tiempo estimado de proceso. En laFigura 1 se puede observar un ejemplo con 5 buques.

Fig. 1. Solucion del BAP con 5 buques

El BAP continuo ha sido introducido por Li et al.[8] como un problema de secuenciacion de maquinas.Guan y Cheung [4] proponen una busqueda en arbolpara minimizar la estancia total ponderada de losbuques en el puerto. Lim [9] representa el BAP con-tinuo como un grafo y lo transforma en el problemade dar direccion a las aristas de forma que se minimi-ce el camino mas largo. Tong et al. [12] aplican un al-goritmo de colonias de hormigas (ACO) al problemade Lim. Wang y Lim [13] proponen un SBS (Stochas-tic Beam Search). Su estudio computacional muestraque SBS supera el Simulated Annealing propuestopor Dai et al. [3]. Park y Kim [11] desarrollan unmodelo lineal entero y lo resuelven mediante Rela-jacion Lagrangiana para problemas pequenos. Kimy Moon [5] resuelven el problema de Park y Kimmediante Simulated Annealing. Cordeau et al. [2]moddelizan el BAP discreto como un problema derutas de vehıculos con ventanas temporales. Propo-nen un algoritmo Tabu Search que luego adaptanal BAP continuo. Mas recientemente, Lee et al. [7]desarrollan dos algoritmos GRASP. Su estudio com-putacional muestra que sus algoritmos mejoran elSBS de Wang y Lim.

En este trabajo, estudiamos el BAP continuo, ex-tendiendolo al caso de multiples muelles. Aunque to-dos los estudios anteriores suponen un unico muellecontinuo, la realidad es que las terminales estan di-vididas en muelles y esta division debe ser tenidaen cuenta en los modelos y algoritmos para propor-cionar soluciones aplicables a los problemas reales.En la Seccion 2 se define el problema, sus hipotesisy sus caracterısticas, mientras que la Seccion 3 pro-pone un modelo lineal entero que extiende el modelode Park y Kim [11]. Las Secciones 4 y 5 estan dedi-cadas a los algoritmos de resolucion. En la Seccion4 se describe un heurıstico constructivo y las reglasde prioridad que se utilizan en el, mientras que laSeccion 5 contiene 3 propuestas de algoritmos meta-heurısticos. La Seccion 6 contiene el estudio com-putacional y la Seccion 7 las conclusiones.

II. Descripcion del problema

Los elementos del problema son los siguientes:

Horizonte de planificacion: T periodos.Conjunto de muelles de la terminal, m = 1, ..., Q,

con longitudes Lm.Conjunto de buques a atracar, i = 1, ..., N

Para cada buque i, conocemos:• longitud: li• tiempo estimado de proceso (carga/descarga): pi• tiempo estimado de llegada: ai• tiempo deseado de salida: si• posicion deseada del buque en el muelle m: dim• coste por periodo de espera del buque: Cw

i

• coste por periodo de retraso del buque: Cdi

• coste de asignar el buque al muelle m: Cmi

• coste del desvıo respecto a la posicion deseada:Cp

iEl problema consiste en decidir para cada buque

el momento del atraque, el muelle en el que se hade atracar y la posicion dentro del muelle, de formaque se minimice el coste total de asignacion. Dichocoste consiste en cuatro componentes: el coste deespera, definida como la diferencia entre el tiempode llegada y el tiempo de atraque; el coste de retraso,definido como la diferencia entre el tiempo deseadode salida y el momento de la finalizacion del procesodel buque; el coste de asignacion al muelle y el costede desvıo entre la posicion deseada y la posicion enla que se atraca el buque.

En el planteamiento del problema se han hecho lossiguientes supuestos:

Una vez que el buque ha atracado la posicion deatraque se considera fija. No se permite la interrup-cion de los procesos de transbordo para evitar costesadicionales.

Los tiempos de proceso se consideran independien-tes de la posicion de atraque. Esto es razonable siel muelle tiene suficientes equipos y mano de obrapara ejecutar las actividades de carga y descarga encualquier momento (Lim et al., 1998).

Los buques tienen diferente importancia. Por tan-to se introducen costes de retraso, de espera, de asig-nacion a un muelle y de desvıo segun su posiciondeseada especıficos de cada buque.

Se considera que la distancia de seguridad entre losbuques atracados en el muelle (inter-ship clearance)esta incluida en la longitud del buque. En general,para buques con una longitud mayor que 130m, ladistancia de seguridad mınima corresponde al 10 %de su longitud. Para buques de menor longitud ladistancia de seguridad mınima es 10m (Der-HorngLee y Chen, 2009).

Consideramos que el ”tiempo de cambio”del pro-ceso de transbordo para dos buques consecutivos enla misma posicion del muelle esta incluido en el tiem-po estimado de proceso de cada buque.

En cada posicion del muelle se puede servir soloun buque cada vez.

No se tienen en cuenta explıcitamente cuestionesespeciales por las que un buque no podrıa atracaren un muelle como: contratos comerciales, uso demaquinaria especıfica, profundidad del agua y el ca-

lado de los buques etc. pero es posible modelizarlointroduciendo costes de asignacion a un muelle muyaltos que impidan que el buque se situe en una posi-cion.

III. Un modelo de Programacion LinealEntera

Definimos las variables:

ti= tiempo de atraque del buque i, i = 1, ..., Nqim = posicion de atraque asignada al buque i en

el muelle m, m = 1, ..., QMim = 1, si el buque i atraca en el muelle m; 0,

en caso contrarioσij = 1, si el buque i esta completamente a la

izquierda del buque j; 0, en caso contrarioδij = 1, si el buque i esta completamente por de-

bajo del buque j; 0, en caso contrarioci = tiempo de completacion del proceso del buque

iri = retraso del buque ieim = desvıo de la posicion asignada al buque i en

el muelle m respecto de su posicion deseada

Utilizando estas variables, y los elementos delproblema definidos en la seccion anterior, un modelopara el problema de multiples muelles, basado en elmodelo de Park y Kim [11], es el siguiente:

Min∑Q

m=1

∑Ni=1(Cm

i Mim + Cpi eim)

+∑N

i=1(Cwi (ti−ai)+Cd

i ri) (1)s.t.tj−ci−(σij−1)T ≥ 0 (2)qjm − (qim + li)− (δij − 1)Lmax

m ≥ 0 (3)σij + σji + δij + δji ≥Mim +Mjm − 1 (4)

qim+ li ≤∑Q

t=1MitLt, (5)∑Qm=1Mim = 1, (6)

ci = ti +pi, (7)ti ≥ ai, (8)ri ≥ ci − di, (9)eim ≥ qim−pim, (10)eim ≥ pim−qim, (11)σij , δij ,Mim ∈ {0, 1}, (12)ti, qim, ci, ri, eim ≥ 0, (13)

La funcion objetivo minimiza la suma de los cua-tro tipos de costes. Las restricciones (2), (3) y (4)impiden el solapamiento en espacio y tiempo. (5) ase-gura una posicion valida en el muelle y (6) que todobuque esta asignado a un muelle. Las restricciones(7)-(12) definen las relaciones entre los elementos delproblema.

IV. Un algoritmo constructivo basado enreglas de prioridad

El algoritmo parte de una lista ordenada de losbuques y los toma de uno en uno, buscando en todoslos muelles, todos los tiempos y todas las posicionesposibles la asignacion de menor coste que no entreen conflicto con los buques previamente asignados.El esquema aparece en a continuacion.

A. Esquema del algoritmo

Paso 1 : Ordenar los buques segun una regla de prio-ridadPaso 2: Para cada buque i = 1, ..., N :

Inicializar Cmini =∞

Paso 3: Para cada muelle m = 1, ...Q :Paso 4: Para cada tiempo t = ai, ..., T − pi :Paso 5: Para cada posicion p = 0, ..., Lm − li :Paso 5.1: Comprobar si en la posicion (t, p) el buquei colisiona con algun buque ya procesado.

Si hay colision: p = p+ 1. Volver al paso 5.Paso 5.2: Calcular el coste total del buque, para estaposicion (t, p): Ci

tp

Si el coste es 0, asignar al buque esta posicion(t, p). Volver al paso 2.

En otro caso, si Citp < Cmin

i :

Cmini = Ci

tp; ti = t; qi = p; Mi = mHacer p = p+ 1 y volver al paso 5.

Paso 6: Calcular el coste total de la planificacion,segun los tiempos ti y posiciones qi de atraque asig-nados a todos los buques.

B. Reglas de prioridad

Se ha disenado un amplio conjunto de reglas deprioridad. Las del primer grupo corresponden a ca-racterısticas individuales de los buques. En las delsegundo grupo esas caracterısticas se combinan enreglas mas complejas.1. Tiempo estimado de llegada: ai no decreciente2. Tiempo de proceso: pi no creciente3. Longitud maxima: li no creciente4. Longitud mınima: li no decreciente5. Coste de espera: Cw

i no creciente6. Coste de retraso: Cd

i no creciente7. Tiempo de salida: di no decreciente8. Area: ABi no creciente

ABi = lipi

9. Area ponderada 1 : APDi no creciente

APDi =ABi

Cdi

10. Area ponderada 2 : APMi no creciente

APMi = ABiCdi

11. Tiempo de proceso ponderado: TPPi no cre-ciente

TPPi = Cdi pi

12. Holgura: hi no decreciente

hi = di − (ai + pi)

13. Holgura ponderada: hpi no decreciente

hpi =di − (ai + pi)

Cdi

14. Ratio area-holgura: APHi no creciente

APHi =APMi

hi

15. C1 : C1i no decreciente

C1i =ai + pidi

16. C2 : C2i no decreciente

C2i =ai − pidi

17. C3 : C2i no decreciente

C3i =ai + pi + liai + di

18. C4 : C2i no decreciente

C4i =pi + liai + di

19. C5 : C5i no creciente

C5i = pidiCdi

20. C6 : C6i no creciente

C6i =hpiC2i

21. C7 : C6i no decreciente22. C8 : C8i no creciente

C8i =pi + liai + di

Cwi

23. C9 : C9i no creciente

C9i =pi + liai + di

Cdi

24. C10 : C10i no creciente

C10i =ai − pi − di

Cdi

pi + liai + di

25. C11 : C11i no creciente

C10i =aipidi

26. Orden aleatorio

V. Algoritmos metaheurısticos

A. Un algoritmo genetico

Los algoritmos geneticos son ya ampliamenteconocidos y han demostrado en numerosos estudiossu capacidad para obtener excelentes resultados enproblemas combinatorios complejos. Los elementosdel nuestro algoritmo son:

CromosomaEl cromosoma sera una lista ordenada de los buques.Por tanto, si el problema tiene n buque, el cromoso-ma tendrıa N genes.

Poblacion inicialAunque en los algoritmos geneticos se suele partir deun conjunto de soluciones obtenidas de forma aleato-ria, hemos preferido inicializar la poblacion con las26 soluciones obtenidas mediante la aplicacion delas 26 reglas de prioridad descritas anteriormente.Un posible problema hubiera sido que dicho conjun-to de soluciones fuera excesivamente homogeneo ypudiera provocar una convergencia prematura delalgoritmo. Sin embargo, las pruebas iniciales reali-zadas mostraron que esto no se producıa y que, dehecho, el algoritmo conseguıa mejores soluciones quecuando partıa de un conjunto inicial de solucionesaleatorias.Por tanto, la poblacion tendra en cada generacion26 individuos y se ira actualizando mediante los me-canismos que se describiran a continuacion.

Medida de fitnessComo medida de fitness de cada solucion se tomael coste total asociado a la solucion, incluyendo lascuatro componentes del coste.

Reproduccion Se eligen 13 parejas, mediante elmetodo de la ruleta, en el que cada ındividuo tieneuna probabilidad de ser seleccionado inversamenteproporcional a su fitness. El operador utilizado es elde cruce de un punto, de forma que en una posicionelegida al azar se cortan las secuencias de los padresy cada hijo recibe la primera subsecuencia de uno delos padres y la completa con la secuencia del otro,de forma que cada descendiente es una lista ordena-da y completa de todos los buques y, por tanto, unasolucion posible del problema.

Mutacion Cada hijo tiene una probabilidad Pm

de ser sometido a una mutacion, que consiste en elintercambio de las posiciones de dos genes elegidosal azar.

Nueva poblacion Los nuevos individuos surgidosde los procesos de cruce y mutacion pasan a formarparte de la poblacion en la siguiente generacion si sufitness supera el del peor elemento de la poblacionactual.

B. Un algoritmo SWO aleatorizado

El procedimiento conocido como Squeaky WheelOptimization (SWO) fue introducido por Clementset al. [1] y posteriormente utilizado por otros au-tores, entre los que cabe citar Meisel y Bierwirth [10],que lo aplicaron a un problema de atraque de buquescon asignacion de gruas. Segun Joslin y Clements [6],el SWO opera en dos espacios, el espacio de las prio-ridades y el espacio de las soluciones, tal como se ob-serva en la Figura 2. Dado un orden de prioridad, unheurıstico construye una solucion. El analisis de esasolucion lleva a una modificacion del orden de prio-ridad, que producira una nueva solucion y ası suce-sivamente.

En nuestra propuesta, el analisis de la solucionobtenida se centra en los buques con coste mayorque 0. De entre ellos, se elige al azar uno de ellos yse identifica que otros buques, con mayor prioridad,

Fig. 2. Espacios de busqueda del SWO

son los causantes de dicho coste, porque le impidenatracar en el muelle deseado, en la posicion deseada,en el tiempo de llegada. El buque elegido se mueve enla lista de prioridad de forma que quede por delantede todos esos buques.

C. Un algoritmo de intercambios aleatorizados

Una variante del procedimiento anterior consisteen un algoritmo iterativo de intercambios aleatoriza-dos. Partiendo de una solucion posible, se seleccionaun buque con probabilidad proporcional a su coste(es decir, mayor probabilidad para los costes masaltos) y se intercambia con otro buque con priori-dad mayor, elegido con probabilidad inversamenteproporcional al coste. La nueva lista de prioridadesproporciona una nueva solucion.

VI. Estudio computacional

Para probar la eficiencia de los algoritmos desarro-llados se ha realizado un estudio computacional. Enla primera parte se comparan los resultados con lospublicados por Lee et al. y Cordeau et al. utilizandosus mismas instancias. En la segunda parte, se haimplementado un generador de instancias, con el quese ha generado un amplio conjunto de problemas condiferentes caracterısticas. Los resultados obtenidossobre dicho conjunto permiten identificar los factoresmas relevantes en la complejidad del problema. Losexperimentos se realizaron en un ordenador Inter (R)Cor (TM=2 a 2.5 GHz y RAM 2 GB.

A. Los problemas de Lee et al.

Lee et al. [7] estudian el mismo problema consi-derado en este trabajo, el BAP continuo, pero con-siderando un solo muelle y con el unico objetivo deminimizar el tiempo de servicio total de los buques,definido como el tiempo transcurrido desde la llega-da a puerto y la finalizacion del servicio. Desarrollanun modelo lineal entero y dos algoritmos GRASP.

En una primera prueba, sobre 30 problemaspequenos, de 5 y 10 buques, comparan los resultadosobtenidos resolviendo el modelo entero con CPLEXcon los obtenidos con GRASP1 y GRASP2. Los re-sultados aparecen en la Tabla I, en la que la ultima

columna incluye los resultados de nuestro algoritmogenetico. Para cada algoritmo se muestra el tiem-po de ejecucion (T) y la distancia media al optimo( %GAP). Puede observarse que, incluso para pro-blemas con 10 buques la resolucion exacta es muycostosa. Para 10 buques, el algoritmo genetico ob-tiene soluciones muy proximas al optimo en tiemposde computacion moderados.

TABLA I

Instancias pequenas de Lee et al.

CPLEX GRASP1 GRASP2 Genetico

N T % GAP T % GAP T % GAP T

5 0.39 1.6 2.3 0.005 2.7 0.1 310 5977 7.8 11.9 3.7 16.6 0.8 17

La segunda prueba de los algoritmos se realiza coninstancias grandes, de 40, 80, 120 y 160 buques, uti-lizando 30 instancias de cada tamano. Los autores nopresentan los resultados de cada instancia o grupode instancias, sino su cociente respecto a los valoresobtenidos por el Stochastic Beam Search (SBS) deWang, de forma que para cada algoritmo (ALG), laTabla II muestra R=ALG/SBS y el tiempo de eje-cucion. Puede observarse que, en todos los casos, lassoluciones obtenidas por el algoritmo genetico sonmejores que las de los restantes algoritmos y que esasdiferencias son mas claras cuando crece el tamanodel problema.

TABLA II

Instancias grandes de Lee et al.

SBS GRASP1 GRASP2 Genetico

N T R T R T R T

40 188 .99 15 .98 37 .91 4080 790 .98 112 .94 271 .85 303120 911 .97 413 .93 882 .84 1002160 1703 .97 1103 .92 2137 .85 2404200 2809 .97 1763 .92 4223 .84 4722

B. Los problemas de Cordeau et al.

Cordeau et al. [2] estudian en primer lugar el pro-blema discreto, para el que proponen un modelo li-neal entero y un algoritmo Tabu Search, que luegoadaptan al problema continuo, considerando unica-mente el tiempo de servicio total de los buques,definido como el tiempo transcurrido desde la lle-gada a puerto y la finalizacion del servicio. Generanaleatoriamente 30 instancias con 25 y 35 buques, te-niendo como referencia los problemas reales de la ter-minal del puerto de Goia Tauro (Italia). Para dichasinstancias, los autores presentan los resultados desu algoritmo Tabu Search (TS)2 y de un algoritmoFCFS-G que ordena los buques por orden de llega-da y los considera en ese mismo orden, asignando encada caso la posicion en la que se minimice el tiem-po de finalizacion del proceso del buque. Segun losautores, FCFS-G es similar al procedimiento usadoen la practica en el puerto.

En la Tabla III se muestran los resultados de am-bos algoritmos, junto con los obtenidos por el algorit-mo genetico. En todos los casos el algoritmo geneticoiguala o mejora los resultados de FCFS-G, obtenien-do una mejora media del 17 %, y los de (TS)2, res-pecto del que mejora en media un 9 %.

TABLA III

Instancias de Cordeau et al.

Problema FCFS-G (TS)2 Genetico

1 1899 1706 1594

2 1417 1355 1279

3 1349 1286 1181

4 1548 1440 1355

5 1449 1352 1237

6 1747 1565 1258

7 1482 1389 1302

8 1616 1519 1402

9 1873 1713 1576

10 1611 1411 1209

11 1851 1696 1474

12 1814 1629 1451

13 1575 1519 1400

14 1435 1369 1245

15 1609 1455 1325

16 1854 1715 1466

17 1388 1322 1293

18 1923 1594 1446

19 1829 1673 1458

20 1615 1450 1382

21 1640 1565 1412

22 1747 1618 1389

23 1770 1539 1387

24 1625 1425 1311

25 1845 1590 1511

26 1707 1567 1409

27 1588 1458 1283

28 1669 1550 1499

29 1512 1415 1309

30 1797 1621 1519

C. Un generador de instancias para el problema conmultiples muelles

Todas las instancias publicadas hasta la fecha serefieren al problema con un solo muelle. Para poderestudiar el problema con multiples muelles, hemosdesarrollado un generador de problemas, que aceptecomo parametros configurables todas las caracterıs-ticas relevantes del problema:

Horizonte temporal (T )Numero de muelles (Q)Longitud maxima de un muelle (Lmax)Longitud mınima de un muelle (Lmin)Coste maximo de asignacion de un muelle (Cm)Numero de buques (N)Coste maximo de espera (Cw)Coste maximo de retraso (Cd)

Coste maximo de desvıo respecto de la posiciondeseada (CP )

Tiempo maximo de llegada (amax)Tiempo mınimo de llegada (amin)Holgura para el tiempo de salida (s− a− p)Tiempo maximo de proceso (pmax)Tiempo mınimo de proceso (pmin)Longitud maxima de un buque (lmax)Longitud mınima de un buque (lmin)

Utilizando el generador se han generado 1215 ins-tancias, 5 instancias para cada combinacion de losvalores de los parametros:

Numero de muelles: 1, 3, 5Numero de buques: 20, 30, 40Longitud de buques (mınima, maxima): (1, 10),

(1, 25), (10, 25)Tiempos de proceso (mınimo, maximo): (1, 10),

(1, 50), (25, 50)Tiempo maximo de llegada: 20, 50, 100

De esta forma, ademas del efecto de factores comoel numero de muelles y el numero de buques, se es-tudian diferentes configuraciones, en cuanto al tipode buques (todos pequenos, tamanos diversos, todosgrandes), los tıempos de proceso (todos cortos, tiem-pos diversos, todos largos), y los tiempos de llegada(llegan todos al principio o escalonado).

La medida utilizada para estudiar la complejidadde los problemas ha sido:

Dev =SR− SA

SR∗ 100

donde SR es el valor obtenido con la primera reglade prioridad (tiempo de llegada no decreciente) y SAes el valor obtenido por cada algoritmo desarrollado.De esta forma, cuanto mayor sea Dev, mas se mejorala solucion inicial.

La Figura 3 compara los resultados obtenidos so-bre el conjunto de las 1215 instancias por los 4 algo-ritmos desarrollados:

Reglas de prioridad: resolver con las 26 reglas yquedarse con la mejor solucion

Intercambios aleatorizadosAlgoritmo geneticoSWO aleatorizado

Se puede observar que el algoritmo genetico esel que obtiene en media la mayor mejora (44.3 %),seguido de los Intercambios aleatorizados (33.3 %)y SWO aleatorizado (26.1 %). Este resultado globalse mantiene si se desglosan los resultados por ca-da uno de los factores (numero de muelles, numerode buques,...). Por tanto, podemos concluir que elalgoritmo genetico es claramente el mejor de los de-sarrollados en este trabajo.

Finalmente, si consideramos Dev, la distancia en-tre el valor de la solucion de la regla de prioridady el obtenido por el algoritmo genetico como unamedida indirecta de la complejidad del problema,podemos estudiar el efecto que sobrew dicha com-plejidad tiene cada uno de los factores considerados

Fig. 3. Comparacion de los cuatro algoritmos

en la generacion de las instancias. De forma abrevia-da, los resultados obtenidos han sido:

Numero de muelles: No es un factor significati-vo. La dificultad del problema no aumenta con elnumero de muelles.

Numero de buques: No es un factor significati-vo. La dificultad del problema no aumenta con elnumero de buques.

Longitud de los buques: El problema es mas difıcilcuanto mas similares y mas grandes son los buques.

Tiempos de proceso: Cuanto mas similares y masgrandes, mas difıcil es el problema.

Tiempo maximo de llegada: Cuanto menor es eltiempo de llegada maximo, mayor congestion y masdificultad.

VII. Conclusiones

En este trabajo se ha abordado por primera vezde forma explıcita el problema de asignacion deatraques (BAP) continuo con multiples muelles. Seha propuesto un modelo lineal entero, incluyendo to-dos los posibles costes que aparecen en el problema.Asimismo, se han propuesto algoritmos heurısticos,basados en reglas de prioridad, y metaheurısticos,en particular un algoritmo genetico que utiliza lassoluciones proporcionadas por un conjunto de re-glas de prioridad como poblacion inicial. Los resul-tados computacionales sobre problemas generados yutilizados por otros autores muestran qu el algorit-mo genetico propuesto mejora los resultados publi-cados. Finalmente, se ha desarrollado un generadorde instancias que permite configurar todos los para-metros del problema y por tanto, generar de formasistematica diversos tipos de problemas y estudiar elcomportamiento de los algoritmos.

Agradecimientos

Este estudio ha sido parcialmente financiado por elMinisterio de Ciencia y Tecnologıa, DPI2008-02700,cofinanciado con fondos FEDER.

Referencias

[1] Clements, D.P., Crawford, J.M., Joslin, D.E., Nemhauser,G.L., Puttitz, M.E., Savelsbergh, M.W.P. Heuristic opti-mization: a hybrid AI/OR approach. In: Proceedings ofthe workshop on Industrial Constraint-Directed Schedul-ing 1997.

[2] Cordeau, J.F., Laporte, G., Legato, P., Moccia, L. Mod-els and Tabu Search Heuristics for the Berth AllocationProblem. Transportation Science 39, 4, 526-538, 2005.

[3] Dai, J., Lin, W., Moorthy, R., Teo, C. Berth alloca-tion planning optimization in container terminal. SupplyChain Analysis: A Handbook on the Interaction of Infor-mation, System and Optimization 69, 2007.

[4] Guan, Y., Cheung, R. The berth allocation problem: mod-els and solution methods. OR Spectrum 26, 1, 75-92, 2004.

[5] Kim, K., Moon, K. Berth scheduling by simulated anneal-ing. Transportation Research, Part B, 37 (6), 541-560,2003.

[6] Joslin, D.E., Clements, D.P. Squeaky Wheel OptimizationJournal of Artificial Intelligence Research 10 (1), 353-373,1999.

[7] Lee, D-H., Chen, J.H., Cao, J.X. The Continuous BerthAllocation Problem: A Greedy Randomized AdaptiveSearch Solution. Transportation Science, Part E, 46, 6,1017-1029, 2010.

[8] Li, C., Cai, X., Lee, C. Scheduling with multiple-job-on-one-processor pattern. IIE Transactions 30, 5, 433-445,1998.

[9] Lim, A. The berth planning problem. Operations Re-search Letters 22, 105-110, 1998.

[10] Meisel, F., Bierwirth, C. Heuristics for the Integra-tion of Crane Productivity in the Berth Allocation Prob-lem. Transportation Research, Part E, 5 (2009), 196-209,2009.

[11] Park, K., Kim, K. Berth scheduling for container ter-minals by using a sub-gradient optimization technique.Journal of the Operational Research Society 53 (9), 1054-1062, 2002.

[12] Tong, C., Lau, H., Lim, A. Ant Colony Optimization forthe ship Berthing problem. Lecture Notes in ComputerScience 359-370, 1999.

[13] Wang, F., Lim, A. A stochastic beam search for theberth allocation problem. Decision Support Systems 42(4), 2186-2196, 2007.