<?xml version="1.0" encoding="ISO-8859-1"?><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<front>
<journal-meta>
<journal-id>0120-6230</journal-id>
<journal-title><![CDATA[Revista Facultad de Ingeniería Universidad de Antioquia]]></journal-title>
<abbrev-journal-title><![CDATA[Rev.fac.ing.univ. Antioquia]]></abbrev-journal-title>
<issn>0120-6230</issn>
<publisher>
<publisher-name><![CDATA[Facultad de Ingeniería, Universidad de Antioquia]]></publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id>S0120-62302008000400012</article-id>
<title-group>
<article-title xml:lang="es"><![CDATA[Solución al problema de empaquetamiento bidimensional usando un algoritmo híbrido constructivo de búsqueda en vecindad variable y recocido simulado]]></article-title>
<article-title xml:lang="en"><![CDATA[Two dimensional packing problem using a hybrid constructive algorithm of variable neighborhood search and simulated annealing]]></article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Toro]]></surname>
<given-names><![CDATA[Eliana Mirledy]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Garcés]]></surname>
<given-names><![CDATA[Alejandro]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Ruiz]]></surname>
<given-names><![CDATA[Hugo]]></given-names>
</name>
<xref ref-type="aff" rid="A02"/>
</contrib>
</contrib-group>
<aff id="A01">
<institution><![CDATA[,Universidad Tecnológica de Pereira Facultad de Ingeniería Industrial ]]></institution>
<addr-line><![CDATA[Risaralda ]]></addr-line>
<country>Colombia</country>
</aff>
<aff id="A02">
<institution><![CDATA[,Universidad Tecnológica de Pereira Programa de Ingeniería Eléctrica ]]></institution>
<addr-line><![CDATA[ ]]></addr-line>
</aff>
<pub-date pub-type="pub">
<day>00</day>
<month>12</month>
<year>2008</year>
</pub-date>
<pub-date pub-type="epub">
<day>00</day>
<month>12</month>
<year>2008</year>
</pub-date>
<numero>46</numero>
<fpage>119</fpage>
<lpage>131</lpage>
<copyright-statement/>
<copyright-year/>
<self-uri xlink:href="http://www.scielo.org.co/scielo.php?script=sci_arttext&amp;pid=S0120-62302008000400012&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://www.scielo.org.co/scielo.php?script=sci_abstract&amp;pid=S0120-62302008000400012&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://www.scielo.org.co/scielo.php?script=sci_pdf&amp;pid=S0120-62302008000400012&amp;lng=en&amp;nrm=iso"></self-uri><abstract abstract-type="short" xml:lang="es"><p><![CDATA[En este trabajo, se modela el empaquetamiento de rectángulos con base en divisiones del área disponible, se utiliza una codificación de árbol binario para disponer las piezas de forma que se garantice el corte de tipo guillotina y se propone un algoritmo dividido en tres etapas que trabajan con estrategias individuales inspiradas en algoritmos de vecindad variable, recocido simulado y técnicas constructivas para lograr la solución del problema. Se comparan las respuestas obtenidas con base en la función objetivo que cuantifica el área utilizada y el porcentaje de utilización del material disponible para cincuenta casos de prueba de la literatura especializada frente a sus respectivas respuestas reportadas obteniéndose excelentes resultados]]></p></abstract>
<abstract abstract-type="short" xml:lang="en"><p><![CDATA[In this work, the packing of rectangles is modeled based on divisions of the available area, a binary tree codification is used to arrange the pieces so that the guillotines type cutting is guaranteed. A three stages algorithm with individual strategies inspired by algorithms of variable neighborhood search simulated annealing and constructive techniques are used to obtain the solution of the problem. The results obtained are compared using the objective function and percentage used of available area with fifty test cases of the specialized literature and their respective wellknown answer with excellent results.]]></p></abstract>
<kwd-group>
<kwd lng="es"><![CDATA[empaquetamiento bidimensional]]></kwd>
<kwd lng="es"><![CDATA[vecindad variable]]></kwd>
<kwd lng="en"><![CDATA[Guillotine]]></kwd>
<kwd lng="en"><![CDATA[twodimensional cutting]]></kwd>
<kwd lng="en"><![CDATA[variable neighborhood search]]></kwd>
<kwd lng="en"><![CDATA[optimization]]></kwd>
</kwd-group>
</article-meta>
</front><body><![CDATA[ <p align="center"><font face="Verdana" size="4"> <b>Solución al problema de empaquetamiento bidimensional usando un algoritmo híbrido constructivo de búsqueda en vecindad variable y recocido simulado</b></font></p>      <p align="center"><font face="Verdana" size="4"> <b>Two dimensional packing problem using a hybrid constructive algorithm of variable neighborhood search and simulated annealing</b></font></p>      <p> <font face="Verdana" size="2"><i>Eliana Mirledy Toro<sup>1</sup>, Alejandro Garcés<sup>1</sup> , Hugo Ruiz<sup>2</sup></i></font></p>     <p> <font face="Verdana" size="2"><sup>1</sup>Facultad de Ingeniería Industrial, Universidad Tecnológica de Pereira, Apartado Aéreo 097, Risaralda, Colombia</font></p>     <p> <font face="Verdana" size="2"><sup>2</sup>Programa de Ingeniería Eléctrica, Universidad Tecnológica de Pereira, Apartado Aéreo 097, Risaralda, Colombia.</font></p>     <p><font face="Verdana" size="2">&nbsp;</font></p> <hr noshade size="1">     <p><font face="Verdana" size="3"> <b>Resumen</b></font></p>     <p> <font face="Verdana" size="2">En este trabajo, se modela el empaquetamiento de rectángulos con base en divisiones del área disponible, se utiliza una codificación de árbol binario para disponer las piezas de forma que se garantice el corte de tipo guillotina y se propone un algoritmo dividido en tres etapas que trabajan con estrategias individuales inspiradas en algoritmos de vecindad variable, recocido simulado y técnicas constructivas para lograr la solución del problema. Se comparan las respuestas obtenidas con base en la función objetivo que cuantifica el área utilizada y el porcentaje de utilización del material disponible para cincuenta casos de prueba de la literatura especializada frente a sus respectivas respuestas reportadas obteniéndose excelentes resultados</font></p>     <p> <font face="Verdana" size="2"><b>Palabras clave:</b> empaquetamiento bidimensional, vecindad variable.</font></p>     <p><font face="Verdana" size="2">&nbsp;</font></p> <hr noshade size="1">     ]]></body>
<body><![CDATA[<p> <font face="Verdana" size="3"><b>Abstract</b></font></p>     <p> <font face="Verdana" size="2">In this work, the packing of rectangles is modeled based on divisions of the available area, a binary tree codification is used to arrange the pieces so that the guillotines type cutting is guaranteed. A three stages algorithm with individual strategies inspired by algorithms of variable neighborhood search simulated annealing and constructive techniques are used to obtain the solution of the problem. The results obtained are compared using the objective function and percentage used of available area with fifty test cases of the specialized literature and their respective wellknown answer with excellent results.</font></p>     <p> <font face="Verdana" size="2"><b> Keywords:</b> Guillotine, twodimensional cutting, variable neighborhood search, optimization.</font></p>      <p><font face="Verdana" size="2">&nbsp;</font></p> <hr noshade size="1">     <p> <font face="Verdana" size="3"><b>Introducción</b></font></p>     <p> <font face="Verdana" size="2">Los problemas de corte y empaquetamiento pertenecen a la categoría de problemas de optimización combinatoria denominados Np completos debido a que el espacio de soluciones crece de forma exponencial de acuerdo al número de piezas a ser ubicadas. Si por ejemplo se tienen n piezas a ser ubicadas, entonces el espacio de soluciones estará dado por 2<sup>n *</sup>n! [1]. Este tipo de problema es fácil de definir intuitivamente aunque no son fáciles de modelar formalmente y presentan grados de dificultad que hacen difícil el manejo computacional. En ellos se tiene un conjunto de piezas de diferentes tamaños y formas que deben ser localizadas sobre un tablero de material de mayor tamaño sin superponerse unas sobre otras. El objetivo de tal disposición es maximizar el área utilizada de forma que se generen la menor cantidad de área desperdiciada. Existen diferentes criterios para clasificar los problemas de empaquetado, como son el tamaño y la cantidad de las piezas, las dimensiones del problema, etc. </font></p>      <p> <font face="Verdana" size="2">Un caso particular de esta familia de problemas, lo constituye el problema de corte de piezas rectangulares desde tableros también rectangulares con el fin de satisfacer una demanda predefinida y determinada con base en las solicitudes de los clientes. Además, todos los cortes deben ser de tipo guillotina, es decir, cortando el tablero o parte de él ortogonalmente de lado a lado se obtiene una pieza o un conjunto de piezas. Se exige además, que el número de veces que una determinada pieza sea cortada desde la placa no supere un valor preestablecido. Los problemas de empaquetado tienen una amplia aplicación en distintas facetas industriales: textil, cristal, piel, madera, entre otras. Sin embargo, diferentes inconvenientes particulares a cada problema determinan la disposición de las piezas sobre el patrón. Entre estos inconvenientes se pueden destacar las propiedades del material del patrón (falta de uniformidad en el color, calidad, textura), la tecnología de corte (que obliga a que exista una determinada distancia entre las piezas).</font></p>      <p> <font face="Verdana" size="2">Para resolver este problema la mayor parte de procedimientos reportados en la literatura se basan en técnicas metaheurísticas. En 1977 Christofides y Withlock [2], propusieron un algoritmo exacto de búsqueda en árbol para resolverlo, utilizando para ello el algoritmo previamente propuesto en 1966 por Gilmore y Gomory [3] quienes resuelven un problema de características similares. Por otro lado en 1983 Wang [4], propone un algoritmo de desarrollo incremental del patrón solución. Tal algoritmo es posteriormente mejorado en los trabajos de Vasko en 1989 [5] y Oliveira y Ferreira en 1990[6]. En 1997, Lai y Chan [7] presentan un procedimiento basado en simulated annealing.</font></p>       <p> <font face="Verdana" size="2">En 1998 Parada [8] presenta la solución del problema mediante el simulated annealing usando una codificación de árbol binario. En 2001, Leung [9] utiliza un algoritmo evolutivo, en el que usan la representación de las soluciones de Lai y Chan . En 2003 Beasley [10] presenta un algoritmo genético para el caso general. El algoritmo está basado en una nueva formulación no lineal para el problema. La formulación también admite extensiones para el problema con más de un tablero, el problema con algunas zonas del tablero que no se pueden utilizar y el problema donde las piezas se pueden rotar.</font></p>      <p> <font face="Verdana" size="2">En 2007 Yaodong Cui [11] presenta un algoritmo exacto que genera cortes homogéneos en dos segmentos de los que publica las características de los casos de prueba y las respuestas obtenidas.</font></p>      ]]></body>
<body><![CDATA[<p> <font face="Verdana" size="2">En este trabajo se presenta una propuesta que emplea la codificación de árbol binario y un algoritmo dividido en tres etapas que trabajan con estrategias individuales inspiradas en algoritmos de vecindad variable [12], recocido simulado [13] y técnicas constructivas para lograr la solución del problema, para evaluar la eficiencia de la técnica de solución propuesta se utilizan los casos de prueba usados en la referencia [11]. </font></p>     <p> <font face="Verdana" size="2"><b>Problema de Corte Bidimensional Tipo Guillotina</b></font></p>     <p> <font face="Verdana" size="2">El problema de corte de piezas bidimensional restricto para cortes guillotinados consiste en la obtención de un patrón de cortes del tipo guillotina, para una lámina o tablero rectangular, desde donde se desea obtener un conjunto determinado de piezas rectangulares más pequeñas bajo una demanda establecida, con el propósito de minimizar la pérdida de material cortado o maximizar el área utilizada.</font></p>      <p> <font face="Verdana" size="2"><b>Definición del problema</b></font></p>     <p> <font face="Verdana" size="2">Dado un número finito n de piezas rectangulares de área <i>A<sub>i</sub>=x<sub>i</sub>Ay<sub>i</sub></i> que deben ser ubicadas en un tablero igualmente rectangular de área <i>A<sub>T</sub>=x<sub>T</sub>Ay<sub>T.</sub></i>El problema se define como restringido cuando se limita el número máximo de piezas (D) a ubicar de cada tipo. No es necesario que todas las piezas sean ubicadas en el tablero. La función objetivo consiste en maximizar el área efectiva utilizada en el tablero principal. Una variante al problema considera la rotación de piezas, aspecto que no será considerado en este trabajo.</font></p>     <p> <font face="Verdana" size="2">El modelo propuesto divide el tablero principal en subespacios (S) asegurando que en cada subespacio se ubiquen piezas de un mismo tipo formando una matriz rectangular de piezas como se muestra en la <a href="#Figura1">figura 1(a)</a>.</font></p>      <p> <font face="Verdana" size="2">Adicional a esto, los subespacios deben ser seleccionados de tal forma que el corte sea tipo guillotina. Un corte es factible de tipo guillotina si cuando al ser aplicado sobre un rectángulo produce dos nuevos rectángulos, es decir, si el corte va de un extremo a otro del rectángulo original; en otro caso se denomina de tipo no guillotina [3].</font></p>     <p> <font face="Verdana" size="2">En cada subespacio generado por los cortes tipo guillotina debe ser ubicada la mayor cantidad de piezas del mismo tipo de tal forma que el desperdicio total sea minimizado, un forma de lograrlo consiste en ubicar piezas del mismo tipo en un arreglo matricial como se muestra en la <a href="#Figura1">figura 1(b)</a>. Un arreglo de estas características puede ser generado por una secuencia de cortes guillotina aún en los casos en donde la demanda restrinja posiciones nulas (espacio sin utilizar).</font></p>        <p align="center"><font face="Verdana" size="2"><img src="/img/revistas/rfiua/n46/n46a12i01.gif" ><a name="Figura1"></a></p>     <p> <font face="Verdana" size="2"><b>Figura 1</b> Generación de subespacios</font></p>     ]]></body>
<body><![CDATA[<p> <font face="Verdana" size="2">Cuando se resuelve un problema de tipo no guillotina el valor de la función objetivo considerada como el máximo de área utilizada será mayor que si se resuelve el problema donde se consideren los cortes de tipo guillotina, esta restricción hace más complejo el modelo matemático y la solución del mismo. El problema del corte de piezas ha sido ampliamente estudiado, debido a la variedad de aplicaciones prácticas en el ámbito de la Ingeniería y muchas de ellas requieren que los cortes sean de tipo guillotina. </font></p>      <p> <font face="Verdana" size="2"><b>Modelo matemático</b></font></p>     <p> <font face="Verdana" size="2"> El problema propuesto puede ser modelado matemáticamente de la siguiente forma:</font></p>      <p> <font face="Verdana" size="2"> <font face="Verdana" size="2"><img src="/img/revistas/rfiua/n46/n46a12i02.gif" ><a name="Ecuación1"></a></p>     <p> <font face="Verdana" size="2">Sujeto a: </font></p>     <p> <font face="Verdana" size="2"><img src="/img/revistas/rfiua/n46/n46a12i03.gif" ><a name="Ecuación2,3,4,5,6,7,8y9"></a></p>     <p> <font face="Verdana" size="2">En donde</font></p>     <p> <font face="Verdana" size="2"><i>f</i> : función objetivo : maximizar el área total utilizada.</font></p>     <p> <font face="Verdana" size="2"><i>A<sub>i</sub></i> : área de cada una de las posibles piezas.</font></p>     <p> <font face="Verdana" size="2"><i>xi</i> : ancho de la pieza i</font></p>     ]]></body>
<body><![CDATA[<p> <font face="Verdana" size="2"><i>yi</i> : alto de la pieza i </font></p>     <p> <font face="Verdana" size="2"><i>U<sub>ki</sub></i> : número de piezas del tipo i colocadas en el sub espacio k horizontalmente</font></p>     <p> <font face="Verdana" size="2"><i>V<sub>ki</sub></i>: número de piezas del tipo i colocadas en el sub espacio k verticalmente</font></p>     <p> <font face="Verdana" size="2"><i>Ns</i> : número de subespacios. (Ec. 9)</font></p>     <p> <font face="Verdana" size="2">N : números naturales (enteros positivos).</font></p>     <p> <font face="Verdana" size="2"><i>n</i>: número de tipos de piezas.</font></p>     <p> <font face="Verdana" size="2"><i>D<sub>i</sub> </i>: demanda por cada tipo de pieza.</font></p>     <p> <font face="Verdana" size="2"><i>X<sub>k</sub></i> : ancho del subespacio.</font></p>      <p> <font face="Verdana" size="2"><i>Y<sub>k</sub></i>: altura del subespacio.</font></p>      <p> <font face="Verdana" size="2">El producto U<sub>ki</sub> . V<sub>ki</sub> corresponde al número de piezas totales del tipo i localizadas en el subespacio <i>k</i>, mientras que el número de piezas ubicadas debe ser un número natural tal como se muestra en la <a href="#Ecuación2,3,4,5,6,7,8y9">Ec.(2)</a>. El total el número de elemento de cada tipo debe ser inferior a la demanda del mismo <a href="#Ecuación2,3,4,5,6,7,8y9">Ec.(3)</a> y en cada subespacio los elementos ubicados en forma de arreglo matricial deben ser factibles lo cual significa que el número de elementos horizontales multiplicados por la longitud de cada elemento debe ser menor a la longitud del subespacio (X<sub>k</sub> ) como se muestra en la <a href="#Ecuación2,3,4,5,6,7,8y9">Ec.(4)</a> y análogamente en la <a href="#Ecuación2,3,4,5,6,7,8y9">Ec.(5)</a> para el caso vertical.</font></p>      ]]></body>
<body><![CDATA[<p> <font face="Verdana" size="2">Para asegurar que las piezas ubicadas en cada subespacio sean del mismo tipo se plantean las <a href="#Ecuación2,3,4,5,6,7,8y9">Ecs. (6) y (7)</a>. Esa restricción además de permitir el desarrollo de un constructivo eficiente, garantiza que los cortes en los subespacios sigan siendo de tipo guillotina. Así mismo, la <a href="#Ecuación2,3,4,5,6,7,8y9">Ec.(8) </a>indica que el corte debe ser tipo guillotina. La <a href="#Ecuación2,3,4,5,6,7,8y9">Ec.(8)</a> es la restricción de mayor dificultad a ser modelada matemáticamente por tanto se propone un tipo de codificación que garantice su cumplimiento como se muestra a continuación.</font></p>      <p> <font face="Verdana" size="2"><b>Codificación</b></font></p>     <p> <font face="Verdana" size="2">Para asegurar que los subespacios creados presenten cortes de tipo guillotina se define una codificación de árbol binario complementario el cual además permite un manejo eficiente de la información al utilizar un reducido número de variables para representar una solución.</font></p>     <p> <font face="Verdana" size="2">El número de capas(<i>c</i>) es definido de forma aleatoria y determina el número de variables en la codificación así como el número de subespacios (<i>S</i>) creados. El número de cortes (p) está dado por la <a href="#Ecuación10">Ec. 10</a>:</font></p>       <p> <font face="Verdana" size="2"><img src="/img/revistas/rfiua/n46/n46a12i04.gif" ><a name="Ecuación10"></a></p>     <p> <font face="Verdana" size="2">El número de subespacios (<i>Ns</i>) está dado por la <a href="#Ecuación11">Ec. 11</a>: </font></p>       <p> <font face="Verdana" size="2"><img src="/img/revistas/rfiua/n46/n46a12i05.gif" ><a name="Ecuación11"></a></p>     <p> <font face="Verdana" size="2">Para representar la estructura que genera el subespacio son definidos dos vectores de tamaño igual al número de cortes: el primero <img src="/img/revistas/rfiua/n46/n46a12i30.gif" > es un vector de tipo binario que define el tipo de corte (vertical u horizontal), el segundo <img src="/img/revistas/rfiua/n46/n46a12i31.gif" > es un vector real con valores entre 0 y 1 que determina la distancia porcentual a la cual se produce el corte con respecto al patrón superior.</font></p>     <p> <font face="Verdana" size="2">Por ejemplo si se decide que el número de capas es 2 entonces se generarán tres cortes que a su vez darán lugar a 4 subespacios como se muestra en la <a href="#Figura3">figura 3</a>. Un conjunto de posibles vectores generados aleatoriamente son mostrados en las <a href="#Ecuación12y13">Ec 12 y 13</a>: </font></p>       <p> <font face="Verdana" size="2"><img src="/img/revistas/rfiua/n46/n46a12i06.gif" ><a name="Ecuación12y13"></a></p>     ]]></body>
<body><![CDATA[<p> <font face="Verdana" size="2">Una ventaja de este tipo de codificación es que cualquier conjunto <img src="/img/revistas/rfiua/n46/n46a12i32.gif" > es factible siempre y cuando <img src="/img/revistas/rfiua/n46/n46a12i30.gif" >  sea binario y <img src="/img/revistas/rfiua/n46/n46a12i31.gif" >  este en el intervalo . Por ejemplo, si las dimensiones del tablero base son de 70x42, estas dimensiones representan el 100 % de la primera capa; el primer corte con parámetros T<sub>1</sub> = 0 y H<sub>1</sub> = 0,65 indica que se hace un corte horizontal al 65% del tablero, esto genera dos espacios de dimensiones 70x14,7 y 70x27,3; el segundo corte T<sub>2</sub> = 1 y H<sub>2</sub> = 0,4 indica un corte vertical sobre el espacio de 70x27,3. El último corte es aplicado sobre el espacio de 70x14,7. Estos cortes sucesivos generan cuatro subespacios de dimensiones <i>S</i> = {28x27,3 42x27,3 21x14,7 49x14,7}. El proceso se representa mediante el árbol mostrado en la <a href="#Figura2">figura 2</a>. Finalmente la <a href="#Figura3">figura 3</a> muestra la división del tablero base.</font></p>      <p align="center"><font face="Verdana" size="2"><img src="/img/revistas/rfiua/n46/n46a12i07.gif" ><a name="Figura2"></a></p>      <p> <font face="Verdana" size="2"><b>Figura 2</b> Árbol binario que representa el proceso</font></p>       <p align="center"> <font face="Verdana" size="2"><img src="/img/revistas/rfiua/n46/n46a12i08.gif" ><a name="Figura3"></a></p>      <p> <font face="Verdana" size="2"><b>Figura 3</b> Cortes sobre el tablero según el árbol de corte propuesto en la <a href="#Figura2">figura 2</a></font></p>      <p> <font face="Verdana" size="2"><b>Metodología de solución</b></font></p>     <p> <font face="Verdana" size="2">La codificación propuesta garantiza la factibilidad en cuanto al corte guillotina, esto permite que el problema de optimización con restricciones se transforme en un problema de minimización irrestricto entero mixto en donde las variables T y H son independientes entre sí, esto significa que para cada conjunto de valores de T existe una solución H la cual es óptima <a href="#Ecuación14">(Ec. 14)</a>: </font></p>       <p> <font face="Verdana" size="2"><img src="/img/revistas/rfiua/n46/n46a12i09.gif" ><a name="Ecuación14"></a></p>      <p> <font face="Verdana" size="2">De esta forma se puede utilizar cualquier metaheurística para encontrar valores óptimos de T siempre y cuando se utilice un segundo algoritmo que permita encontrar los valores óptimos de H a partir de los valores de T. La ubicación final de las piezas se realiza mediante un tercer algoritmo, esta vez un constructivo que garantiza una solución única para cada conjunto de valores (T,H), este algoritmo es basado en arreglos del mismo tipo como se mostró en la <a href="#Figura1">figura 1(b)</a>. La <a href="#Figura4">figura 4</a> esquematiza el proceso.</font></p>      <p align="center"><font face="Verdana" size="2"><img src="/img/revistas/rfiua/n46/n46a12i10.gif" ><a name="Figura4"></a></p>      ]]></body>
<body><![CDATA[<p> <font face="Verdana" size="2"><b>Figura 4</b> Secuencia de los algoritmos</font></p>        <p> <font face="Verdana" size="2"><b>Algoritmo de búsqueda aleatoria binaria</b></font></p>     <p> <font face="Verdana" size="2">El algoritmo I determina el valor de la variable binaria T la cual representa el tipo de corte a utilizar y para resolver este algoritmo se utilizó un esquema de vecindario variable [12].</font></p> <font face="Verdana" size="2"><img src="/img/revistas/rfiua/n46/n46a12i11.gif" >      <p> <font face="Verdana" size="2">Inicialmente el vecindario de búsqueda consiste en modificar de forma aleatoria una posición en el vector T, posteriormente, si esta modificación no genera una mejora en la función objetivo se procede a modificar dos posiciones y así sucesivamente, en el momento en que la incumbente sea actualizada se regresa nuevamente al primer vecindario. Esta metodología de búsqueda local permite diversificar cuando la función objetivo no es mejorada y hacer una búsqueda local más detallada en el momento de actualizarse la incumbente, de esta forma se logra un algoritmo computacionalmente eficiente.</font></p>     <p> <font face="Verdana" size="2"><b>Algoritmo de búsqueda aleatoria real</b></font></p>     <p> <font face="Verdana" size="2">El segundo algoritmo determina la variable H a partir de un vector T, para ello utiliza un algoritmo de búsqueda aleatoria que modifica iterativamente una posición del vector H reduciendo paulatinamente el ancho de búsqueda, para ello se utiliza una función delta definida según la <a href="#Ecuación15">Ec. 15</a>: </font></p>     <p> <font face="Verdana" size="2"><img src="/img/revistas/rfiua/n46/n46a12i12.gif" ><a name="Ecuación15"></a></p>       <p> <font face="Verdana" size="2">En donde R corresponde a un número aleatorio en el intervalo [1,1], mientras que k es la iteración actual e IP es el número total de iteraciones del algoritmo. En las primeras iteraciones, el factor que multiplica a R es cercano a 1, por tanto los movimientos son altamente aleatorios, a medida que el algoritmo evoluciona se hace más determinístico por lo cual este factor se acerca a cero. El valor de H<sub>i</sub> estará dado por la<a href="#Ecuación16"> Ec. 16</a>:</font></p>      <p> <font face="Verdana" size="2"><img src="/img/revistas/rfiua/n46/n46a12i13.gif" ><a name="Ecuación16"></a></p>      <p> <font face="Verdana" size="2">Este algoritmo está inspirado en la filosofía del recocido simulado [13] en donde a medida que el proceso evoluciona entonces el grado de aleatoriedad disminuye.</font></p>     ]]></body>
<body><![CDATA[<p><font face="Verdana" size="2"><img src="/img/revistas/rfiua/n46/n46a12i14.gif"> </font></p>      <p><font face="Verdana" size="2"><img src="/img/revistas/rfiua/n46/n46a12i15.gif"> </font></p>     <p> <font face="Verdana" size="2"><b>Algoritmo constructivo</b></font></p>     <p> <font face="Verdana" size="2">El algoritmo constructivo ubica las piezas en los diferentes subespacios definidos por los vectores H y T. Como cada subespacio debe ubicar arreglos del mismo tipo solo vasta determinar cuál es el desperdicio para cada tipo de arreglo asegurando que se cumpla la restricción de demanda como se muestra a continuación.</font></p>  <font face="Verdana" size="2"><img src="/img/revistas/rfiua/n46/n46a12i16.gif">      <p> <font face="Verdana" size="2">La solución encontrada por este algoritmo es única ya que no incluye ninguna sentencia con aleatoriedad; por ejemplo para el tablero de 70x42 anteriormente descrito con los valores de T y H dados por las <a href="#Ecuación12y13">ecuaciones (12) y (13)</a> y los parámetros mostrados en la <a href="#Tabla1">tabla 1</a>, el algoritmo constructivo obtiene el corte mostrado en la <a href="#Figura5">figura 5</a>, en donde las áreas punteadas corresponden al material sin utilizar. </font></p>     <p> <font face="Verdana" size="2"><b>Tabla 1 </b>Datos del problema</font></p>     <p align="center"><font face="Verdana" size="2"><img src="/img/revistas/rfiua/n46/n46a12i17.gif" ><a name="Tabla1"></a></p>     <p align="center"><font face="Verdana" size="2"><img src="/img/revistas/rfiua/n46/n46a12i18.gif" ><a name="Figura5"></a></p>     <p> <font face="Verdana" size="2"><b>Figura 5</b> Solución obtenida</font></p>      <p> <font face="Verdana" size="2"><b>Resultados y discusión</b></font></p>     ]]></body>
<body><![CDATA[<p> <font face="Verdana" size="2">Se tomaron 50 casos de prueba de la literatura especializada que pueden ser obtenidos de [11]. Cada caso presenta 20 tipos de piezas rectangulares a ser ubicadas sin permitir rotación.</font></p>     <p> <font face="Verdana" size="2">Después de calibrar los parámetros a través de 1000 ejecuciones del algoritmo para distintos casos, los mejores resultados se obtuvieron con los valores que aparecen en la <a href="#Tabla2">tabla 2</a>. </font></p>     <p> <font face="Verdana" size="2"><b>Tabla 2</b> Valor de los parámetros</font></p>     <p align="center"><font face="Verdana" size="2"><img src="/img/revistas/rfiua/n46/n46a12i19.gif" ><a name="Tabla2"></a></p>      <p> <font face="Verdana" size="2">Las iteraciones globales se refieren al número de iteraciones del algoritmo I mientras que las iteraciones parciales se refieren al número de iteraciones del algoritmo II.</font></p>      <p> <font face="Verdana" size="2">En las <a href="#Tabla3">tablas 3 </a><a href="#Tabla4">y 4</a> se muestran los 50 casos donde se comparan las respuestas obtenidas en función del área utilizada y el porcentaje de utilización. Para 42 de ellos se obtuvieron mejores respuestas que las mejores conocidas. Cada caso se evaluó 10 veces con los parámetros de la <a href="#Tabla2">tabla 2</a>.</font></p>     <p> <font face="Verdana" size="2"><b>Tabla 3</b> Resultados para los casos del 1 al 25</font></p>      <p align="center"><font face="Verdana" size="2"><img src="/img/revistas/rfiua/n46/n46a12i20.gif" ><a name="Tabla3"></a></p>       <p> <font face="Verdana" size="2"><b>Tabla 4</b> Resultados para los casos del 26 al 50</font></p>       <p align="center"><font face="Verdana" size="2"><img src="/img/revistas/rfiua/n46/n46a12i21.gif" ><a name="Tabla4"></a></p>      ]]></body>
<body><![CDATA[<p> <font face="Verdana" size="2">En las <a href="#Figura6">gráficas 6</a> <a href="#Figura7">y 7</a>, se comparan las mejores respuestas obtenidas para todos los casos con la mejor respuesta conocida en la literatura.</font></p>      <p> <font face="Verdana" size="2">En la <a href="#Tabla5">tabla 5</a> y la <a href="#Figura8">figura 8</a>, se presenta un resumen de los resultados obtenidos con base en el porcentaje de mejora. Se observan respuestas de mejor calidad para la gran mayoría de los casos reportados en [11] y los no superados quedaron muy próximos a la mejor respuesta conocida.</font></p>      <p> <font face="Verdana" size="2"><b>Tabla 5</b> Resumen de respuestas</font></p>      <p align="center"><font face="Verdana" size="2"><img src="/img/revistas/rfiua/n46/n46a12i22.gif" ><a name="Tabla5"></a></p>        <p align="center"><font face="Verdana" size="2"><img src="/img/revistas/rfiua/n46/n46a12i23.gif" ><a name="Figura6"></a></p>        <p> <font face="Verdana" size="2"><b>Figura 6</b> Comparación resultados del 1 al 25 </font></p>      <p align="center"><font face="Verdana" size="2"><img src="/img/revistas/rfiua/n46/n46a12i24.gif" ><a name="Figura7"></a></p>       <p> <font face="Verdana" size="2"><b>Figura 7</b> Comparación de resultados del 26 al 50 </font></p>       <p align="center"><font face="Verdana" size="2"><img src="/img/revistas/rfiua/n46/n46a12i25.gif" ><a name="Figura8"></a></p>      <p> <font face="Verdana" size="2"><b>Figura 8</b> Resumen de respuestas </font></p>      ]]></body>
<body><![CDATA[<p> <font face="Verdana" size="2">Con el fin de conocer la eficiencia del algoritmo propuesto se realizaron 90 corridas para el caso 25 cuyos resultados fueron agrupados según la siguiente distribución de frecuencias que se muestran en la <a href="#Tabla6">tabla 6</a>. </font></p>      <p> <font face="Verdana" size="2">Para realizar el ajuste a una distribución de probabilidad fue usado el programa crystall ball 2000.2.2 obteniéndose el resultado mostrado en la <a href="#Figura9">figura 9</a>. </font></p>     <p> <font face="Verdana" size="2"><b>Tabla 6</b> Distribución de frecuencias caso 25</font></p>       <p align="center"><font face="Verdana" size="2"><img src="/img/revistas/rfiua/n46/n46a12i26.gif" ><a name="Tabla6"></a></p>       <p> <font face="Verdana" size="2"><b>Figura 9</b> Distribución de probabilidad caso 25 </font></p>      <p align="center"><font face="Verdana" size="2"><img src="/img/revistas/rfiua/n46/n46a12i27.gif" ><a name="Figura9"></a></p>     <p> <font face="Verdana" size="2">Esta distribución pertenece a una normal con parámetros: </font></p>     <p> <font face="Verdana" size="2">&mu; = 96,8567 &sigma; = 0,7585</font></p>     <p> <font face="Verdana" size="2">Con base en estos parámetros se calcula la probabilidad de encontrar un valor igual o mejor a la mejor solución reportada en la literatura que para este caso es de 96,019 </font></p>      <p><font face="Verdana" size="2"><img src="/img/revistas/rfiua/n46/n46a12i28.gif" ></font></p>     ]]></body>
<body><![CDATA[<p> <font face="Verdana" size="2">De acuerdo con lo anterior hay una probabilidad de 86,43% de obtener una respuesta mejor o igual a la reportada en la literatura.</font></p>     <p> <font face="Verdana" size="2">Finalmente, se desea mostrar la mejor solución lograda por el algoritmo propuesto, se presenta la solución al caso 10 para el cual se obtuvo una solución 4,16 % mejor a lo reportada. En la <a href="#Figura10">figura 10</a> se presenta la configuración óptima en donde las áreas en negro representan el material sin utilizar.</font></p>       <p align="center"><font face="Verdana" size="2"><img src="/img/revistas/rfiua/n46/n46a12i29.gif" ><a name="Figura10"></a></p>     <p> <font face="Verdana" size="2"><b>Figura 10</b> Solución obtenida para el caso 10</font></p>      <p> <font face="Verdana" size="3"><b>Conclusiones y recomendaciones</b></font></p>     <p> <font face="Verdana" size="2">Se implementó un algoritmo para la solución del problema de corte bidimensional tipo guillotina y se solucionó usando un algoritmo híbrido que combina técnicas inspiradas en búsqueda en vecindario variable, recocido simulado y técnicas constructivas.</font></p>      <p> <font face="Verdana" size="2">Los patrones de corte obtenidos son de fácil implementación práctica, especialmente cuando no se cuenta con máquinas de corte de control numérico ya que se entregan disposiciones homogéneas para cortar las piezas de acuerdo a la demanda.</font></p>     <p> <font face="Verdana" size="2">La escala de los problemas de prueba es comparable con muchos problemas prácticos de corte. Los resultados computacionales fueron satisfactorios comparados con las mejores respuestas conocidas de la literatura especializada.</font></p>      <p> <font face="Verdana" size="2">Se ha realizado un análisis estadístico para demostrar la eficiencia de la metodología propuesta y tener conocimiento sobre el porcentaje de mejora al momento de realizar un ensayo en particular. Para ello se tomaron 90 muestras de un mismo caso, cuyos parámetros se ajustan a una distribución normal. Los resultados obtenidos muestran que el algoritmo propuesto presenta una alta eficiencia en la gran mayoría de los casos estudiados. </font></p>      <p> <font face="Verdana" size="2">El tipo de codificación para representar el problema bidimensional restricto basado en árboles binarios garantiza que los patrones que se obtengan sean de tipo guillotina; por la estructura de la misma, se facilita la generación de soluciones vecinas y el cálculo del valor de la función objetivo.</font></p>      ]]></body>
<body><![CDATA[<p> <font face="Verdana" size="2">Se destaca la importancia de aplicar conjuntamente una codificación eficiente con técnicas metaheurísticas que se adapten adecuadamente a la naturaleza del problema en estudio.</font></p>       <p> <font face="Verdana" size="2">Dentro de los trabajos futuros podrían resolverse casos de prueba en donde las condiciones del problema permitan rotación de las piezas; además, se podría hacer la extensión para el problema de corte bidimensional cuando las figuras demandadas son polígonos, formulando el problema de forma que pueda realizarse una reducción del problema a uno de empaquetamiento de rectángulos con algunas consideraciones. Adicionalmente, se desarrolla un método de solución eficiente para resolver este tipo de problemas.</font></p>        <p> <font face="Verdana" size="3"><b>Agradecimientos</b></font></p>     <p> <font face="Verdana" size="2">Los autores desean expresar su agradecimiento a la Maestría en Investigación de Operaciones y Estadística de la Facultad de Ingeniería Industrial y al grupo de Planeamiento en sistemas eléctricos del programa de Ingeniería Eléctrica de la Universidad Tecnológica de Pereira por su apoyo en la realización de esta investigación.</font></p>      <p> <font face="Verdana" size="3"><b>Referencias</b></font></p>      <!-- ref --><p> <font face="Verdana" size="2">1. S. Jakobs. “Theory and methodology on genetic algorithms for the packing of polygons”. European Journal of Operational Research. Vol. 88. 1996. pp. 87100. </font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000138&pid=S0120-6230200800040001200001&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p> <font face="Verdana" size="2">2. N. Christofides, A. Whitlock. “An algorithm for twodimensional cutting problems”. Operational Research. Vol. 25. 1977. pp. 3044.</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000139&pid=S0120-6230200800040001200002&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p> <font face="Verdana" size="2">3. P. C. Gilmore, R.E. Gomory. “The theory and computation of knapsack functions”. Operations Research. Vol 15. 1967. pp. 10451074.</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000140&pid=S0120-6230200800040001200003&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p> <font face="Verdana" size="2">4. P. Wang. “Two algorithms for constrained twodimensional cutting stock problems”. Operations Research. Vol. 31. 1983. pp. 573586.</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000141&pid=S0120-6230200800040001200004&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p> <font face="Verdana" size="2">5. F. A. Vasko. “Computational improvement to Wang’s twodimensional cutting stock algorithm”. Computers and Industrial Engineering. Vol. 16. 1989. pp. 109115.</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000142&pid=S0120-6230200800040001200005&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p> <font face="Verdana" size="2">6. J. F. Oliveira, J. S. Ferreira. “An improved version of Wang’s algorithm for two  dimensional Cutting Problems”. EJOR 44. 1990. pp. 256266.</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000143&pid=S0120-6230200800040001200006&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p> <font face="Verdana" size="2">7. K. Lai, J. Chan. “A evolutionary algorithm for the rectangular cutting stock problem”. International Journal of Industrial Engineering. Vol 4. 1997. pp.130139. </font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000144&pid=S0120-6230200800040001200007&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p> <font face="Verdana" size="2">8. V. Parada, M. Sepúlveda, A. Gómez. “Solution for the Constrained Guillotine Cutting Problem by Simulated Annealing”. Journal on computers and operations research. Vol 25. 1998. pp. 3747.</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000145&pid=S0120-6230200800040001200008&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p> <font face="Verdana" size="2">9. T. W. Leung, C. H. Yung, M. D. Troutt. “Applications of genetic search and simulated annealing to the twodimensional nonguillotine cutting stock problem”. Computers and Industrial Engineering. Vol. 40. 2001. pp. 201214.</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000146&pid=S0120-6230200800040001200009&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p> <font face="Verdana" size="2">10. J. E. Beasley. “A population heuristic for constrained twodimensional non guillotine cutting”. European Journal of Operational Research. Vol. 156. 2004. pp. 601627.</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000147&pid=S0120-6230200800040001200010&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p> <font face="Verdana" size="2">11. C. Yaodong. “An exact algorithm for generating homogenous Tshape cutting patterns”. Computers & Operations Research. Vol 34. 2007. pp. 11071120. Disponible en Internet en: <a href="http://www.gxnu.edu.cn/Personal/ydcui/English/Paper.htm" target="_blank">http://www.gxnu.edu.cn/Personal/ydcui/English/Paper.htm</a>. Consultada el 10 de abril de 2007.</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000148&pid=S0120-6230200800040001200011&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p> <font face="Verdana" size="2">12. P. Hansen, M. Nenad, J. Moreno. “Búsqueda de entorno variable. Inteligencia Artificial”. Revista Iberoamericana de Inteligencia Artificial. Vol. 19. 2003. pp. 7792.</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000149&pid=S0120-6230200800040001200012&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p> <font face="Verdana" size="2">13. R. Gallego, A. Escobar, R. Romero. Técnicas de optimización combinatorial. Textos universitarios. Universidad Tecnológica de Pereira. Pereira. 2006. pp. 2747.</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000150&pid=S0120-6230200800040001200013&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><p> <font face="Verdana" size="2">(Recibido el 20 de febrero de 2008. Aceptado el 30 de junio de 2008)</font></p>     <p> <font face="Verdana" size="2"><sup>*</sup>Autor de correspondencia: Teléfono: + 57 + 6 + 313 73 00, fax + 57 + 6 + 321 32 06, correo electrónico: <a href="mailto:alejandrog@ohm.utp.edu.co">alejandrog@ohm.utp.edu.co</a> (A. Garcés).</font></p>     ]]></body>
<body><![CDATA[ ]]></body><back>
<ref-list>
<ref id="B1">
<label>1</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Jakobs]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Theory and methodology on genetic algorithms for the packing of polygons]]></article-title>
<source><![CDATA[European Journal of Operational Research]]></source>
<year>1996</year>
<volume>88</volume>
<page-range>87100</page-range></nlm-citation>
</ref>
<ref id="B2">
<label>2</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Christofides]]></surname>
<given-names><![CDATA[N]]></given-names>
</name>
<name>
<surname><![CDATA[Whitlock]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[An algorithm for twodimensional cutting problems]]></article-title>
<source><![CDATA[Operational Research]]></source>
<year>1977</year>
<volume>25</volume>
<page-range>3044</page-range></nlm-citation>
</ref>
<ref id="B3">
<label>3</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Gilmore]]></surname>
<given-names><![CDATA[P. C]]></given-names>
</name>
<name>
<surname><![CDATA[Gomory]]></surname>
<given-names><![CDATA[R.E]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[The theory and computation of knapsack functions]]></article-title>
<source><![CDATA[Operations Research]]></source>
<year>1967</year>
<volume>15</volume>
<page-range>10451074</page-range></nlm-citation>
</ref>
<ref id="B4">
<label>4</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Wang]]></surname>
<given-names><![CDATA[P]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Two algorithms for constrained twodimensional cutting stock problems]]></article-title>
<source><![CDATA[Operations Research]]></source>
<year>1983</year>
<volume>31</volume>
<page-range>573586</page-range></nlm-citation>
</ref>
<ref id="B5">
<label>5</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Vasko]]></surname>
<given-names><![CDATA[F. A]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Computational improvement to Wang’s twodimensional cutting stock algorithm]]></article-title>
<source><![CDATA[Computers and Industrial Engineering]]></source>
<year>1989</year>
<volume>16</volume>
<page-range>109115</page-range></nlm-citation>
</ref>
<ref id="B6">
<label>6</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Oliveira]]></surname>
<given-names><![CDATA[J. F]]></given-names>
</name>
<name>
<surname><![CDATA[Ferreira]]></surname>
<given-names><![CDATA[J. S]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[An improved version of Wang’s algorithm for two dimensional Cutting Problems]]></article-title>
<source><![CDATA[EJOR]]></source>
<year>1990</year>
<volume>44</volume>
<page-range>256266</page-range></nlm-citation>
</ref>
<ref id="B7">
<label>7</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Lai]]></surname>
<given-names><![CDATA[K]]></given-names>
</name>
<name>
<surname><![CDATA[Chan]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A evolutionary algorithm for the rectangular cutting stock problem]]></article-title>
<source><![CDATA[International Journal of Industrial Engineering]]></source>
<year>1997</year>
<volume>4</volume>
<page-range>130139</page-range></nlm-citation>
</ref>
<ref id="B8">
<label>8</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Parada]]></surname>
<given-names><![CDATA[V]]></given-names>
</name>
<name>
<surname><![CDATA[Sepúlveda]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
<name>
<surname><![CDATA[Gómez]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Solution for the Constrained Guillotine Cutting Problem by Simulated Annealing]]></article-title>
<source><![CDATA[Journal on computers and operations research]]></source>
<year>1998</year>
<volume>25</volume>
<page-range>3747</page-range></nlm-citation>
</ref>
<ref id="B9">
<label>9</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Leung]]></surname>
<given-names><![CDATA[T. W]]></given-names>
</name>
<name>
<surname><![CDATA[Yung]]></surname>
<given-names><![CDATA[C. H]]></given-names>
</name>
<name>
<surname><![CDATA[Troutt]]></surname>
<given-names><![CDATA[M. D]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Applications of genetic search and simulated annealing to the twodimensional nonguillotine cutting stock problem]]></article-title>
<source><![CDATA[Computers and Industrial Engineering]]></source>
<year>2001</year>
<volume>40</volume>
<page-range>201214</page-range></nlm-citation>
</ref>
<ref id="B10">
<label>10</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Beasley]]></surname>
<given-names><![CDATA[J. E]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A population heuristic for constrained twodimensional non guillotine cutting]]></article-title>
<source><![CDATA[European Journal of Operational Research]]></source>
<year>2004</year>
<volume>156</volume>
<page-range>601627</page-range></nlm-citation>
</ref>
<ref id="B11">
<label>11</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Yaodong]]></surname>
<given-names><![CDATA[C]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[An exact algorithm for generating homogenous Tshape cutting patterns]]></article-title>
<source><![CDATA[Computers & Operations Research]]></source>
<year>2007</year>
<month>10</month>
<day> d</day>
<volume>34</volume>
</nlm-citation>
</ref>
<ref id="B12">
<label>12</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Hansen]]></surname>
<given-names><![CDATA[P]]></given-names>
</name>
<name>
<surname><![CDATA[Nenad]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
<name>
<surname><![CDATA[Moreno]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Búsqueda de entorno variable: Inteligencia Artificial]]></article-title>
<source><![CDATA[Revista Iberoamericana de Inteligencia Artificial]]></source>
<year>2003</year>
<volume>19</volume>
<page-range>7792</page-range></nlm-citation>
</ref>
<ref id="B13">
<label>13</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Gallego]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
<name>
<surname><![CDATA[Escobar]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[Romero]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
</person-group>
<source><![CDATA[Técnicas de optimización combinatorial: Textos universitarios]]></source>
<year>2006</year>
<page-range>2747</page-range><publisher-loc><![CDATA[Pereira ]]></publisher-loc>
<publisher-name><![CDATA[Universidad Tecnológica de Pereira]]></publisher-name>
</nlm-citation>
</ref>
</ref-list>
</back>
</article>
