You are on page 1of 8

El Problema de Carga de Contenedores: una

Aproximación Paralela y Multi-objetivo


Jesica de Armas, Yanira Gonzalez, Gara Miranda, Coromoto León

Resumen— El problema de carga de contenedores dimensiones de un solo objeto grande de colocación


surge en muchas industrias de distribución y trans- (three-dimensional rectangular SLOPP ).
porte. Se trata de un problema de optimización
NP-completo. En este trabajo se aborda su resolu- Computacionalmente, se trata de un problema
ción multi-objetivo mediante el algoritmo evoluti- NP-duro [4], es decir, no se puede obtener una
vo NSGA-II, intentando mejorar la única aproxi- solución exacta en un tiempo polinomial. Por ello,
mación conocida que resuelve el problema con múlti-
ples objetivos: la maximización del volumen utilizado aunque existe algún trabajo aislado que lo aborda
y la maximización del peso empaquetado. Se com- usando un algoritmo exacto [5], la mayorı́a de los
para experimentalmente el comportamiento de las estudios se centran en proporcionar soluciones me-
aproximaciones y se presentan diversas paraleliza-
ciones basadas en islas del algoritmo evolutivo tratan-
diante heurı́sticas y metaheurı́sticas. Las heurı́sticas
do de mejorar el resultado y obtener más rápidamente se pueden desarrollar teniendo en cuenta diferentes
soluciones competitivas. Los experimentos muestran distribuciones especı́ficas: construcción de muros o
que la aplicación de técnicas multi-objetivo, tales co- wall-building [6], [7], disposición de bloques o cuboid
mo los algoritmos evolutivos multi-objetivo, permite
la obtención de soluciones no alcanzables mediante el arrangement [8], [9], contrucción de pilas o stack-
uso de estrategias que no han sido diseñadas explı́cita- building [10], [11], y cortes de guillotina [12]. En la
mente para tratar con más de un objetivo. Además, literatura relacionada existe una gran cantidad de
mediante el uso de las paralelizaciones se consigue al-
canzar soluciones de mayor calidad en menor tiempo. algoritmos heurı́sticos [2], [6], [7], [13], [14], [15], [16]
Sin embargo, en los últimos años se ha incrementado
Palabras clave— Empaquetado de 3 Dimensiones, la atención hacia las metaheurı́sticas como los algo-
Problema de Carga de Contenedores, Optimización ritmos genéticos [10], [17], [18], [19], el recocido simu-
Multi-objetivo, Computación Evolutiva, Modelos lado [20], [21], [22], la búsqueda tabú [8], [23], y los
Basados en Islas.
algoritmos hı́bridos [24], [25], [26], [27]. En ocasiones,
estos procesos pueden incluir paralelizaciones, es el
I. Introducción caso de algunos algoritmos genéticos paralelos [28],
El problema de carga de contenedores (CLP- búsquedas tabú paralelas [29], o búsquedas locales
Container Loading Problem) pertenece a un área de hı́bridas paralelas [30].
investigación activa y tiene numerosas aplicaciones A la hora de resolver un CLP en la realidad, nor-
en el mundo real, particularmente en el transporte malmente la maximización del espacio usado es el
de contenedores y en las industrias de distribución. objetivo más importante, pero existen otras cues-
El aumento constante del coste del combustible es tiones que se pueden tener en cuenta. En [6] se des-
una gran motivación para los transportistas a la ho- criben muchos requerimientos prácticos, tales como
ra de maximizar el espacio utilizado en los contene- las restricciones de orientación, la distribución de la
dores, reduciendo ası́ al mı́nimo el número global de carga, la estabilidad, las prioridades de embarque,
viajes necesarios [1]. Además, minimizar los espa- el lı́mite de peso de los contenedores, etc. Dado que
cios vacı́os en los contenedores no sólo es un requi- es muy común en la logı́stica de las empresas, dispo-
sito económico, sino también un problema ecológi- ner de contenedores de un volumen determinado que
co debido a las consecuencias negativas del aumento pueden albergar un peso máximo debido a la tara
del tráfico en el medio ambiente [2]. De entre los del vehı́culo de transporte, en este trabajo se trata
problemas de corte y empaquetado, los de carga de un CLP con múltiples objetivos que se define for-
contenedores han sido muy estudiados. En general, malmente de la siguiente manera: Dado un conjun-
el problema consiste en distribuir un conjunto de to de n piezas con ancho wi , profundidad di , alto
piezas rectangulares (cajas) en un objeto rectangu- hi , peso weighti , y un solo contenedor con dimen-
lar grande (contenedor) de manera que se maximice siones conocidas (W, D, H) donde wi ≤ W , hi ≤ H,
el volumen total de las cajas empaquetadas, es decir, y di ≤ D, y una capacidad máxima de albergar peso
se trata de obtener un patrón de empaquetado que t weightmax , el problema consiste en empaquetar las
utilice el espacio del contenedor lo máximo posible. piezas en el contenedor sin superposición mientras se
Según la tipologı́a mejorada de problemas de corte maximiza el peso total de las piezas empaquetadas y
y empaquetado propuesta por Wäscher et. al [3], el la utilización del contenedor. El problema se resuelve
CLP se puede clasificar como un problema de tres suponiendo que:
Las piezas son cajas rectangulares con dimen-
Dpto. Estadı́stica, I.O. y Computación Universidad de
La Laguna, 38271, Tenerife, Spain E-mails: jdearmas@ull.es, siones conocidas (wi , di , hi ). Cada caja se puede colo-
ygonzale@ull.es, gmiranda@ull.es, cleon@ull.es car en el contenedor en un máximo de seis variantes
de rotación, si no están prohibidas. óptimo de Pareto, constituido por las soluciones no
Cada caja se coloca en el suelo del contenedor o dominadas y:
encima de otra caja.
La estabilidad de la distribución de las cajas no ∄z/ ∀i ∈ 1..k fi (z) ≥ fi (y), ∃i ∈ 1..k fi (z) > fi (y) (2)
se considera, ya que se asume el uso de material de
relleno para impedir posibles problemas. Estas soluciones son óptimas porque no existen otras
A pesar de que en la industria de transporte re- soluciones en el espacio de búsqueda que sean supe-
al es más común la necesidad de optimizar varios riores a ellas cuando se tienen en cuenta todos los
objetivos al mismo tiempo, sólo se conoce un tra- objetivos. Es decir, una solución y se dice que es no
bajo de la literatura que trata el CLP con múlti- dominada si no existe otra solución z que sea mejor
ples objetivos [31], utilizando para ello un algoritmo en al menos uno de los objetivos y en menos tan
de recocido simulado hibridizado con una heurı́sti- buena como y en el resto. El objetivo más común
ca de relleno. Los algoritmos evolutivos multi- es obtener un conjunto de soluciones no dominadas
objetivo (MOEAs - Multi-Objective Evolutionary que se encuentren tan cerca de la óptima como sea
Algorithms) se han mostrado prometedores a la ho- posible.
ra de resolver problemas multi-objetivo del mun-
do real. Concretamente han proporcionado solu- III. Aproximación Multi-objetivo
ciones competitivas para otro tipo de problemas de Los algoritmos evolutivos (EAs) se han mostrado
corte y empaquetado [32], [33], por lo que se desea prometedores para el cálculo de soluciones a pro-
comprobar su efectividad en el CLP multi-objetivo blemas de optimización grandes y difı́ciles, y se han
aquı́ definido, realizando una comparativa con la usado con éxito en una gran variedad de aplicaciones
única aproximación multi-objetivo conocida [31] que reales [34]. De hecho, cuando se aplican a MOPs,
tiene en cuenta los mismos objetivos: maximización actúan mejor que otras estrategias de búsquedas
del peso y volumen usado del contenedor. Además, a ciegas. Los EAs especı́ficamente diseñados para
para mejorar el rendimiento y obtener resultados de las funciones de múltiples objetivos se conocen co-
buena calidad en menor tiempo se llevará a cabo un mo MOEAs [35]. En la literatura se han propuesto
estudio de las paralelizaciones usando modelos basa- muchas alternativas de algoritmos de este tipo[36]:
dos en islas. VEGA, NPGA, NSGA [37], SPEA, IBEA, etc. En
El resto del artı́culo se organiza del siguiente mo- este sentido, existe un framework llamado MET-
do. En primer lugar se hará una breve introducción CO [38], que proporciona las implementaciones de
acerca de la optimización multi-objetivo en la Sec- algunos de esos MOEAs. METCO es un entorno pa-
ción II. En la Sección III se presenta la aproximación ralelo basado en plugins para la optimización multi-
multi-objetivo que se ha desarrollado para resolver objetivo, que permite a los usuarios especificar sim-
el problema. Finalmente, en la Sección IV se mues- plemente los detalles relacionados con el problema
tran los resultados experimentales y en la Sección V (representación, evaluación de los objetivos, opera-
las conclusiones a las que se ha llegado. dores, ...) sin tener que preocuparse por los detalles
internos de la implementación del algoritmo. El en-
II. Optimización Multi-objetivo torno de trabajo proporciona también una interfaz
simple, flexible y eficiente para establecer y modi-
Los problemas de optimización multi-objetivo o
ficar los parámetros usados dentro del algoritmo.
multi-criterio (MOPs) surgen en la mayorı́a de dis-
ciplinas del mundo real. Los distintos objetivos nor- A. Representación
malmente se encuentran en conflicto o competencia,
pero deben de ser optimizados simultáneamente. En Para la representación de las soluciones candi-
la práctica, suele ser imposible encontrar un único datas, se ha utilizado la estructura que se puede ver
óptimo que domine a todo el resto de soluciones. en la Figura 1. Se trata de una secuencia formada
Por lo tanto, no existe una solución que optimice por tipo de pieza, número de piezas de ese tipo y
todos los objetivos simultáneamente. Los MOPs se orientación para esas piezas. De esta manera se de-
pueden definir formalmente como: termina el orden en el que se van a colocar todas
las piezas en el contenedor y sus orientaciones. Ca-
Optimizar f (x) = (f1 (x), f2 (x), ..., fk (x)) sujeto a x ∈ X da pieza tiene permitidas dos, cuatro o seis orienta-
(1) ciones posibles, según se determine en la instancia de
entrada. Ası́, para indicar la orientación de una pieza
donde f (x) es el vector objetivo, fi (x) es el i-ésimo
objetivo a optimizar, x es el vector de decisión y
X es la región factible en el espacio de decisiones.
Mientras en la optimización mono-objetivo la solu-
ción óptima está normalmente definida de manera
clara, en los MOPs esto no se mantiene. En lugar
de un único óptimo, existe un conjunto o frente de
alternativas de compromiso, conocidas como frente Fig. 1. Ejemplo de la representación de una solución
Fig. 2. Posibles orientaciones para una pieza

