BÚSQUEDA DE SOLUCIONES EN EL PROBLEMA DEL PALÉ EN DOS DIMENSIONES APLICANDO TÉCNICAS DE OPTIMIZACIÓN COMBINATORIA BÚSQUEDA DE SOLUCIONES EN EL PROBLEMA DEL PALÉ EN DOS DIMENSIONES APLICANDO TÉCNICAS DE OPTIMIZACIÓN COMBINATORIA Moreno Soto, Francisco ([email protected]) Departamento de Matemáticas I.E.S.O “Cuatro de Abril” Zahinos (Badajoz) Resumen Muchos de los algoritmos de optimización combinatoria tienen su origen en la simulación de procesos que ocurren en la naturaleza. Éste es el caso del algoritmo de recocido simulado, algoritmo en el que se centrará este trabajo. Se trata de un algoritmo moderno de optimización global que surge a partir de la analogía con el proceso físico de recocido al que se someten los sólidos para obtener estados de mínima entropía. Este tipo de algoritmos permite atacar problemas como la búsqueda de soluciones óptimas en el “problema del palé”. Bajo este nombre se recogen problemas que surgen en situaciones muy diferentes: en procesos en los que se ha de cortar piezas de un material para luego componer un objeto, problemas de almacenamiento, problema de encaje de piezas en otra de dimensiones dadas, etc. En estos problemas se persiguen objetivos diferentes siendo el más común el de minimizar el espacio sobrante. En este trabajo se propone un algoritmo solución al citado problema basado en técnicas de optimización combinatoria. Palabras claves: Optimización combinatoria, algoritmo de recocido simulado, problema del palé. Clasificación JEL (Journal Economic Literature): C61, C62, C63 Área temática: Optimización. 1. INTRODUCCIÓN En los años 70 comienza la investigación en optimización combinatoria (Lin, 1973) y desde ese momento, un esfuerzo considerable ha sido dedicado a construir métodos para resolver analítica o aproximadamente problemas de este tipo. Posteriormente, el desarrollo de la teoría en Ciencias de la Computación dio como resultado la aparición de los problemas NPXIV Jornadas de ASEPUMA y II Encuentro Internacional 1 Francisco Moreno Soto completos demostrándose que muchos problemas de optimización combinatoria pertenecen a esta clase. Una consecuencia inmediata de las propiedades de la NP-completitud es que las soluciones óptimas no pueden ser obtenidas en una cantidad razonable de tiempo de computación. Sin embargo, en situaciones reales, se plantean problemas de optimización NPcompletos que deben resolverse para lo cual necesitamos un algoritmo apropiado. Se plantean dos opciones: (i) Intentar alcanzar la optimalidad, con el riesgo de emplear grandes cantidades de tiempo de computación (posiblemente esto sea impracticable), o bien, (ii) Obtener rápidamente soluciones, con el riesgo de obtener soluciones no óptimas. La primera opción constituye la clase de los denominados algoritmos de optimización mientras que la segunda constituye la de los algoritmos de aproximación. En todo caso sería deseable un algoritmo de aproximación de alta calidad, aplicable a una gran variedad de problemas de optimización combinatoria. El algoritmo de recocido simulado cumple estas condiciones; en esencia es un algoritmo estocástico que se comporta asintóticamente como un algoritmo de optimización, aunque en cualquier implementación práctica se comporta como un algoritmo de aproximación. 2. RECOCIDO SIMULADO En la década de los ochenta se introdujeron los conceptos de recocido aplicándolos a problemas de optimización combinatoria. El nombre surge de la analogía entre el proceso físico del recocido de sólidos y la tarea de resolver grandes problemas de optimización combinatoria 2.1 El algoritmo de recocido simulado Definición 1 [Transición]. Una transición es una acción combinada que da como resultado la transformación de la solución actual en la siguiente. La acción consta de dos pasos: (i) Aplicación del mecanismo de generación. (ii) Aplicación del criterio de aceptación. ■ Algoritmo.1 Sea ck el valor del parámetro control y sea Lk el número de transiciones generadas por la k-ésima iteración del algoritmo. Entonces el algoritmo de recocido simulado puede ser descrito en pseudo PASCAL así: procedimiento recocido simulado begin INITIALIZE (istart,c0,L0); k:=0; 1 Un estudio riguroso del algoritmose puede consultarse en el trabajo de investigación “Métodos de simulación en optimización: el algoritmo de recocido simulado” realizado por Francisco Moreno Soto y depositado en el Departamento de Matemáticas de la UEX 2 XIV Jornadas de ASEPUMA y II Encuentro Internacional BÚSQUEDA DE SOLUCIONES EN EL PROBLEMA DEL PALÉ EN DOS DIMENSIONES APLICANDO TÉCNICAS DE OPTIMIZACIÓN COMBINATORIA i:=istart; repeat for l:=1 to Lk do begin GENERATE (j ∈ Si); if f(j) ≤ f(i) then i:=j else exp( f (i ) − f ( j ) ) ck > random [0,1) then i:=j if end; k:=k+1 CALCULATE LONGITUD (Lk); CALCULATE CONTROL (ck); until criterio de parada end; 3. EL PROBLEMA DEL PALÉ 3.1 Descripción del problema El "problema del palé" surge en procesos en los que se ha de cortar piezas iguales de un material para luego componer un objeto. Algunas soluciones para este problema han sido propuestas utilizando distintas técnicas: programación entera (Beasley 1985), algoritmos recursivos (Herz 1972), heurísticas (Brischoff & Dowsland, 1982 y Hall Smith & De Cani, 1980). 3.2 Definición del problema Dado un rectángulo A de dimensiones L x W, y una pieza B de dimensiones m x n, averiguar el número máximo de piezas B que pueden incluirse en A sin superponerse y la colocación para obtener ese máximo Asumimos que: (i) L, W, m y n son números enteros, (ii) las piezas son cortadas de A por lo que sus lados son paralelos a los lados de A, (iii) la orientación de las piezas es fija, es decir, la pieza de largo m y ancho n es distinta de la pieza de largo n y ancho m (m≠n, n≤m). 3.3 Una posible solución del problema Como hemos comentado el “problema del palé” ha sido extensamente estudiado en la literatura; sin embargo, son pocas las referencias en el que dicho problema es abordado mediante métodos modernos de optimización estocástica: Parada & al., (1997), Locatelli, (2000), Young-Gun Gª & al., (2002). Presentamos una nueva propuesta, incluida una nueva cota superior más fina para el número óptimo de piezas. XIV Jornadas de ASEPUMA y II Encuentro Internacional 3 Francisco Moreno Soto Definición 2 [Patrón de corte] Llamamos patrón de corte a una combinación de las piezas con las siguientes propiedades: - Cada pieza está colocada con sus lados paralelos a los del rectángulo. - Cada pieza está descrita por una combinación entera/binaria de parámetros. - Las piezas no están solapadas, ni fuera de los márgenes del rectángulo. - Ninguna pieza se obtiene mediante corte de guillotina. - El número de piezas en cada patrón de corte está en el intervalo [0,cota superior] ■ De este modo, el “problema del palé”, está relacionado con el siguiente problema de optimización combinatoria: min f : S → R donde S es el conjunto de todos los posibles patrones de corte y f es la función que asigna a cada patrón de corte el área del material desperdiciado. 3.3.1 Cotas 1. Cálculo de una cota superior. Si denotamos por E a la parte entera de la división, el número óptimo estará acotado superiormente por: ⎛ área ⋅ rectángulo ⎞ ⎟⎟ (Hall Smith & De Cani, 1980) (3.1) ⎝ área ⋅ pieza ⎠ Cota superior = E ⎜⎜ Nuevas cotas Una mejora de la cota anterior es la siguiente: si llamamos largo’= max { i1m + j1n / i1m + j1n ≤ largo, i1 j1 ∈ N } y ancho’= max { i2 m + j2 n / i2 m + j2 n ≤ ancho, i2 j 2 ∈ N } tenemos que: ⎛ área ⋅ rectángulo ⋅ reducido ⎞ ⎟⎟ (Dowsland, 1985) área ⋅ pieza ⎝ ⎠ Cota superior = E ⎜⎜ área rectángulo reducido = largo’ • ancho (3.2) ‘ Ocurre que esta cota no supone ninguna mejora respecto a la primera en cuanto aumentan las dimensiones del rectángulo en proporción al tamaño de la pieza. Para conseguir una mejora real de (3.1), necesitamos contestar a: ¿de cuántas maneras se pueden colocar las piezas a lo largo de un lado del rectángulo? Como respuesta a esta pregunta presentamos una nueva cota Proposición 1 Sean k = m/n, L1 y L2 las dimensiones del rectángulo y supongamos que m≥n, L1=i1m+j1n, L2=i2m+j2n, i1, i2, j1, j2 ∈ N. Si llamamos L1' = i1' m + j1' n a una posible colocación a lo largo de L1 tendrán que cumplirse las siguientes inecuaciones: L1' ≤ L1 ,⋅i1' m + j1' n ≤ i1m + j1n,⋅i1' , j1' ∈ N ,⋅ 4 m ≥1 n XIV Jornadas de ASEPUMA y II Encuentro Internacional BÚSQUEDA DE SOLUCIONES EN EL PROBLEMA DEL PALÉ EN DOS DIMENSIONES APLICANDO TÉCNICAS DE OPTIMIZACIÓN COMBINATORIA De este modo es posible hallar todas las colocaciones a partir de un lado y conocer a partir de que valor k=m/n son válidas esas colocaciones. Bajo estas hipótesis, si llamamos f(k)= i1i2 k + j1 j 2 1 + i1 j 2 + i2 j1 , la expresión de la cota superior viene dada por k ⎡ T (k ) = E (min{ f (a ) a ∈ I }) con I = ⎢min i ,j ⎣ ´1 ´1 j1, − j1 j1, − j1 ⎤ , max ⎥ i1, − i1 i´1 , j´1 i1, − i1 ⎦ (3.3) es decir, es la parte entera del menor valor f(k) para el intervalo para el que pertenece k=m/n ▲ EJEMPLO 1 Sean L1=35, L2=26, m=10 y n=3. Entonces L1=2m+5n (i1=2, j1=5), L2=2m+2n (i2=2, j2=2) Las colocaciones a lo largo del lado de longitud L1 j1' =0 1 2 3 4 5 6 7 8 9 10 11 12 3 7/2 i1' =0 m j1' − 5 ≥ 2 n m 5 ≥− n 2 -2 -3/2 -1 -1/2 0 1/2 1 3/2 2 5/2 i1' =1 m j1' − 5 ≥ 1 n m ≥ −5 n -4 -3 -2 -1 0 1 2 3 4 5 1 1≤ m 5 − j1' ≤ 1 n m ≤5 n 4 3 2 1≤ m 5 − j1' ≤ 2 n m 5 ≤ n 2 2 3/2 1 m 5 − j1' 1≤ ≤ 3 n m 5 ≤ n 3 4/3 1 m 5 − j1' ≤ 4 n ' i1 =7 m 5 − j1' 1≤ ≤ 5 n m 5 ≤ n 4 m =1 n 1 i1' =3 i1' =4 i1' =5 i1' =6 1≤ El conjunto de puntos donde se producen los cambios (ordenados y a partir del 1) son: 1, 5/4, 4/3, 3/2, 5/3, 2, 5/2, 3, 7/2, 4, 9/2, 5, … Para un factor m 10 = = 3'3... las combinaciones posibles son: n 3 i1' = 0,⋅0 ≤ j1' ≤ 11 ║ i1' = 1,⋅0 ≤ j1' ≤ 8 ║ i1' = 2,⋅0 ≤ j1' ≤ 5 ║. i1' = 3,⋅0 ≤ j1' ≤ 1 Las colocaciones a lo largo del lado de longitud L2 son: j 2' = 0 1 XIV Jornadas de ASEPUMA y II Encuentro Internacional 2 3 4 5 6 7 8 9 10 5 Francisco Moreno Soto -1/2 0 1/2 1 -3/2 2 5/2 3 7/2 4 m m j 2' − 2 ≥ −1 ≥ n 2 n ' ' -1 0 1 2 3 4 5 6 7 8 m i2 =1 m j 2 − 2 ≥ −2 ≥ n 1 n ' ' 1 m i2 =3 m 2 − j2 ≤2 1≤ ≤ n 1 n ' ' m i2 =4 m 2 − j2 =1 1≤ ≤ n 2 n m 10 Para un factor = = 3'3... las combinaciones posibles son: n 3 i2' =0 i2' = 0,⋅0 ≤ j 2' ≤ 8 ║ i2' = 1,⋅0 ≤ j 2' ≤ 5 ║ i2' = 2,⋅0 ≤ j 2' ≤ 2 El conjunto de puntos donde se producen los cambios son: 1, 3/2, 2, 5/2, 3, 7/2, 4, 9/2, 5, … Vemos que en la coordenada L1 no hay ningún cambio (mismos patrones óptimos) en el intervalo (3,3’5). Lo mismo ocurre en la coordenada L2 Como f(k)= 4k + 10 + 14 es creciente y continua en (3,3’5), el mínimo se alcanza en 3 y por k tanto la nueva cota es: T (3'3) = E [ f (3)] = E [29'3] = 29 piezas Figura 1: Representación de f (k ) = 4k + 10 + 14 k Figura 2: T (k ) para f (k ) = 4k + 10 + 14 k Si comparamos este resultado T (3'3) = E [ f (3)] = E [29'3] = 29 piezas, con la cota Dowsland, ⎡ ⎛ 10 ⎞⎤ E ⎢ f ⎜ ⎟⎥ = E [30'3] = 30 piezas, tenemos que se ha producido una mejora de una unidad. ⎣ ⎝ 3 ⎠⎦ Comparación de cotas Consideremos una serie de instancias del “problema del palé”. Para ello formamos series en la que cada una se compone de 20.000 instancias, divididas en 20 intervalos en los que el número de piezas que caben en la superficie original aumenta de 10 en 10. El área del rectángulo se limitó a 300.000 unidades cuadradas. 6 XIV Jornadas de ASEPUMA y II Encuentro Internacional BÚSQUEDA DE SOLUCIONES EN EL PROBLEMA DEL PALÉ EN DOS DIMENSIONES APLICANDO TÉCNICAS DE OPTIMIZACIÓN COMBINATORIA Factor forma rectángulo Factor forma pieza % mejoradas [1,2] [1,2] 35.20% [1,2] [5,10] 45.40% [5,10] [1,2] 9.47% [5,10] [5,10] 11.47% [1,5] [1,5] 23.58% Resultados: - Si los lados del rectángulo contenedor son de dimensiones parecidas se obtiene mayor ventaja en al utilización de la nueva cota sobre la Dowsland -Si las longitudes de los lados tienden a hacerse diferentes, las dos cotas tienden a igualarse. - El factor de forma de la pieza no tiene influencia en los resultados Ahora vamos a comprobar la influencia del número de piezas en la mejora de la estimación Figura 3: Mejora de la estimación respecto al número de piezas Número de casos: 200.000 Número de casos mejorados: 45100 (22’50%) Resultados: - Poca mejora en casos con pocas piezas - A partir de 40 el número de piezas no influye en la mejora de la estimación de Dowsland 2. Cálculo de una cota inferior. (i) Si uno de los lados del rectángulo es menor que el ancho n de la pieza, o los dos lados son menores que el largo de la pieza, no se puede colocar ninguna. (ii) Si un lado del rectángulo es mayor que el largo de la pieza y el otro es mayor que el ancho, por lo menos cabe una pieza. Si además la cota superior es 1, el óptimo también será 1. (iii) Una cota inferior viene dada por: ⎛ ⎛ L ⎞ ⎛ W ⎞ ⎛ L ⎞ ⎛ W ⎞⎞ max⎜⎜ E ⎜ ⎟ xE ⎜ ⎟, E ⎜ ⎟ xE ⎜ ⎟ ⎟⎟ ⎝ ⎝ m ⎠ ⎝ n ⎠ ⎝ n ⎠ ⎝ m ⎠⎠ 3.3.2. Algoritmo Para encontrar soluciones en el “Problema del palé” mediante la aplicación del algoritmo de recocido simulado actuamos así: XIV Jornadas de ASEPUMA y II Encuentro Internacional 7 Francisco Moreno Soto (1) Cálculo de cotas Calculamos las cotas superior e inferior para la instancia del problema en cuestión utilizando los argumentos expuestos anteriormente. Sea l la cota inferior y U la cota superior. (2) Sistema de referencia Situamos un sistema de referencia cartesiano en el rectángulo original A, en el que la esquina inferior izquierda del rectángulo es el origen de coordenadas y cada lado de la pieza es paralelo a los ejes del sistema de referencia. (3) Representación del problema (i) Espacio de soluciones. Está constituido por todos los patrones de corte. Denotamos por (L0,W0) a las dimensiones del rectángulo A (longitud L0 y anchura W0), y (Li,Wi) a las de las piezas B (longitud Li y anchura Wi, i=1,2, L1=W2 y W1=L2) . Proponemos la siguiente codificación de las soluciones: ( ) Cada pieza está representada por una terna zip , xip , yip con ⎧1 ⋅ si ⋅ la ⋅ p − ésima ⋅ copia ⋅ ( p = 1,..., Qi ) ⋅ de ⋅ la ⋅ pieza ⋅ i ⋅ es ⋅ cortada ⋅ de ⋅ (L0 , W0 ) zip = ⎨ ⎩0 ⋅ en ⋅ otro ⋅ caso donde la posición de cualquier pieza cortada toma como referencia el centro de la pieza xip = la coordenada x del centro de la pésima copia de la pieza i yip = la coordenada y del centro de la pésima copia de la pieza i Estos centros de coordenadas están limitados por: Li/2≤ xip ≤L0-Li/2 Wi/2≤ yip ≤W0-Wi/2 i= 1, 2; p=1,…, Qi i= 1, 2; p=1,…, Qi verificando que el número de piezas cortadas debe encontrarse entre Pi y Qi (0≤Pi≤Qi) con Pi=0, ( { Qi≤ T (k ) = E min f (a ) a ∈ I }) ( ) De esta forma cada solución está representada por un conjunto de 2U ternas zip , xip , yip en las que a lo sumo para un número U de ellas ocurre zip =1. EJEMPLO 2 Veamos un ejemplo con sólo dos copias de cada tipo de pieza: Pieza (i) 1 Copia (p) 1 1 zip 1 2 0 2 1 1 2 2 0 2.27 4.56 xip 6.38 3.34 yip 8.04 32.34 32.27 4.56 (ii) Función objetivo o función de costo. 8 XIV Jornadas de ASEPUMA y II Encuentro Internacional BÚSQUEDA DE SOLUCIONES EN EL PROBLEMA DEL PALÉ EN DOS DIMENSIONES APLICANDO TÉCNICAS DE OPTIMIZACIÓN COMBINATORIA Se define como la diferencia entre el área total y el área ocupado por las piezas extraídas. 2 Qi W0 L0 − ∑∑ zipWi Li i =1 p =1 siendo el objetivo el de minimizar la diferencia anterior. Definición 3 [Conveniencia y no conveniencia]. Dada una solución del problema del palé en la forma anterior, llamamos conveniencia (C) al valor de la función objetivo y llamamos no conveniencia (NC) a una medida de la violación de la restricción de solapamiento. ■ Proposición 2 Una medida de la violación de la restricción de solapamiento está dada por: ∑∑∑∑ max[0,− max[ x 2 2 Qi Qj ip i =1 j =1 p =1 q =1 ] − x jq − α ij , yip − y jp − β ij zip z jq ] (i≠j o p≠q) donde α ij =(Li+Lj)/2 y β ij =(Wi+Wj)/2 ▲ (4) Mecanismo de transición El mecanismo de aceptación coincide con el descrito en el algoritmo de recocido simulado por lo que solo describiremos el mecanismo de generación de soluciones factibles a partir de una. Mecanismo de generación (i) Generación de una solución inicial Para construir un patrón de corte factible actuamos así: elegimos aleatoriamente una pieza del tipo 1 ó 2 y la colocamos con la esquina inferior izquierda en el origen de coordenadas. Se elige otra pieza entre las de tipo 1 ó 2 y la colocamos adyacente a la primera. Seguimos de esta manera hasta formar un patrón de corte inicial factible. Ahora basta calcular los centros de las piezas que forman esta solución inicial y ya tenemos la codificación de la solución. Esta solución se guarda en una lista LT que tendrá una capacidad limitada (hasta 10 soluciones factibles) (ii) Generación de soluciones factibles Para obtener nuevas soluciones a partir de la solución factible actual, generamos aleatoriamente una solución y la cruzamos con la actual. Para ello utilizamos un cruzamiento uniforme en el que se considera cada copia de cada pieza y se eligen valores de una solución u otra al azar. EJEMPLO 3. Consideremos un caso en el que sólo puede haber dos copias de cada tipo de pieza Solución 1 Pieza (i) 1 Copia (p) 1 1 zip 1 2 0 Solución 2 2 1 1 2 2 0 Pieza (i) 1 Copia (p) 1 0 zip 2.27 1 2 1 2 1 1 2 2 1 xip 6.38 3.34 4.56 xip 1.38 18.34 3.27 yip 8.04 32.34 32.27 4.56 yip 8.24 15.34 30.27 24.56 XIV Jornadas de ASEPUMA y II Encuentro Internacional 36.56 9 Francisco Moreno Soto Nuestra elección aleatoria es Pieza 1 copia 1 – solución 1 Pieza 1 copia 2 – solución 2 Pieza 2 copia 1 – solución 2 Pieza 2 copia 2 – solución 1 Entonces la nueva solución viene dada por Pieza (i) 1 Copia (p) 1 1 zip 1 2 1 2 1 1 2 2 0 xip 6.38 18.34 3.27 4.56 yip 8.04 15.34 30.27 4.56 De este modo obtenemos una nueva solución para la que calculo el par (NC, C). Entonces: a) Si NC=0, ocurre que la solución es factible. En este caso consideramos un patrón de corte equivalente a éste en el que todas las piezas estén tocándose y lo más agrupadas posible en torno a la esquina inferior izquierda del rectángulo A. Con el valor de C asociado a esa solución aplicamos el mecanismo de aceptación. Esta solución pasa a formar parte de la lista LT. b) Si NC>0 la solución obtenida no es factible y en ese caso aplicamos: Heurística para conseguir soluciones factibles De la solución no factible tomamos cada copia de cada pieza con zip=1 y hacemos los siguientes movimientos: xip = xip − 1 movimiento a la izquierda yip = yip − 1 movimiento hacia abajo xip = xip + 1 movimiento a la derecha yip = yip + 1 movimiento hacia arriba Los dos primeros movimientos se ejecutan si reducen o dejan invariable el valor de NC. Los dos últimos se ejecutan sólo si reducen el valor de NC. Estos movimientos se repiten para cada pieza hasta que sea imposible mejorar el valor de NC. Después de este procedimiento de mejora pueden ocurrir dos casos: a) NC=0 y las piezas están pegadas a la izquierda y abajo. En este caso, esta nueva solución podía mejorar la mejor solución factible previamente encontrada. Si es así, esta pasa a ser la solución actual. A continuación examinamos la nueva solución para ver si ésta puede ser de nueva mejorada cortando de cualquier “espacio vacío” piezas que actualmente no están cortadas. b) NC>0. En este caso: consideremos un sistema de referencia cartesiano en el que en el eje de abcisas representamos la no conveniencia y en el de ordenadas, la conveniencia. En este sistema representamos: (i) El par (NC,C) correspondiente a la nueva solución (NC>0) (ii) Los pares (NC,C) correspondientes a las soluciones obtenidas hasta ese momento (factibles o no, que están recogidas en LT) 10 XIV Jornadas de ASEPUMA y II Encuentro Internacional BÚSQUEDA DE SOLUCIONES EN EL PROBLEMA DEL PALÉ EN DOS DIMENSIONES APLICANDO TÉCNICAS DE OPTIMIZACIÓN COMBINATORIA Figura 4: Ejemplo de la división del espacio de soluciones en cuatro grupos A la vista del gráfico, podemos afirmar que la solución ha dividido el conjunto de las soluciones en cuatro grupos G1, G2, G3, G4 que se corresponden con los cuatro cuadrantes creados por las líneas horizontal y vertical trazadas a través de la nueva solución. Entonces ocurre que: 1. La nueva solución es mejor que cualquiera de las de G1 puesto que esta últimas son más infactibles (mayor valor de la no conveniencia) y peor en términos de la función objetivo. 2. La nueva solución es peor que cualquiera de las de G4 pues éstas tienen un valor menor de NC y mayor de C que la solución actual 3. La nueva solución es mejor con respecto a una medida y peor con respecto a la otra que cualquier miembro de G2 o G3 En este caso el procedimiento para encontrar una solución factible pasa por: (1) Cambio la solución por una elegida aleatoriamente de G4 (2) Si G4 está vacío el cambio lo realizo por una de G3 Nota: G4 o G3 es no vacío puesto que al menos tenemos la solución inicial que construimos factible. A la nueva solución puede ocurrirle que: a) NC=0, con las piezas agrupadas en al esquina inferior izquierda del rectángulo A. Ahora comenzaremos de nuevo el procedimiento cruzando esta solución con otra elegida al azar. b) NC>0 aunque con menos valor de NC. En este caso repetimos la heurística descrita. CONCLUSIONES (1) Hemos desarrollado un algoritmo de recocido simulado para encontrar soluciones al problema del palé. (2) El algoritmo puede considerarse un híbrido ya que utiliza ideas de los algoritmos genéticos, para obtener una nueva solución. (3) El algoritmo se encuentra en este momento en el banco de pruebas XIV Jornadas de ASEPUMA y II Encuentro Internacional 11 Francisco Moreno Soto 4. REFERENCIAS BIBLIOGRÁFICAS • BEASLEY, J. E. (1985): “An exact two-dimensional non-guillotine cutting. Tree search procedure” Operation Research, 33, 49-64 • BRISCHOFF, E. & DOWSLAND, W.B. (1982): “An aplication of the micro to product design and distribution”. Journal of Operation Research Society, 33, 271-280 • DOWSLAND, K.A. (1985) “Determining an upper bound for a class of rectangular packing problem. Computers” Operation Research , 12, pp. 201-205. • HALL SMITH , A. AND DE CANI, P. (1980) An algorithm to optimize the layout of boxes in pallets. Journal of Operation Research Society , 31, pp. 573-578. • HERZ, J.C. (1972) A recursive computing procedure for two-dimensional stock cutting I.B.M. J1. Res. Dev , 16, pp. 462-469. • LOCATELLI, M. (2000) “Simulated Annealing algorithms for continuous global optimization: Convergence conditions” Journal of Optimization Theory and Applications 104, pp. 121-133. • PARADA, V. SÉPULVEDA, M. SOLAR, M. (1998) “Solution for the constrained guillotine cutting problem by simulated annealing” . Computers Operations Research, 25 I, pp. 37-47. • YOUNG-GUN G, YOUNG-JO SEONG MAING-KYU KANG (2003). “A best-first branch and bound algorithm for unconstrained two-dimensional cutting problems”.Operations Research Letters. Elsevier Sience B.V. 12 XIV Jornadas de ASEPUMA y II Encuentro Internacional