Professional Documents
Culture Documents
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
7180
orientaciones de las cajas. Por ello y dado que algu-
nas de ellas contienen lı́quidos, se ha supuesto que 7170
TABLA II
Comparativa de objetivos
TABLA III
Número de evaluaciones y tiempo por porcentaje de hipervolumen
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
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