Fig. 4. Creación de huecos

tamaño del cromosoma puede variar, dependiendo


de cómo se agrupen las piezas de cada tipo.

B. Generación de la población inicial


Para la generación inicial de individuos considé-
rese: N el número total de piezas, n el número de
tipos de piezas, t ∈ [1..n] el tipo de pieza, numt
el número de piezas de tipo t, numot el número de
orientaciones posibles para las piezas de tipo t, y
nt ∈ [1..numt ] el número de veces que aparece un
tipo de pieza t en el cromosoma. En primer lugar
se ha de generar aleatoriamente un tipo de pieza t
para el que aún queden piezas por colocar, luego la
cantidad de piezas de ese tipo ct ∈ [1..numt ] que
se va a considerar para el gen actual, y finalmente
la orientación ot ∈ [0..numot ] para ese conjunto de
piezas. Se han de realizar estos pasos hasta que se
haya introducido la totalidad de las piezas de cada
tipo, cumpliéndose para el individuo o cromosoma
completo las siguientes condiciones:
nt
X nt
n X
X
a) ∀t (ct )j = numt b) (ct )j = N (3)
j=1 t=1 j=1

C. Evaluación de los Objetivos


Cada cromosoma representa un cierto orden en el
que las piezas se van a colocar en el contenedor y con
qué orientación. Basándonos en esta información,
se pueden evaluar ambos objetivos de optimización,
volumen y peso total, haciendo uso de una heurı́sti-
Fig. 3. Proceso de la heurı́stica de colocación ca. Dicha heurı́stica se basa en el almacenamiento
por niveles de las piezas dentro del contenedor y fun-
se utiliza un dı́gito que va desde 0 hasta 5 (Figura 2), ciona del siguiente modo (Figura 3):
indicando una rotación de la pieza con respecto a Se introduce la primera pieza en la esquina infe-
su orientación original. Para que el cromosoma sea rior izquierda del fondo del contenedor. Esta pieza
válido, debe contener la totalidad de las piezas de determinará el ancho del primer nivel y generará dos
cada tipo diferente. Usando esta representación, el huecos, uno enfrente y otro arriba (Figura 4).
Fig. 5. Operador de cruce

Se recorre el resto del cromosoma intentando in- Para la mutación se han introducido tres tipos
troducir las piezas en ese nivel y si no se consigue diferentes de movimientos sobre el cromosoma, ca-
se crea un nuevo nivel adyacente al anterior con esa da uno de ellos aplicados bajo la probabilidad de
pieza. Para hacer esta comprobación se siguen las mutación:
siguientes pautas: Agregar un gen: se genera de forma aleatoria un
• Se intentan llenar en primer lugar los huecos que tipo de pieza. Luego, se buscan en el cromosoma to-
se han creado en frente. Si no se encuentra ningún das las posiciones donde se localicen piezas de este
hueco en frente en el que quepa la pieza actual, se tipo, y se selecciona una de ellas. Del gen selecciona-
pasa a comprobar si cabe en alguno de los huecos do, se escoge un número de piezas de manera que
de arriba. Si tampoco cabe en ninguno de estos hue- queden repartidas entre ese gen y el nuevo que se va
cos se comprueba si cabe en algún hueco lateral. Si a agregar. Entonces se selecciona una orientación en-
la pieza tampoco cabe en este conjunto de huecos, tre las permitidas para ese tipo de pieza y se escoge
entonces descartamos la pieza en este nivel, e inten- aleatoriamente la posición del cromosoma en la cual
tamos introducirla cuando se cree el siguiente nivel. se va a insertar el nuevo gen desplazando el resto
• En el caso de que la pieza quepa en alguno de hacia la derecha (Figura 6).
los huecos se comprueba si encaja perfectamente sin
dejar más huecos. Si es ası́, entonces, el hueco desa-
parece y se inserta la pieza en el contenedor. De lo
contrario, se inserta creando los nuevos huecos gen-
erados.
Cuando se hayan introducido todas las piezas
posibles, el valor de los objetivos (volumen y peso)
se puede calcular fácilmente sumando los volúmenes
y pesos de todas esas piezas.

D. Operadores
Como se ha usado una codificación que representa Fig. 6. Operador de mutación Agregar t2
implı́citamente las soluciones del problema, los dis-
tintos tipos de operadores que se apliquen deben de Eliminar un gen: se genera una posición dentro
tratar con sus caracterı́sticas especı́ficas. Se ha im- del cromosoma de forma aleatoria y se comprueba
plementado un cruce de un punto que funciona del si se repite más veces el mismo tipo de pieza. Si
siguiente modo: no existen más genes de ese tipo, no se realiza la
En primer lugar se selecciona un punto al azar de operación. De lo contrario, se seleccionará aleatoria-
cada individuo. mente un gen de entre los del mismo tipo y se incre-
Se intercambian las partes de cada individuo des- mentará su número de piezas con el número de piezas
pués de los puntos seleccionados. del primer gen a eliminar para poder borrarlo. Como
Se modifica la primera parte de cada individuo puede suceder que ambos genes no posean el mismo
para que se respete el número total de piezas de cada tipo de orientación de piezas, se selecciona uno de
tipo presente en el cromosoma. Es decir, se elimi- los dos de forma aleatoria. Finalmente, se elimina
nan tipos de piezas si sobran piezas de ese tipo, o se el gen realizando compactación hacia la izquierda
agregan si faltan (Figura 5). (Figura 7).
el problema son: temperatura inicial Tin = 5000,
temperatura final Tf = 0,0001, constante α = 0,987
y número de iteraciones que debe de llevarse a cabo
para cada temperatura ilmax = 12. Sin embargo, en
el presente estudio, se ha utilizado el algoritmo evo-
lutivo NSGA-II, dado su buen comportamiento en
otros problemas de corte y empaquetado [32], [33].
Después de realizar una serie de pruebas, la probabi-
lidad de mutación se ha fijado a 0.3, la probabilidad
de cruce a 0.9 y el tamaño de la población a 20. En
Fig. 7. Operador de mutación Eliminar primer lugar, se ha llevado a cabo un estudio secuen-
cial con estos parámetros, realizando 30 repeticiones
de 30000 evaluaciones (1500 generaciones) cada una.
Cambiar un gen: se genera una posición aleato-
Si se calcula la media del mayor volumen obtenido
ria del cromosoma y se le cambia también de forma
en cada uno de los 30 frentes finales, se puede com-
aleatoria el tipo de orientación dentro de las posibles
probar que el valor expresado en porcentaje de vol-
para el tipo de pieza (Figura 8).
umen usado del contenedor (91.13 %), supera clara-
mente el mejor porcentaje (87.51 %) de los resulta-
dos aportados por el artı́culo de referencia [31]. Lo
mismo ocurre si se calcula la media del mayor peso
en cada uno de los 30 frentes finales, obteniéndose
un valor de 7199.52 kg frente a los 7157.06 kg de
referencia. La Tabla II muestra las dos medias ante-
riormente halladas con el correspondiente valor del
objetivo contrario y las cuatro soluciones diferentes
conseguidas en [31] para la instancia tratada. Clara-
mente, los resultados obtenidos mejoran los valores
Fig. 8. Operador de mutación Cambiar de referencia, obteniéndose mayor volumen empa-
quetado que el mejor de los cuatro valores de volu-
IV. Evaluación Experimental men de referencia, incluso cuando nos centramos en
los resultados con mayores pesos asociados (segunda
El propósito de este estudio es resolver el CLP columna).
multi-objetivo utilizando estrategias evolutivas y al-
Para identificar el área del espacio de búsqueda
gunas paralelizaciones que ofrece METCO [38], un
que se está explorando y ver el comportamiento gen-
framework paralelo basado en plugins para opti-
eral del algoritmo evolutivo aplicado a este proble-
mización multi-objetivo. Se pretenden mejorar los
ma, si se dibujan directamente los 30 frentes de Pare-
únicos resultados conocidos de un trabajo [31] que
to puede ser muy confuso, por lo que aquı́ se han
aborda el problema real con múltiples objetivos.
utilizado las superficies de alcance [39]. La Figura 9
Gracias al uso de METCO, se evita la implemen-
muestra las superficies de alcance 1, 15 y 30 para
tación desde cero de MOEAs, ya que proporciona
la instancia tratada y los puntos que se proporcio-
implementaciones de algunos de los MOEAs más uti-
nan en el artı́culo que se ha utilizado de referen-
lizados en la literatura. La evaluación experimental
cia. Como se puede observar, los resultados cubren
se ha llevado a cabo usando un cluster dedicado de
una gran área del espacio de soluciones, ofreciendo
20 nodos de doble núcleo con un sistema operativo
Debian gnu/Linux. El framework y la aproximación
del problema se han implementado en C++ y com-
Superficies de alcance
pilado con gcc 4.1.3 y mpich 1.2.7. Para el estudio 7210
computacional, se ha utilizado la instancia real pro-
puesta en [31]. Se trata de una instancia con 12 tipos 7200

de productos de diferentes dimensiones y pesos aso-


7190
ciados (Tabla I). En el artı́culo que se ha tomado
como referencia no se da información acerca de las
Peso

7180
orientaciones de las cajas. Por ello y dado que algu-
nas de ellas contienen lı́quidos, se ha supuesto que 7170

sólo es posible rotar la base de las cajas. Puntos Referencia


7160
En dicho trabajo, el problema se resuelve utilizan- Superficie_1
Superficie_15
do un algoritmo de recocido simulado junto a una 7150
Superficie_30

heurı́stica de relleno, y asignando diferentes pesos,


1.9e+071.95e+07 2e+07 2.05e+072.1e+072.15e+072.2e+072.25e+072.3e+07
desde 0 hasta 1, a cada objetivo. Los parámetros Volumen
del algoritmo de recocido simulado utilizados para
Fig. 9. Superficies de alcance para las 30 ejecuciones
TABLA I
Instancia de referencia

ID Descripción ancho/largo/alto(cm) N.cajas Peso(kg) Volumen Total(cm3)


1 Detergente 40/36/28 325 20.00 13,104,000
2 Lejı́a 54/28/30 25 22.00 1,134,000
3 Cuidado Personal 54/28/30 75 2.35 3,402,000
4 Detergente 39/29/32 75 20.00 2,714,400
5 Producto Afeitar 15/10/20 10 1.47 30,000
6 Cuidado Bebés 42/37/25 150 2.80 5,827,500
7 Pasta Dientes 36/18/18 3 3.72 34,992
8 Champú 18/17/22 25 4.97 168,300
9 Champú 22/17/22 50 5.00 411,400
10 Champú 12/11/16 5 1.33 10,560
11 Lejı́a 30/27/40 20 17.60 648,000
12 Producto Afeitar 19/7/21 3 0.12 8,379
Total 766 9905.37 27,493,531

TABLA II
Comparativa de objetivos

Media Volumen Media Peso Valor 1 Valor 2 Valor 3 Valor 4


Volumen ( %) 91.13 % 90.87 % 87.51 % 86.13 % 86.09 % 85.96 %
(cm3 ) 22315526 22250896 21427698 21089791 21079997 21048165
Peso (kg) 7197.39 7199.52 6713.37 7157.06 7150.41 7151.37

TABLA III
Número de evaluaciones y tiempo por porcentaje de hipervolumen

HIPERVOL. Secuencial Paralelo 2 Paralelo 4 Paralelo 8


Eval. Tiempo Eval. Tiempo Eval. Tiempo Eval. Tiempo
80 % 333 7.598 150 1.811 130 0.796 65 0.207
85 % 493 11.249 240 2.897 210 1.286 155 0.494
90 % 800 18.255 516 6.229 388 2.376 291 0.928
95 % 2880 65.718 1170 14.125 836 5.121 789 2.516
99 % 7125 162.584 5051 60.979 3071 18.811 2175 6.937

un conjunto de soluciones de compromiso entre los ofrece METCO pueden mejorar el comportamiento
dos objetivos, de manera que la persona encarga- del modelo secuencial. Los modelos basados en islas
da de tomar las decisiones podrá elegir la opción dividen la población original en un conjunto de sub-
que más convenga en cada caso. Sin embargo, las poblaciones independientes. Cada sub-población es
diferentes soluciones propuestas en [31] quedan por asociada a una isla, y sobre cada isla se ejecuta una
debajo de las superficies de alcance, siendo comple- configuración de MOEA de forma independiente du-
tamente dominadas por las nuevas soluciones. En rante un cierto tiempo. Una configuración está cons-
realidad el primer punto de referencia (21427698, tituida por un algoritmo de optimización con sus
6713.37) se sale de la gráfica dado que el valor del respectivos parámetros. Generalmente, cada proce-
peso es mucho menor que los demás, pero dado su sador constituye una isla, de forma que cada isla
volumen asociado también es dominado. De este mo- evoluciona en paralelo de forma independiente. Sin
do se demuestra la validez de los algoritmos evolu- embargo, dado que los esquemas colaborativos sue-
tivos multi-objetivo para hacer frente a este tipo de len alcanzar mejores resultados, se incluye una fase
problemas, superando los resultados obtenidos me- de migración que permite el intercambio de indivi-
diante un algoritmo de recocido simulado. Además duos entre islas. Este comportamiento colaborativo
se obtiene el conjunto de soluciones de compromiso añade al esquema basado en islas la posibilidad de
en una sola ejecución, mientras que el algoritmo apli- obtener un mejor comportamiento. Existen cuatro
cado en [31] asigna distintos pesos a cada objetivo, modelos basados en islas diferentes [35]: todas las
y para cada una de las combinaciones de pesos se islas ejecutan la misma configuración (homogéneo),
requiere de una ejecución. todas las islas ejecutan una configuración diferente
Una vez que se ha verificado esto, serı́a intere- (heterogéneo), cada isla evalúa un subconjunto dife-
sante ver si los modelos paralelos basados en islas que rente de funciones objetivo y cada isla representa
una región distinta en los dominios del fenotipo o del 1
Modelos secuencial y paralelos
genotipo. En este trabajo se analiza el modelo de is-
0.98
las homogéneo, donde todas las islas ejecutan la mis-
0.96
ma configuración de un MOEA, el NSGA-II en este
0.94

Hipervolumen
caso. En esta clase de modelo paralelo, el proceso de
migración que permite el intercambio de individuos 0.92

entre islas es esencial. Dado que cada algoritmo evo- 0.9

lutivo podrı́a explorar regiones del espacio diferen- 0.88

tes, este mecanismo puede permitir enriquecer las 0.86 NSGAII sec
NSGAII par 2
soluciones locales de cada isla, pudiendo obtenerse a 0.84 NSGAII par 4
NSGAII par 8
la larga una mayor eficiencia en el esquema [40]. 0.82

Ası́, se han realizado ejecuciones usando el modelo 0.8


0 5000 10000 15000 20000 25000 30000
homogéneo con el algoritmo NSGA-II y los mismos Evaluaciones
parámetros aplicados en la ejecución secuencial, em-
Fig. 10. Evolución del hipervolumen
pleando dos, cuatro y ocho islas. Las migraciones
se realizan en cada generación bajo una probabili-
dad de 0.1, y en caso de realizarse se migrarán 4 das, utilizando estrategias evolutivas y paralelismo.
indivı́duos. En la Figura 10 se muestra el hipervolu- Los resultados demuestran el buen comportamien-
men [41] para cada una de las versiones. Los resul- to de la estrategia evolutiva ante este problema,
tados para las ejecuciones paralelas de dos islas con- obteniéndose mejores valores que los conocidos. Ade-
siguen mejorar los resultados secuenciales cuando va mas, gracias a las paralelizaciones del algoritmo evo-
aumentando el número de evaluaciones y, por tanto, lutivo se mejora el comportamiento del secuencial,
el tiempo. Sin embargo, las ejecuciones con cuatro y obteniendo soluciones de calidad en menor número
ocho islas no son capaces de mejorar la calidad de de evaluaciones y, por tanto, en menor tiempo. El
las soluciones secuenciales en el mismo número de modelo paralelo que ofrece mayor rendimiento es el
evaluaciones totales. Esto es debido a que cuantas que utiliza dos islas, dado que al aumentar el número
más islas se utilicen menor es el número de evalua- de islas el número evaluaciones se reparte entre más
ciones o generaciones que realiza cada una de ellas procesadores, de modo que cada isla puede avanzar
por separado, es decir, las mismas evaluaciones son menos en cada exploración.
repartidas entre más procesadores, con lo cual cada Existen muchos otros algoritmos evolutivos multi-
uno avanza menos en la exploración. Ası́, si se realiza objetivo que se pueden aplicar a este problema. En
un análisis en profundidad de cuántas evaluaciones este sentido, se podrı́an realizar pruebas con ellos y
en promedio necesita cada procesador para alcan- llevar a cabo una comparativa del comportamiento
zar un porcentaje del hipervolumen (Tabla III) se de dichos algoritmos. De este modo, existirı́a además
puede comprobar que cada procesador en las ejecu- la posibilidad de ejecutar diferentes modelos parale-
ciones paralelas lleva a cabo menos evaluaciones que los heterogéneos, de manera que cada isla ejecute un
el procesador en la ejecución secuencial. Además, se algoritmo distinto. Ası́ no solo se pretende ahorrar
observa que al aumentar la calidad de la solución tiempo a través de la distribución del esfuerzo com-
el número de evaluaciones que necesita cada proce- putacional, sino obtener los beneficios algorı́tmicos
sador va aumentando cada vez más. Dado que las derivados de la cooperación de varias poblaciones.
sincronizaciones de los modelos paralelos no conll- Por otra parte, dada la estructura del cromosoma
evan demasiado overhead, los tiempos de ejecución que se ha utilizado para representar a un individuo se
son proporcionales al número de evaluaciones ejecu- podrı́a realizar un estudio en profundidad sobre los
tadas por procesador. Por lo tanto, al disminuir el posibles operadores de mutación y crossover y ver su
número de evaluaciones realizadas por cada proce- influencia en las ejecuciones paralelas heterogéneas.
sador en las ejecuciones paralelas con respecto al se- Finalmente, se podrı́a llevar a cabo una evaluación
cuencial, disminuye el tiempo necesario para alcan- de los resultados que se pueden obtener aplicando
zar soluciones de una determinada calidad. las estrategias evolutivas multi-objetivo a otras ins-
tancias usadas con algoritmos mono-objetivo.
V. Conclusiones
Se ha abordado la resolución de una versión multi- Agradecimientos
objetivo del CLP aplicando el algoritmos evolutivo
NSGA-II y paralelizaciones. En la literatura sólo se Este trabajo ha sido financiado por el ec (feder)
conoce la referencia de un trabajo que lo aborda uti- y el Ministerio Español de Tenologı́a y Ciencia como
lizando un algoritmo de recocido simulado teniendo parte del ‘Plan Nacional de i+d+i’ (tin2008-06491-
en cuenta múltiples objetivos: la maximización del c04-02). El Gobierno de Canarias ha financiado tam-
volumen total a empaquetar y la maximización del bién este trabajo a través del proyecto de investi-
peso total empaquetado. Por ello este trabajo se ha gación pi2007/015. El trabajo de Jesica de Armas ha
centrado en tratar de mejorar las soluciones conoci- sido financiado por la beca fpu-ap2007-02414.
Referencias erational Research, vol. 126, no. 2, pp. 340–354, October
2000.
[1] F. Parreño, R. Alvarez-Valdes, J. F. Oliveira, and J. M.
[22] Z. Jin, K. Ohno, and J. Du, “An efficient approach for the
Tamarit, “Neighborhood structures for the container
three dimensional container packing problem with prac-
loading problem: a vns implementation,” Journal of
tical constraints,” Asia-Pacific Journal of Operational
Heuristics, vol. 16, pp. 1–22, February 2010.
Research, vol. 21, no. 3, pp. 279–295, 2004.
[2] Z. Wang, K. W. Li, and J. K. Levy, “A heuristic for the
[23] J.M. Liu, Z.R. Dong, and G.K. Ma, “Solving container
container loading problem: A tertiary-tree-based dynam-
loading based on tabu search algorithm,” Journal of
ic space decomposition approach,” European Journal of
Shenyang University of Technology, vol. 31, no. 2, pp.
Operational Research, vol. 191, no. 1, pp. 86–99, Novem-
212–216, 2009.
ber 2008.
[24] A. Bortfeldt and H. Gehring, “A hybrid genetic al-
[3] G. Wäscher, H. Haußner, and H. Schumann, “An im-
gorithm for the container loading problem,” European
proved typology of cutting and packing problems,” Eu-
Journal of Operational Research, vol. 131, no. 1, pp. 143–
ropean Journal of Operational Research, vol. 183, no. 3,
161, May 2001.
pp. 1109–1130, December 2007.
[25] T. Dereli and G. Sena Das, “A hybrid [‘]bee(s) algorithm’
[4] G. Scheithauer, “Algorithms for the Container Load-
for solving container loading problems,” Applied Soft
ing Problem,” in Operations Research Proceedings 1991.
Computing, vol. 11, no. 2, pp. 2854–2862, 2011.
1992, pp. 445–452, Springer-Verlag.
[26] J. Liu, Y. Yue, Z. Dong, C. Maple, and M. Keech, “A
[5] M. Hifi, “Exact algorithms for unconstrained three- novel hybrid tabu search approach to container loading,”
dimensional cutting problems: a comparative study,” Comput. Oper. Res., vol. 38, pp. 797–807, April 2011.
Computation and Operational Research, vol. 31, pp. 657– [27] A. Moura and J. F. Oliveira, “A GRASP Approach to the
674, April 2004. Container-Loading Problem,” IEEE Intelligent Systems,
[6] E. E. Bischoff, F. Janetz, and M. S. W. Ratcliff, “Loading vol. 20, no. 4, pp. 50–57, July 2005.
pallets with non-identical items,” European Journal of [28] H. Gehring and A. Bortfeldt, “A Parallel Genetic Algo-
Operational Research, vol. 84, no. 3, pp. 681–692, August rithm for Solving the Container Loading Problem,” In-
1995. ternational Transactions in Operational Research, vol.
[7] D. Pisinger, “Heuristics for the container loading prob- 9, no. 4, pp. 497–511, 2002.
lem,” European Journal of Operational Research, vol. [29] A. Bortfeldt, H. Gehring, and D. Mack, “A parallel
141, no. 2, pp. 382–392, 2002. tabu search algorithm for solving the container problem,”
[8] A. Bortfeldt and H. Gehring, “A tabu search algorithm Parallel Computing, vol. 29, pp. 641–662, 2003.
for weakly heterogeneous container loading problems,” [30] D. Mack, A. Bortfeldt, and H. Gehring, “A parallel
OR Spectrum, vol. 20, no. 4, pp. 237–250, December hybrid local search algorithm for the container loading
1998. problem,” International Transactions in Operational
[9] M. Eley, “Solving container loading problems by block Research, vol. 11, no. 5, pp. 511–533, 2004.
arrangement,” European Journal of Operational Re- [31] T. Dereli and G. Sena Das, “A Hybrid Simulated An-
search, vol. 141, no. 2, pp. 393–409, 2002. nealing Algorithm for Solving Multi-objective Container-
[10] H. Gehring and A. Bortfeldt, “A Genetic Algorithm for Loading Problems,” Applied Artificial Intelligence: An
Solving the Container Loading Problem,” International International Journal, vol. 24, no. 5, pp. 463–486, 2010.
Transactions in Operational Research, vol. 4, no. 5-6, pp. [32] J. de Armas, G. Miranda, C. Leon, and C. Segura, “Op-
401–418, 1997. timisation of a Multi-Objective Two-Dimensional Strip
[11] W. Huang and K. He, “A caving degree approach for the Packing Problem based on Evolutionary Algorithms,”
single container loading problem,” European Journal of International Journal of Production Research, vol. 48,
Operational Research, vol. 196, no. 1, pp. 93–101, 2009. no. 7, pp. 2011– 2028, 2009.
[12] X.Q. Ding, Y.S. Han, and X.L. Zhang, “A discussion [33] J. de Armas, G. Miranda, and C. León, “Two encod-
of adaptive genetic algorithm solving container-loading ing schemes for a multi-objective cutting stock problem,”
problem,” Periodical of Ocean University of China, vol. in 2011 IEEE Congress on Evolutionary Computation,
34, no. 5, pp. 844–848. New Orleans, LA, June 2011, pp. 27–109.
[13] H. Gehring, K. Menschner, and M. Meyer, “A computer- [34] A. E. Eiben, Handbook of Evolutionary Computation,
based heuristic for packing pooled shipment containers,” IOP Publishing Ltd. and Oxford University Press, 1998.
European Journal of Operational Research, vol. 44, no. [35] C. A. Coello, G. B. Lamont, and D. A. Van Veld-
2, pp. 277–288, 1990. huizen, Evolutionary Algorithms for Solving Multi-
[14] J. A. George and D.F. Robinson, “A heuristic for pack- Objective Problems, Genetic and Evolutionary Compu-
ing boxes into a container,” Computers and Operations tation. Springer, 2007.
Research, vol. 7, no. 3, pp. 147–156, 1980. [36] C. A. Coello, “An Updated Survey of Evolutionary Mul-
[15] K. He and W. Huang, “An efficient placement heuris- tiobjective Optimization Techniques: State of the Art
tic for three-dimensional rectangular packing,” Compu- and Future Trends,” in Proceedings of the Congress on
tation and Operational Research, vol. 38, pp. 227–233, Evolutionary Computation. 1999, vol. 1, pp. 3–13, IEEE
January 2011. Press.
[16] W. Zhou-jing and L. Kevin W., “Layer-layout-based [37] K. Deb, S. Agrawal, A. Pratab, and T. Meyarivan, “A
heuristics for loading homogeneous items into a single Fast Elitist Non-Dominated Sorting Genetic Algorithm
container,” Journal of Zhejiang University SCIENCE for Multi-Objective Optimization: NSGA-II,” in VI Con-
A, vol. 8, no. 12, 2007. ference on Parallel Problem Solving from Nature. 2000,
[17] D.Y. He, J.Z. Cha, and Y.D. Jiang, “Research on so- vol. 1917 of LNCS, pp. 849–858, Springer.
lution to complex container loading problem based on [38] C. León, G. Miranda, and C. Segura, “METCO: A Par-
genetic algorithm,” Journal of Software, vol. 12, no. 9, allel Plugin-Based Framework for Multi-Objective Op-
pp. 1380–1385, 2001. timization,” International Journal on Artificial Intelli-
[18] J.-L. Lin, B. Foote, S. Pulat, C.-H. Chang, and J.Y. Che- gence Tools, vol. 18, no. 4, pp. 569–588, 2009.
ung, “Hybrid genetic algorithm for container packing in [39] C.M. Fonseca and P. J. Fleming, “On the performance
three dimensions,” in Artificial Intelligence for Applica- assessment and comparison of stochastic multiobjective
tions, 1993. Proceedings., Ninth Conference on, March optimizers,” in Parallel Problem Solving from Nature.
1993, pp. 353–359. 1996, LNCS, pp. 584–593, Springer-Verlag.
[19] L. H. W. Yeung and W. K. S. Tang, “A hybrid genet- [40] D. A. Van Veldhuizen, J. B. Zydallis, and G. B. Lam-
ic approach for container loading in logistics industry,” ont, “Considerations in engineering parallel multiobjec-
IEEE Transactions on Industrial Electronics, vol. 52, no. tive evolutionary algorithms,” IEEE Transactions on
2, pp. 617–627, 2005. Evolutionary Computation, vol. 7, no. 2, pp. 144–173,
[20] M.J. Brusco, G.M. Thompson, and L.W. Jacobs, “A 2003.
morph-based simulated annealing heuristic for a modi- [41] E. Zitzler and L. Thiele, “Multiobjective Optimization
fied bin-packing problem,” Journal of the Operational Using Evolutionary Algorithms - A Comparative Case
Research Society, vol. 48, no. 4, pp. 433–439, April 1997. Study,” in Parallel Problem Solving from Nature. 1998,
[21] L. Faina, “A global optimization algorithm for the three- vol. 1498 of LNCS, pp. 292–301, Springer.
dimensional packing problem,” European Journal of Op-

You might also like