<?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>2227-1899</journal-id>
<journal-title><![CDATA[Revista Cubana de Ciencias Informáticas]]></journal-title>
<abbrev-journal-title><![CDATA[Rev cuba cienc informat]]></abbrev-journal-title>
<issn>2227-1899</issn>
<publisher>
<publisher-name><![CDATA[Editorial Ediciones Futuro]]></publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id>S2227-18992016000300004</article-id>
<title-group>
<article-title xml:lang="es"><![CDATA[Una implementación de la meta-heurística &#8220;Optimización en Mallas Variables&#8221; en la arquitectura CUDA]]></article-title>
<article-title xml:lang="en"><![CDATA[An implementation for the meta-heuristic &#8220;Variable Mesh Optimization&#8221; on CUDA architecture]]></article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Díaz López]]></surname>
<given-names><![CDATA[Ernesto]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Martínez Prieto]]></surname>
<given-names><![CDATA[Adrian]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Gálvez Lio]]></surname>
<given-names><![CDATA[Daniel]]></given-names>
</name>
<xref ref-type="aff" rid="A02"/>
</contrib>
</contrib-group>
<aff id="A01">
<institution><![CDATA[,Universidad Central Marta Abreu de Las Villas Departamento de Computación ]]></institution>
<addr-line><![CDATA[Santa Clara Villa Clara]]></addr-line>
<country>Cuba</country>
</aff>
<aff id="A02">
<institution><![CDATA[,Universidad Metropolitana del Ecuador  ]]></institution>
<addr-line><![CDATA[ Quito]]></addr-line>
<country>Ecuador</country>
</aff>
<pub-date pub-type="pub">
<day>00</day>
<month>09</month>
<year>2016</year>
</pub-date>
<pub-date pub-type="epub">
<day>00</day>
<month>09</month>
<year>2016</year>
</pub-date>
<volume>10</volume>
<numero>3</numero>
<fpage>42</fpage>
<lpage>56</lpage>
<copyright-statement/>
<copyright-year/>
<self-uri xlink:href="http://scielo.sld.cu/scielo.php?script=sci_arttext&amp;pid=S2227-18992016000300004&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://scielo.sld.cu/scielo.php?script=sci_abstract&amp;pid=S2227-18992016000300004&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://scielo.sld.cu/scielo.php?script=sci_pdf&amp;pid=S2227-18992016000300004&amp;lng=en&amp;nrm=iso"></self-uri><abstract abstract-type="short" xml:lang="es"><p><![CDATA[RESUMEN En el campo de la optimización, tanto académico como industrial los problemas que se presentan a diario son a menudo complicados y NP-difícil. La solución computacional de los mismos no puede llevarse a cabo de una manera exacta en un plazo de tiempo razonable, y el uso de recursos de hardware de cómputo para esta solución aumenta considerablemente. Para lidiar con tal asunto, el diseño de los métodos de solución debe estar basado en el uso conjunto de los enfoques avanzados de la optimización combinatoria y los métodos de paralelismo a gran escala. En las últimas décadas, en la rama de la Inteligencia Artificial las meta-heurísticas basadas en poblaciones representan una poderosa herramienta para la solución de problemas complejos. El objetivo de este trabajo es exponer los resultados obtenidos a partir de la aplicación de técnicas paralelas utilizando la arquitectura CUDA a la meta-heurística &#8220;Optimización en Mallas Variables&#8221;, con el propósito de lograr una mejora en el costo temporal. Las etapas más costosas del algoritmo en el proceso de expansión y contracción de la malla para la obtención de la nueva población inicial son implementadas en paralelo. Los resultados obtenidos fueron validados utilizando una versión secuencial de la meta-heurística. Los tiempos de ejecución de ambos algoritmos se comparan, mostrándose mejoras sustanciales en la versión paralela con el uso de CUDA.]]></p></abstract>
<abstract abstract-type="short" xml:lang="en"><p><![CDATA[ABSTRACT In the field of optimization, both academic and industrial problems that occur daily are often complicated and NP-hard. The computational solution thereof can&#8217;t be performed in an accurate manner within a reasonable time, and use of computer hardware resources for this solution increases significantly. To address this issue, the design of the solution should be based on the joint use of advanced combinatorial optimization approaches and methods of large-scale parallelismIn recent decades, in the field of artificial intelligence, population based meta-heuristics represent a powerful tool for solving complex problems. The objective of this work is to expose the results obtained from the application of parallel techniques using the CUDA architecture to the meta-heuristic "Variable Mesh Optimization", with the purpose of achieving an improvement in the temporary cost. The most expensive steps of the algorithm in the process of expansion and contraction of the mesh to obtain a new initial population are implemented in parallel. The results were validated using a sequential version of the meta-heuristics. The runtimes of both algorithms are compared, showing substantial improvements in the parallel version using CUDA.]]></p></abstract>
<kwd-group>
<kwd lng="es"><![CDATA[Meta-heurística]]></kwd>
<kwd lng="es"><![CDATA[Optimización en Mallas Variables]]></kwd>
<kwd lng="es"><![CDATA[Programación Paralela]]></kwd>
<kwd lng="es"><![CDATA[CUDA]]></kwd>
<kwd lng="en"><![CDATA[Meta-heuristic]]></kwd>
<kwd lng="en"><![CDATA[Variable Mesh Optimization]]></kwd>
<kwd lng="en"><![CDATA[Parallel Programming]]></kwd>
<kwd lng="en"><![CDATA[CUDA]]></kwd>
</kwd-group>
</article-meta>
</front><body><![CDATA[ <p align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><B>ART&Iacute;CULO  ORIGINAL</B></font></p>     <p>&nbsp;</p>     <p><font size="4"><strong><font face="Verdana, Arial, Helvetica, sans-serif">Una  implementaci&oacute;n de la meta-heur&iacute;stica &ldquo;Optimizaci&oacute;n en Mallas Variables&rdquo; en la  arquitectura CUDA</font></strong></font></p>     <p>&nbsp;</p>     <p><font size="3"><strong><font face="Verdana, Arial, Helvetica, sans-serif">An  implementation for the meta-heuristic &ldquo;Variable  Mesh Optimization&rdquo; on CUDA architecture</font></strong></font></p>     <p>&nbsp;</p>     <p>&nbsp;</p>     <P><font size="2"><strong><font face="Verdana, Arial, Helvetica, sans-serif">Ernesto D&iacute;az L&oacute;pez<strong><sup>1*</sup></strong>,Adrian Mart&iacute;nez Prieto<strong><sup>1</sup></strong>, Daniel G&aacute;lvez Lio</font></strong><font face="Verdana, Arial, Helvetica, sans-serif"><strong><sup>1,2</sup></strong></font></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><sup>1</sup>Departamento de Computaci&oacute;n,  Universidad Central &ldquo;Marta Abreu de Las Villas&rdquo;, Carretera a Camajuan&iacute; Km 5 &frac12; Santa Clara, Villa Clara, Cuba. C.P: 54830. {ediaz, &nbsp;adrianmartinez}@uclv.cu</font> <font size="2" face="Verdana, Arial, Helvetica, sans-serif">    <br>   <sup>2</sup>Universidad Metropolitana del Ecuador (UMET), La  Coru&ntilde;a N26-95 y San Ignacio, Quito, Ecuador.<a href="mailto:dgalvez@uclv.edu.cu">dgalvez@uclv.edu.cu</a>, <a href="mailto:d.galvez@umet.edu.ec">d.galvez@umet.edu.ec</a></font><font size="2"></font></p>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">    <br> </font></p>     <P><font face="Verdana, Arial, Helvetica, sans-serif"><span class="class"><font size="2">*Autor para la correspondencia: </font></span></font><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> <a href="mailto:ediaz@uclv.edu.cu">ediaz@uclv.edu.cu</a><a href="mailto:gcreyes@uci.cu"></a><a href="mailto:barbaro@upr.edu.cu"></a><a href="mailto:jova@uci.cu"></a></font><font face="Verdana, Arial, Helvetica, sans-serif"><a href="mailto:losorio@ismm.edu.cu"></a> </font>     <p>&nbsp;</p>     <p>&nbsp;</p> <hr>     <P><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>RESUMEN</b> </font>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En el campo de la optimizaci&oacute;n, tanto acad&eacute;mico como industrial los  problemas que se presentan a diario son a menudo complicados y NP-dif&iacute;cil. La  soluci&oacute;n computacional de los mismos no puede llevarse a cabo de una manera  exacta en un plazo de tiempo razonable, y el uso de recursos de hardware de  c&oacute;mputo para esta soluci&oacute;n aumenta considerablemente. Para lidiar con tal  asunto, el dise&ntilde;o de los m&eacute;todos de soluci&oacute;n debe estar basado en el uso  conjunto de los enfoques avanzados de la optimizaci&oacute;n combinatoria y los  m&eacute;todos de paralelismo a gran escala. En las &uacute;ltimas d&eacute;cadas, en la rama de la  Inteligencia Artificial las meta-heur&iacute;sticas basadas en poblaciones representan  una poderosa herramienta para la soluci&oacute;n de problemas complejos. El objetivo  de este trabajo es exponer los resultados obtenidos a partir de la aplicaci&oacute;n  de t&eacute;cnicas paralelas utilizando la arquitectura CUDA a la meta-heur&iacute;stica  &ldquo;Optimizaci&oacute;n en Mallas Variables&rdquo;, con el prop&oacute;sito de lograr una mejora en el  costo temporal. Las etapas m&aacute;s costosas del algoritmo en el proceso de  expansi&oacute;n y contracci&oacute;n de la malla para la obtenci&oacute;n de la nueva poblaci&oacute;n  inicial son implementadas en paralelo. Los resultados obtenidos fueron  validados utilizando una versi&oacute;n secuencial de la meta-heur&iacute;stica. Los tiempos  de ejecuci&oacute;n de ambos algoritmos se comparan, mostr&aacute;ndose mejoras sustanciales  en la versi&oacute;n paralela con el uso de CUDA.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><span lang=EN-GB>Palabras clave: </span></b>Meta-heur&iacute;stica, Optimizaci&oacute;n en Mallas Variables, Programaci&oacute;n Paralela,  CUDA.</font></p> <hr>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><span lang=EN-GB>ABSTRACT</span></b> </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">In the field of optimization,  both academic and industrial problems that occur daily are often complicated  and NP-hard. The computational solution thereof can&rsquo;t be performed in an accurate  manner within a reasonable time, and use of computer hardware resources for  this solution increases significantly. To address this issue, the  design of the solution should be based on the joint use of advanced  combinatorial optimization approaches and methods of large-scale parallelismIn recent decades, in the  field of artificial intelligence, population based meta-heuristics represent a  powerful tool for solving complex problems. The objective of this work is  to expose the results obtained from the application of parallel techniques  using the CUDA architecture to the meta-heuristic &quot;Variable Mesh  Optimization&quot;, with the purpose of achieving an improvement in the  temporary cost. The most expensive steps of the algorithm in the process of  expansion and contraction of the mesh to obtain a new initial population are  implemented in parallel. The results were validated using a sequential version  of the meta-heuristics. The runtimes of both algorithms are compared, showing  substantial improvements in the parallel version using CUDA.</font></p>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><span lang=EN-GB>Key words: </span></b>Meta-heuristic, Variable Mesh Optimization, Parallel Programming, CUDA</font></p> <hr>     <p>&nbsp;</p>     <p>&nbsp;</p>     <p><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>INTRODUCCI&Oacute;N</b></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En la  sociedad actual los problemas de optimizaci&oacute;n est&aacute;n presentes pr&aacute;cticamente en  todos los lugares. Muchos de estos problemas poseen una soluci&oacute;n con un alto  grado de complejidad o se hace muy dif&iacute;cil encontrar una soluci&oacute;n exacta, por  lo que se suele recurrir a m&eacute;todos de soluci&oacute;n aproximados. Las  meta-heur&iacute;sticas denotan un tipo general de m&eacute;todos de aproximaci&oacute;n sobre la  base de las heur&iacute;sticas, las cuales est&aacute;n basadas en estrategias para  diversificar el esfuerzo de b&uacute;squeda y evitar caer en extremos locales. Durante  las &uacute;ltimas d&eacute;cadas han demostrado un rendimiento extraordinario en la soluci&oacute;n  a problemas de optimizaci&oacute;n discreta y continua (C&aacute;ceres, 2009; Luong, 2011).</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Teniendo en  cuenta la complejidad computacional de los problemas, no debe sorprendernos que  la computaci&oacute;n paralela sea objetivo de investigaciones para mejorar el  rendimiento de las meta-heur&iacute;sticas, tanto en el caso discreto como continuo (Luong, 2011).</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Actualmente,  el uso de las Unidades de Procesamiento Gr&aacute;fico (<em>Graphics Processing Unit</em>; GPU) ha aumentado extraordinariamente, en  principio por el acelerado desarrollo que ha alcanzado la industria de los  video juegos, arrastrando consigo la necesidad de desarrollar nuevas GPU  capaces de aumentar sus prestaciones y los recursos disponibles que den soporte  a las nuevas creaciones de esta industria. Estas unidades est&aacute;n disponibles en  muchos equipos: computadoras port&aacute;tiles, m&aacute;quinas de escritorio, e incluso  hasta en los tel&eacute;fonos m&oacute;viles. Pero no solo eso, estas unidades, adem&aacute;s de ser  utilizadas en aplicaciones gr&aacute;ficas y de video, se han extendido a otros  dominios de aplicaci&oacute;n, como el procesamiento paralelo en la computaci&oacute;n  cient&iacute;fica gracias a la aparici&oacute;n de la Arquitectura Unificada de Dispositivos  de C&oacute;mputo (<em>Compute Unified Device  Architecture</em>; CUDA), el nuevo conjunto de herramientas de desarrollo de  prop&oacute;sito general de NVIDIA sobre la GPU, tambi&eacute;n conocido este concepto como  Computaci&oacute;n de Prop&oacute;sito General sobre Unidades de Procesamiento Gr&aacute;fico (<em>General Purpose Graphics Processing Unit</em>;  GPGPU) (Gonz&aacute;lez, 2014; Owens et al., 2007).</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La  programaci&oacute;n en CUDA se ha convertido en un nuevo paradigma de programaci&oacute;n  paralela, aunque se mantienen los principios generales, incluye caracter&iacute;sticas  especiales como nuevos tipos de memoria y un modelo de ejecuci&oacute;n de hilos  diferente. CUDA intenta explotar las ventajas de la GPU frente a la Unidad  Central de Procesamiento (<em>Central  Processing Unit</em>; CPU) de prop&oacute;sito general utilizando el paralelismo que  ofrecen sus m&uacute;ltiples n&uacute;cleos, permitiendo la ejecuci&oacute;n de un gran n&uacute;mero de  hilos de manera simult&aacute;nea, procesando la misma secuencia de instrucciones de  forma secuencial por cada hilo ejecutado de manera paralela (Corporation, 2014).</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En algunas  &aacute;reas como la computaci&oacute;n num&eacute;rica, se est&aacute; presenciando una proliferaci&oacute;n de  bibliotecas de software como CUBLAS para el trabajo con &Aacute;lgebra Lineal B&aacute;sica  en la GPU, sin embargo, en otras &aacute;reas como la optimizaci&oacute;n combinatoria,  especialmente en meta-heur&iacute;stica, la utilizaci&oacute;n de la GPU no crece al mismo  paso (Luong, 2011). Debido a la importancia de  esta &aacute;rea dentro de la investigaci&oacute;n cient&iacute;fica y en el campo de la  Inteligencia Artificial se ha generado un inter&eacute;s cada vez mayor por el  desarrollo de la misma.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Por ese  motivo, se desarroll&oacute; una implementaci&oacute;n paralela utilizando t&eacute;cnicas paralelas  sobre la arquitectura CUDA de la meta-heur&iacute;stica poblacional Optimizaci&oacute;n en  Mallas Variables (VMO), desarrollada en el Centro de Estudios de Inform&aacute;tica de  la Universidad Central &uml;Marta Abreu&uml; de Las Villas.</font></p>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En su  implementaci&oacute;n se hizo uso del conjunto de herramientas que ofrece NVIDIA,  integrado con el lenguaje de programaci&oacute;n C++. Luego se realiz&oacute; un an&aacute;lisis  estad&iacute;stico de la versi&oacute;n paralela respecto a su versi&oacute;n secuencial, verific&aacute;ndose  una mejora significativa en el costo computacional de la misma.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En el presente art&iacute;culo, despu&eacute;s de  una breve introducci&oacute;n sobre la computaci&oacute;n paralela y su uso en los problemas  de optimizaci&oacute;n, se exponen de manera general conceptos esenciales de  meta-heur&iacute;stica, algunos temas relacionados con las meta-heur&iacute;sticas paralelas  y su vinculaci&oacute;n con la GPU, as&iacute; como una breve caracterizaci&oacute;n de la  meta-heur&iacute;stica poblacional VMO. Finalmente se presentan los resultados  obtenidos del an&aacute;lisis de las comparaciones entre la versi&oacute;n secuencial y  paralela del algoritmo, seguido de las conclusiones y referencias  bibliogr&aacute;ficas utilizadas.</font></p>     <p>&nbsp;</p>     <p><font size="3"><strong><font face="Verdana, Arial, Helvetica, sans-serif">MATERIALES Y M&Eacute;TODOS </font></strong></font></p>     <p><font size="2"><strong><font face="Verdana, Arial, Helvetica, sans-serif">Meta-heur&iacute;stica y GPU</font></strong></font></p>     <p><font size="2"><font face="Verdana, Arial, Helvetica, sans-serif">En muchas  ocasiones nos enfrentamos a problemas en los que encontrar la mejor soluci&oacute;n  trae consigo un alto grado de complejidad computacional o en algunos casos no  se cuenta con un algoritmo para encontrar esta soluci&oacute;n. Para resolver este  tipo de problemas se pueden emplear los m&eacute;todos de b&uacute;squeda heur&iacute;sticos los  cuales son capaces de encontrar una aproximaci&oacute;n a una posible soluci&oacute;n del  problema, estos m&eacute;todos est&aacute;n orientados a reducir la cantidad de b&uacute;squeda  requerida para encontrar una soluci&oacute;n. De lo que se desprende la siguiente  definici&oacute;n (Hooker, 1995):</font></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Un m&eacute;todo  heur&iacute;stico es un procedimiento para resolver un problema complejo de  optimizaci&oacute;n mediante una aproximaci&oacute;n intuitiva, en la que la estructura del  problema se utiliza de forma inteligente para obtener una buena soluci&oacute;n de  manera eficiente.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En los &uacute;ltimos a&ntilde;os se ha  presenciado un aumento en el desarrollo de procedimientos heur&iacute;sticos para  resolver problemas de optimizaci&oacute;n. Este hecho queda claramente reflejado en la  creaci&oacute;n de revistas especializadas para la difusi&oacute;n de este tipo de  procedimientos; como es el caso de la revista &ldquo;<em>Journal of Heuristics</em>&rdquo; editada por  primera vez en el a&ntilde;o 1995 (C&aacute;ceres, 2009).</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Con el  desarrollo de la ciencia a trav&eacute;s de los a&ntilde;os se han desarrollado un conjunto  de m&eacute;todos bajo el nombre de meta-heur&iacute;stico con el prop&oacute;sito de obtener  mejores resultados que los alcanzados por los heur&iacute;sticos tradicionales (Osman &amp; Kelly, 1996).</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Los  procedimientos meta-heur&iacute;sticos son una clase de m&eacute;todos aproximados los cuales  han sido dise&ntilde;ados para resolver problemas complejos de optimizaci&oacute;n. Los  meta-heur&iacute;sticos proporcionan un marco general para crear nuevos algoritmos  h&iacute;bridos combinando diferentes conceptos derivados de la inteligencia  artificial, la evoluci&oacute;n biol&oacute;gica y los mecanismos estad&iacute;sticos (Glover &amp; Kochenberger, 2003).</font></p>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Debido al gran desarrollo que han  alcanzado los procedimientos meta-heur&iacute;sticos, se han realizado diversas  propuestas de clasificaci&oacute;n de los mismos, dentro de las que se encuentran las  siguientes (Blum &amp; Roli, 2003): </font></p> <ul>       <li>         <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Meta-heur&iacute;sticas de trayectoria simple: se utiliza el  t&eacute;rmino de trayectoria simple porque el proceso de b&uacute;squeda que desarrollan  estos m&eacute;todos se caracteriza por una trayectoria en el espacio de soluciones;  es decir, partiendo de una soluci&oacute;n inicial, son capaces de generar un camino o  trayectoria en el espacio de b&uacute;squeda a trav&eacute;s de operaciones de movimiento.  Algunas de estas meta-heur&iacute;sticas son las siguientes: la B&uacute;squeda Tab&uacute; (<em>Taboo Search</em>) (Baykasoglu, Owen, &amp; Gindy, 1999;  Klinowski, 2015; Taillard, 1991), Recocido Simulado (<em>Simulated  Annealing</em>) (Davis, 1987; Goffe,  Ferrier, &amp; Rogers, 1994; Szu &amp; Hartley, 1987), B&uacute;squeda de Vecindades Variables (<em>Variable Neighborhood Search</em>) (P Hansen &amp; Mladenovi&#263;, 1997; Pierre Hansen &amp; Mladenovi&#263;, 1999;  Mladenovi&#263; &amp; Hansen, 1997), B&uacute;squeda  Local Guiada (<em>Guided Local Search</em>) (Voudouris &amp; Tsang, 1995, 2015), B&uacute;squeda Local Iterativa (<em>Iterated Local Search</em>) (Kramer, 2014; Louren&ccedil;o, Martin, &amp; St&uuml;tzle, 2010;  St&uuml;tzle, 2006), entre  otras.</font></p>   </li>       <li>         <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Meta-heur&iacute;sticas  poblacionales: Las meta-heur&iacute;sticas basadas en poblaci&oacute;n o meta-heur&iacute;sticas  poblacionales, son aquellas que emplean un conjunto de soluciones (poblaci&oacute;n)  en cada iteraci&oacute;n del algoritmo, en lugar de utilizar una &uacute;nica soluci&oacute;n como  las meta-heur&iacute;sticas del grupo anterior. Estas proporcionan de forma intr&iacute;nseca  un mecanismo de exploraci&oacute;n paralelo del espacio de soluciones, y su eficacia  depende en gran medida de c&oacute;mo se manipule dicha poblaci&oacute;n. Dentro de esta  clasificaci&oacute;n se destacan los Algoritmos Evolutivos (<em>Evolutionary Algorithms</em>; EA) (B, 1996) y los algoritmos basados en  Inteligencia Colectiva (<em>Swarm  Intelligence</em>; SI) (Blum, 2015; Engelbrecht, 2005; Parsopoulos &amp; Vrahatis, 2002). </font></p>   </li>     </ul>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En la <strong><a href="#f01">Figura 1</a></strong> se muestra una taxonom&iacute;a de las  principales meta-heur&iacute;sticas.</font></p>     <p align="center"><img src="/img/revistas/rcci/v10n3/f0104316.jpg" alt="f01" width="541" height="281"><a name="f01"></a></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>Meta-heur&iacute;sticas  paralelas</strong></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El uso de meta-heur&iacute;sticas  paralelas permite reducir la complejidad computacional del proceso de b&uacute;squeda  considerablemente, en particular, cuando la funci&oacute;n objetivo y las  restricciones relacionadas con el problema de optimizaci&oacute;n necesitan grandes  recursos de c&oacute;mputo y el tama&ntilde;o del espacio de b&uacute;squeda es enorme. </font></p>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El paralelismo aparece naturalmente  cuando en una poblaci&oacute;n de soluciones (o un vecindario), cada una de las  soluciones que pertenecen a la misma es una unidad independiente. Debido a  esto, el rendimiento de las meta-heur&iacute;sticas mejora significativamente cuando  se ejecuta en paralelo (Luong, 2011).</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La computaci&oacute;n paralela y  distribuida puede ser usada en el dise&ntilde;o e implementaci&oacute;n de meta-heur&iacute;sticas  por las razones siguientes: </font></p> <ul>       <li>         <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Acelerar la b&uacute;squeda: uno de los objetivos principales  de paralelizar una meta-heur&iacute;stica es reducir el tiempo de b&uacute;squeda. Esto es un  aspecto crucial para algunas clases de problemas donde tenemos requisitos en  los tiempos de b&uacute;squeda.</font></p>   </li>       <li>         <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Mejorar la robustez: una meta-heur&iacute;stica paralela  podr&iacute;a ser m&aacute;s robusta en correspondencia con solucionar problemas de  optimizaci&oacute;n diferentes y ejemplos diferentes de un problema en particular de  una manera eficaz. La robustez tambi&eacute;n puede ser medida en relaci&oacute;n con la  sensibilidad de la meta-heur&iacute;stica hacia sus par&aacute;metros.</font></p>   </li>       <li>         <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Mejorar la calidad de las  soluciones obtenidas: algunos modelos de meta-heur&iacute;sticas paralelas permiten  mejorar la calidad de la b&uacute;squeda. Ciertamente, intercambiar informaci&oacute;n entre  meta-heur&iacute;sticas cooperativas modificar&aacute; su comportamiento en t&eacute;rminos de  b&uacute;squeda en el &aacute;mbito asociado al problema. El objetivo principal de una  cooperaci&oacute;n paralela entre las meta-heur&iacute;sticas es mejorar la calidad de las  soluciones. </font></p>   </li>     </ul>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Solucionar problemas a gran escala: las meta-heur&iacute;sticas paralelas  permiten solucionar ejemplos complicados de problemas de optimizaci&oacute;n a gran  escala. Un ejemplo de ello es solucionar m&aacute;s modelos matem&aacute;ticos exactos  relacionados con problemas de optimizaci&oacute;n diferentes.</font></p>     ]]></body>
<body><![CDATA[<p><font size="2"><a><font face="Verdana, Arial, Helvetica, sans-serif"><strong>Meta-heur&iacute;stica y GPU</strong></font></a> </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Durante  a&ntilde;os, el uso de procesadores gr&aacute;ficos se ha dedicado a aplicaciones gr&aacute;ficas. Conducido  por la demanda de gr&aacute;ficos 3D de alta definici&oacute;n sobre computadoras personales,  la GPU ha evolucionado hacia un alto paralelismo, un ambiente multi-hilos y  muchos procesadores. Realmente, esta arquitectura posee un alto poder de  procesamiento computacional y un gran ancho de banda de memoria comparado con  la CPU tradicional. En la <strong><a href="#f02">Figura 2</a></strong> tomada de (Corporation, 2014) se muestran las  arquitecturas de la CPU y la GPU respectivamente.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Como se puede apreciar la CPU  no tiene un gran n&uacute;mero de Unidades Aritm&eacute;tico L&oacute;gicas (ALU), pero si posee una  gran cach&eacute; y una unidad de control importante. Como resultado, la CPU est&aacute;  especializada para manejar m&uacute;ltiples y diferentes tareas en paralelo que  requieren muchos datos. As&iacute;, los datos son almacenados dentro de la cach&eacute; para  acelerar sus accesos. La unidad de control manejar&aacute; el flujo de instrucciones  para maximizar la ocupaci&oacute;n en las ALU, y optimizar la gesti&oacute;n de la cach&eacute;. </font></p>     <p align="center"><img src="/img/revistas/rcci/v10n3/f0204316.jpg" alt="f02" width="425" height="198"><a name="f02"></a></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Contrario a  esto, se puede observar como en la GPU se tiene un gran n&uacute;mero de ALU, con un  cach&eacute; limitado y pocas unidades de control. Esto permite que la GPU se  especialice m&aacute;s en calcular de forma masiva y paralela un conjunto de elementos  peque&ntilde;os e independientes, mientras se tiene un gran flujo de datos a procesar.  Debido a que m&aacute;s transistores est&aacute;n dedicados al procesamiento de datos, en vez  de al almacenamiento de los mismos y al control del flujo de instrucciones (Corporation, 2014).</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La  optimizaci&oacute;n combinatoria paralela sobre GPU requiere un esfuerzo enorme en el  dise&ntilde;o. Algunas de las consideraciones m&aacute;s importantes son: la distribuci&oacute;n  eficiente del procesamiento de datos entre CPU y GPU, la sincronizaci&oacute;n de los  hilos, la optimizaci&oacute;n de la transferencia de datos entre las diferentes  memorias, las restricciones de capacidad de estas memorias, entre otras. Tales  asuntos deben ser tenidos en cuenta para el dise&ntilde;o de modelos meta-heur&iacute;sticos  paralelos con el objetivo de solucionar problemas de optimizaci&oacute;n a gran escala  sobre arquitecturas de GPU (Luong, 2011).</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En general,  para las arquitecturas distribuidas, el rendimiento global en meta-heur&iacute;sticas  se ve limitado por los retrasos de comunicaci&oacute;n y el rendimiento alcanzado en  los accesos a la memoria en las arquitecturas GPU. Efectivamente, cuando se  realiza un estudio de las soluciones paralelas, se puede apreciar que el  principal obst&aacute;culo en las arquitecturas distribuidas es la eficiencia de  comunicaci&oacute;n.</font></p>     <p><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Caracterizaci&oacute;n  de la meta-heur&iacute;stica VMO para espacios continuos</font></strong></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La  Optimizaci&oacute;n Basada en Mallas Variables (<em>Variable  Mesh Optimization</em>; VMO) es una meta-heur&iacute;stica poblacional con  caracter&iacute;sticas evolutivas donde un conjunto de nodos que representan  soluciones potenciales a un problema de optimizaci&oacute;n, forman una malla  (poblaci&oacute;n) que se expande y contrae din&aacute;micamente, desplaz&aacute;ndose por el  espacio de b&uacute;squeda. Esta meta-heur&iacute;stica consta esencialmente de cuatro  etapas, en las tres primeras se realiza un proceso de expansi&oacute;n en cada ciclo,  donde se generan nuevos nodos en direcci&oacute;n a los extremos locales (nodos de la  malla con mejor calidad en distintas vecindades) y el extremo global (nodo  obtenido de mejor calidad en todo el proceso desarrollado), as&iacute; como a partir  de los nodos fronteras de la malla (nodos de mayor y menor norma). Luego en la  &uacute;ltima etapa se realiza un proceso de contracci&oacute;n de la malla, donde los  mejores nodos resultantes en cada iteraci&oacute;n son seleccionados como malla  inicial para la iteraci&oacute;n siguiente. La formulaci&oacute;n general de esta  meta-heur&iacute;stica abarca tanto los problemas de optimizaci&oacute;n continuos como los  discretos (C&aacute;ceres, 2009).</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La esencia del m&eacute;todo VMO es crear  una malla de puntos en el espacio m dimensional, sobre la cual se realiza el  proceso de optimizaci&oacute;n de una funci&oacute;n FO (x1, x2,&hellip;, xm); la cual se mueve  mediante un proceso de expansi&oacute;n hacia otras regiones del espacio de b&uacute;squeda.  Esta malla se hace m&aacute;s &ldquo;fina&rdquo; en aquellas zonas que parecen ser m&aacute;s  promisorias. Se dice que es una malla din&aacute;mica en el sentido que la malla  cambia su tama&ntilde;o (cantidad de nodos) y configuraci&oacute;n durante el proceso de b&uacute;squeda.  Los nodos se representan como vectores de la forma n (x1, x2,&hellip;, xm).</font></p>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El proceso de generaci&oacute;n de la  nueva poblaci&oacute;n en cada iteraci&oacute;n comprende los siguientes pasos: </font></p> <ol start="1" type="1">       <li>         <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Generaci&oacute;n       de la malla inicial.</font></p>   </li>       <li>         <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Generaci&oacute;n       de nodos en direcci&oacute;n a los extremos locales (nl).</font></p>   </li>       <li>         <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Generaci&oacute;n       de nodos en direcci&oacute;n al extremo global (ng).</font></p>   </li>       <li>         <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Generaci&oacute;n       de nodos a partir de las fronteras de la malla (nf).</font></p>   </li>     </ol>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">El m&eacute;todo incluye los siguientes  par&aacute;metros de configuraci&oacute;n:</font></p> <ul type="disc">       <li>         <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Cantidad       de nodos de la malla inicial (Ni).</font></p>   </li>       <li>         <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Cantidad       m&aacute;xima de nodos de la malla en cada ciclo (N), donde 3 &middot; Ni &lt; N.</font></p>   </li>       <li>         <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Tama&ntilde;o       de la vecindad (k).</font></p>   </li>       <li>         <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Condici&oacute;n       de parada (M), generalmente se establece una cantidad de evaluaciones de       la FO.</font></p>   </li>     </ul>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En (Bello, Puris, &amp; Falc, 2008; C&aacute;ceres, 2009;  Navarro, Bello, &amp; Abraham, 2013; Puris, Bello, &amp; Molina, 2012) se presenta una descripci&oacute;n  m&aacute;s detallada de cada una de las etapas de la meta-heur&iacute;stica VMO.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">A continuaci&oacute;n se presenta la  estructura general del algoritmo VMO (ver <strong><a href="#f03">Figura 3</a></strong> ), como se puede apreciar la  condici&oacute;n de parada est&aacute; descrita por un n&uacute;mero m&aacute;ximo de evaluaciones de la  funci&oacute;n objetivo. </font></p>     <p align="center"><img src="/img/revistas/rcci/v10n3/f0304316.jpg" alt="f03" width="629" height="307"><a name="f03"></a></p>     <p>&nbsp;</p>     <p><font face="Verdana, Arial, Helvetica, sans-serif"><strong><font size="3">RESULTADOS Y DISCUSI&Oacute;N </font></strong></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Para desarrollar  la versi&oacute;n paralela de la meta-heur&iacute;stica VMO se utiliza un dise&ntilde;o cooperativo  entre la CPU y la GPU, siguiendo la misma metodolog&iacute;a de la versi&oacute;n secuencial,  contando esta nueva versi&oacute;n con las mismas etapas. Se implementa en paralelo la  generaci&oacute;n aleatoria de la malla inicial, para lo que se utiliza la librer&iacute;a  cuRAND incluida en el conjunto de herramientas de CUDA, tambi&eacute;n fueron  paralelizadas las generaciones de las nuevas soluciones en direcci&oacute;n a los  extremos locales, extremo global y fronteras de la malla, para el proceso de  contracci&oacute;n de la malla se construye la matriz de distancia de las soluciones  en la GPU.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En la  realizaci&oacute;n de este trabajo se seleccionaron 15 funciones de referencia para  problemas de optimizaci&oacute;n a gran escala, este banco de pruebas est&aacute; disponible  en la organizaci&oacute;n de una competici&oacute;n en asociaci&oacute;n con la IEEE CEC 2015 Sesi&oacute;n  Especial sobre Optimizaci&oacute;n Global a Gran Escala (2015 <em>IEEE CEC Special Session on Large Scale Global Optimization</em>) (Li, Xiaodong; Tang, Ke; Yang, Zhenyu; Molina, 2015). Esta competici&oacute;n permite  que los participantes ejecuten sus propios algoritmos sobre estas 15 funciones  de referencia. El c&oacute;digo fuente de estas funciones est&aacute; disponible en tres  lenguajes de programaci&oacute;n: Java, C++ y MatLab, en el caso espec&iacute;fico de este trabajo  se utiliz&oacute; el c&oacute;digo en C++ (Li, Tang, Omidvar, Yang, &amp; Qin, 2013).</font></p>     <p><font size="2"><a><font face="Verdana, Arial, Helvetica, sans-serif"><strong>An&aacute;lisis estad&iacute;stico de los resultados</strong></font></a> </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">La  implementaci&oacute;n de la meta-heur&iacute;stica VMO fue realizada en el lenguaje de  programaci&oacute;n C++ utilizando el IDE de desarrollo Netbeans 7.4 en el sistema  operativo Debian 7.3, sobre un microprocesador Intel Core 2 Quad a 2.4 GHz con  3 Gb de memoria RAM DDR2 y una tarjeta de video Geforce GT 630, 192 n&uacute;cleos,  2Gb DDR3.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En los experimentos realizados  sobre los algoritmos implementados se seleccionaron los siguientes par&aacute;metros  de configuraci&oacute;n: </font></p> <ul type="disc">       ]]></body>
<body><![CDATA[<li>         <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Problemas:       15 problemas de minimizaci&oacute;n.</font></p>   </li>       <li>         <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Dimensi&oacute;n:       1000.</font></p>   </li>       <li>         <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Cantidad       de nodos iniciales (Ni): 12.</font></p>   </li>       <li>         <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Cantidad       total de nodos (N): 42.</font></p>   </li>       <li>         <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Tama&ntilde;o       de la vecindad (k): 3.</font></p>   </li>       ]]></body>
<body><![CDATA[<li>         <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Condici&oacute;n       de parada (M): 1.2x106.</font></p>   </li>       <li>         <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Cantidad       de corridas por problema: 15.</font></p>   </li>     </ul>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Primeramente se realiza el  an&aacute;lisis descriptivo de los datos a ambas versiones para observar de manera  general el comportamiento de las soluciones encontradas, obteni&eacute;ndose los  resultados mostrados en <a href="#t01">Tabla 1</a> y <a href="#t02">Tabla 2</a>. </font></p>     <p align="center"><img src="/img/revistas/rcci/v10n3/t0104316.jpg" alt="t01" width="609" height="235"><a name="t01"></a></p>     <p align="center"><img src="/img/revistas/rcci/v10n3/t0204316.jpg" alt="t02" width="618" height="241"><a name="t02"></a></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Para  comparar algoritmos sobre m&uacute;ltiples conjuntos de datos se utilizan diversas  t&eacute;cnicas estad&iacute;sticas con el objetivo de determinar la existencia o no de  diferencias significativas entre ellos. En este trabajo se usar&aacute;n las pruebas  no param&eacute;tricas, debido a que se desea establecer una comparaci&oacute;n ente dos  muestras relacionadas, se utilizar&aacute; el test de Wilcoxon.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Como se muestra en la <a href="/img/revistas/rcci/v10n3/t0304316.jpg" target="_blank">Tabla 3 y Tabla 4</a> los valores de significaci&oacute;n  son mayores a 0.05, acept&aacute;ndose la hip&oacute;tesis nula de que la mediana de las  diferencias entre las soluciones de ambas versiones es igual a cero, en otras  palabras la hip&oacute;tesis de igualdad es aceptada, garantiz&aacute;ndose que no existen  diferencias significativas en el comportamiento entre los dos algoritmos. </font></p>     ]]></body>
<body><![CDATA[<p><font size="2"><a><font face="Verdana, Arial, Helvetica, sans-serif"><strong>An&aacute;lisis temporal de los algoritmos</strong></font></a> </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Se realiz&oacute; el an&aacute;lisis  descriptivo de los tiempos de ejecuci&oacute;n a ambas versiones para observar de  manera general las ventajas de la versi&oacute;n paralela sobre la versi&oacute;n secuencial,  &eacute;ste tiempo est&aacute; expresado en milisegundos, dado que en la implementaci&oacute;n de  ambos algoritmos no se realizaron cambios en la forma de evaluar las funciones,  en este an&aacute;lisis se tom&oacute; la diferencia entre el tiempo total de ejecuci&oacute;n y el  tiempo de evaluaci&oacute;n de la funci&oacute;n objetivo, obteni&eacute;ndose los resultados  mostrados en las <a href="/img/revistas/rcci/v10n3/t0404316.jpg" target="_blank">tablas 5 y 6</a>. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Como se  puede apreciar existe menor variabilidad en los tiempos de ejecuci&oacute;n del  algoritmo paralelo que en su versi&oacute;n secuencial, observ&aacute;ndose mejoras  significativas en el mismo.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Para calcular la aceleraci&oacute;n  que representa los tiempos de ejecuci&oacute;n del algoritmo paralelo con respecto al  secuencial se utiliz&oacute; la siguiente ecuaci&oacute;n: </font></p>     <p align="center"><img src="/img/revistas/rcci/v10n3/fo0104316.jpg" alt="fo01" width="319" height="43"></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Al utilizar la anterior ecuaci&oacute;n se obtuvo en promedio una aceleraci&oacute;n  de 3.1577, representando el tiempo de ejecuci&oacute;n paralelo un 35,02 % del tiempo  de ejecuci&oacute;n secuencial.</font></p>     <p>&nbsp;</p>     <p><font face="Verdana, Arial, Helvetica, sans-serif" size="3"><B>CONCLUSIONES</B></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Como resultado de este trabajo se  implement&oacute; una versi&oacute;n paralela de la meta-heur&iacute;stica poblacional VMO utilizando  las ventajas de paralelizaci&oacute;n que ofrece la arquitectura CUDA.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Haciendo  uso del alto grado de paralelismo que posee la obtenci&oacute;n de nuevas soluciones  en la meta-heur&iacute;stica VMO, ejecut&aacute;ndose sobre la arquitectura CUDA se logr&oacute;  obtener una disminuci&oacute;n aproximada de un 35,02 % en el tiempo de procesamiento  de la versi&oacute;n secuencial a la paralela, con una aceleraci&oacute;n promedio de 3,1577.</font></p>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">A partir de las recientes  caracter&iacute;sticas incorporadas por CUDA, la paralelizaci&oacute;n de la evaluaci&oacute;n de la  funci&oacute;n objetivo y un mejor manejo de memoria en el algoritmo ser&aacute;n l&iacute;neas  futuras de trabajo. </font></p>     <p align="left"><font face="Verdana, Arial, Helvetica, sans-serif" size="3"><B>REFERENCIAS  BIBLIOGR&Aacute;FICAS</B></font>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">B, T. (1996). <em>Evolutionary  algorithms in theory and practice: evolution strategies, evolutionary  programming, genetic algorithms</em>. Oxford University Press.    </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">BAYKASOGLU, A., OWEN, S., &amp; GINDY, N. (1999). A taboo  search based approach to find the pareto optimal set in multiple objective  optimization. <em>Engineering Optimization</em>, <em>31</em>(6),  731&ndash;748. http://doi.org/10.1080/03052159908941394</font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">BELLO, R., PURIS, A., &amp; FALC, R.  (2008). Feature Selection through Dynamic Mesh Optimization.    </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">BLUM, C. (2015). <em>Swarm  Intelligence in Optimization</em>. http://doi.org/10.1007/978-3-540-74089-6</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">BLUM, C., &amp; ROLI, A. (2003).  Metaheuristics in combinatorial optimization: Overview and conceptual  comparison. <em>ACM COMPUTING SURVEYS</em>, <em>35</em>, 268&ndash;308.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">C&Aacute;CERES, A. Y. P. (2009). <em>Desarrollo  de meta-heur&iacute;sticas poblacionales para la soluci&oacute;n de problemas complejos</em>. <em>Departamento  de Ciencia de la Computaci&oacute;n</em>. Universidad Central &ldquo;Marta Abreu&rdquo; de Las  Villas, Santa Clara.</font></p>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">CORPORATION, N. (2014). <em>CUDA C  Programming Guide</em>. Retrieved from www.nvidia.com</font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">DAVIS, L. (1987). Genetic algorithms  and simulated annealing.    </font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">ENGELBRECHT, A. P. (2005). <em>Fundamentals  of computational swarm intelligence</em> (Vol. 1). Wiley Chichester.    </font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">GLOVER, F., &amp; KOCHENBERGER, G. A.  (2003). <em>Handbook of metaheuristics</em>. Kluwer Academic Publishers.    </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">GOFFE, W. L., FERRIER, G. D., &amp;  ROGERS, J. (1994). Global optimization of statistical functions with simulated  annealing. <em>Journal of Econometrics</em>, <em>60</em>(1), 65&ndash;99.  http://doi.org/http://dx.doi.org/10.1016/0304-4076(94)90038-8</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">GONZ&Aacute;LEZ, O. E. L. (2014). <em>Aplicaci&oacute;n  de t&eacute;cnicas paralelas utilizando CUDA, al proceso de simulaci&oacute;n de poblaciones  en secuencias gen&eacute;ticas.</em> Universidad Central &ldquo;Marta Abreu&rdquo; de Las Villas,  Santa Clara.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">HANSEN, P., &amp; MLADENOVI&#262;, N.  (1997). Variable neighborhood search for the p-median. <em>Location Science</em>, <em>5</em>(4), 207&ndash;226.  http://doi.org/http://dx.doi.org/10.1016/S0966-8349(98)00030-8</font></p>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">HANSEN, P., &amp; MLADENOVI&#262;, N.  (1999). An Introduction to Variable Neighborhood Search. In S. Vo&szlig;, S.  Martello, I. Osman, &amp; C. Roucairol (Eds.), <em>Meta-Heuristics SE&nbsp; - 30</em> (pp. 433&ndash;458). Springer US.  http://doi.org/10.1007/978-1-4615-5775-3_30</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">HOOKER, J. N. (1995). Testing Heuristics:  We Have It All Wrong. <em>Journal of Heuristics</em>, <em>1</em>, 33&ndash;42.</font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">KLINOWSKI, J. (2015). Taboo search&#8239;:  An approach to the multiple minima problem for continuous functions,  (November).    </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">KRAMER, O. (2014). Iterated Local  Search. In <em>A Brief Introduction to Continuous Evolutionary Optimization  SE&nbsp; - 5</em> (pp. 45&ndash;54). Springer  International Publishing. http://doi.org/10.1007/978-3-319-03422-5_5</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">LI, X., TANG, K., OMIDVAR, M. N.,  YANG, Z., &amp; QIN, K. (2013). Benchmark Functions for the CEC&rsquo;2013 Special  Session and Competition on Large-Scale Global Optimization.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">LI, XIAODONG; TANG, KE; YANG, ZHENYU;  MOLINA, D. (2015). Benchmark Functions for the CEC&rsquo;2015 Special Session and  Competition on Large Scale Global Optimization. Retrieved from  http://goanna.cs.rmit.edu.au/~xiaodong/cec13-lsgo/competition/</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">    <br>   LOUREN&Ccedil;O, H., MARTIN, O., &amp;  ST&Uuml;TZLE, T. (2010). Iterated Local Search: Framework and Applications. In M.  Gendreau &amp; J.-Y. Potvin (Eds.), <em>Handbook of Metaheuristics SE&nbsp; - 12</em> (Vol. 146, pp. 363&ndash;397). Springer  US. http://doi.org/10.1007/978-1-4419-1665-5_12</font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">LUONG, T. VAN. (2011). Parallel  Metaheuristics on GPU. PhdThesis</font><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">MLADENOVI&#262;, N., &amp; HANSEN, P.  (1997). Variable neighborhood search. <em>Computers &amp; Operations Research</em>, <em>24</em>(11), 1097&ndash;1100.  http://doi.org/http://dx.doi.org/10.1016/S0305-0548(97)00031-2</font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">NAVARRO, R., BELLO, R., &amp;  ABRAHAM, A. (2013). Niche-Clearing-based Variable Mesh Optimization for  Multimodal Problems.    </font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">OSMAN, I. H., &amp; KELLY, J. P. (1996). <em>Meta-heuristics:  theory and applications</em>. Kluwer Academic.    </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">OWENS, J. D., LUEBKE, D., GOVINDARAJU, N., HARRIS, M.,  KR&Uuml;GER, J., LEFOHN, A. E., &amp; PURCELL, T. J. (2007). A Survey of  General-Purpose Computation on Graphics Hardware. <em>Computer Graphics Forum</em>, <em>26</em>(1), 80&ndash;113. http://doi.org/10.1111/j.1467-8659.2007.01012.x</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">PARSOPOULOS, K. E., &amp; VRAHATIS,  M. N. (2002). Recent approaches to global optimization problems through  Particle Swarm Optimization. <em>Natural Computing</em>, <em>1</em>, 235&ndash;306.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">PURIS, A., BELLO, R., &amp; MOLINA, D.  (2012). Variable mesh optimization for continuous optimization problems,  511&ndash;525. http://doi.org/10.1007/s00500-011-0753-9</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">ST&Uuml;TZLE, T. (2006). Iterated local  search for the quadratic assignment problem. <em>European Journal of Operational  Research</em>, <em>174</em>(3), 1519&ndash;1539.  http://doi.org/http://dx.doi.org/10.1016/j.ejor.2005.01.066</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">SZU, H., &amp; HARTLEY, R. (1987).  Fast simulated annealing. <em>Physics Letters A</em>, <em>122</em>(3), 157&ndash;162.  http://doi.org/http://dx.doi.org/10.1016/0375-9601(87)90796-1</font></p>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">TAILLARD, E. (1991). Robust taboo  search for the quadratic assignment problem. <em>Parallel Computing</em>, <em>17</em>(4&ndash;5),  443&ndash;455. http://doi.org/http://dx.doi.org/10.1016/S0167-8191(05)80147-4</font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">VOUDOURIS, C., &amp; TSANG, E. (1995).  Guided Local Search, (August).    </font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">VOUDOURIS, C., &amp; TSANG, E. (2015).  Partial Constraint Satisfaction Problems and Guided Local Search, (DECEMBER  2000).     </font></p>     <p name="_ENREF_1">&nbsp;</p>     <p name="_ENREF_1">&nbsp;</p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Recibido: 25/03/2016    <br> Aceptado: 30/06/2016</font></p>      ]]></body><back>
<ref-list>
<ref id="B1">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[B]]></surname>
<given-names><![CDATA[T]]></given-names>
</name>
</person-group>
<source><![CDATA[Evolutionary algorithms in theory and practice: evolution strategies, evolutionary programming, genetic algorithms]]></source>
<year>1996</year>
<publisher-name><![CDATA[Oxford University Press]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B2">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[BAYKASOGLU]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[OWEN]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
<name>
<surname><![CDATA[GINDY]]></surname>
<given-names><![CDATA[N]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A taboo search based approach to find the pareto optimal set in multiple objective optimization.]]></article-title>
<source><![CDATA[]]></source>
<year>2015</year>
<volume>31</volume>
<numero>6</numero>
<issue>6</issue>
<page-range>731-748</page-range></nlm-citation>
</ref>
<ref id="B3">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[BELLO]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
<name>
<surname><![CDATA[PURIS]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[FALC]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
</person-group>
<source><![CDATA[Feature Selection through Dynamic Mesh Optimization]]></source>
<year>2008</year>
</nlm-citation>
</ref>
<ref id="B4">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[BLUM]]></surname>
<given-names><![CDATA[C]]></given-names>
</name>
</person-group>
<source><![CDATA[Swarm Intelligence in Optimization]]></source>
<year>2015</year>
</nlm-citation>
</ref>
<ref id="B5">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[BLUM]]></surname>
<given-names><![CDATA[C]]></given-names>
</name>
<name>
<surname><![CDATA[ROLI]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
</person-group>
<source><![CDATA[Metaheuristics in combinatorial optimization: Overview and conceptual comparison]]></source>
<year>2003</year>
<volume>35</volume>
<page-range>268-308</page-range><publisher-name><![CDATA[ACM COMPUTING SURVEYS]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B6">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[CÁCERES]]></surname>
<given-names><![CDATA[A. Y. P]]></given-names>
</name>
</person-group>
<source><![CDATA[Desarrollo de meta-heurísticas poblacionales para la solución de problemas complejos.]]></source>
<year>2009</year>
<publisher-name><![CDATA[Universidad Central Marta Abreu de Las Villas]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B7">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[CORPORATION]]></surname>
<given-names><![CDATA[N]]></given-names>
</name>
</person-group>
<source><![CDATA[CUDA C Programming Guide]]></source>
<year>2014</year>
</nlm-citation>
</ref>
<ref id="B8">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[DAVIS]]></surname>
<given-names><![CDATA[L]]></given-names>
</name>
</person-group>
<source><![CDATA[Genetic algorithms and simulated annealing]]></source>
<year>1987</year>
</nlm-citation>
</ref>
<ref id="B9">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[ENGELBRECHT]]></surname>
<given-names><![CDATA[A. P]]></given-names>
</name>
</person-group>
<source><![CDATA[Fundamentals of computational swarm intelligence]]></source>
<year>2005</year>
<volume>Vol. 1</volume>
<publisher-name><![CDATA[Wiley Chichester]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B10">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[GLOVER]]></surname>
<given-names><![CDATA[F]]></given-names>
</name>
<name>
<surname><![CDATA[KOCHENBERGER]]></surname>
<given-names><![CDATA[G. A]]></given-names>
</name>
</person-group>
<source><![CDATA[Handbook of metaheuristics]]></source>
<year>2003</year>
<publisher-name><![CDATA[Kluwer Academic Publishers]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B11">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[GOFFE]]></surname>
<given-names><![CDATA[W. L]]></given-names>
</name>
<name>
<surname><![CDATA[FERRIER]]></surname>
<given-names><![CDATA[G. D]]></given-names>
</name>
<name>
<surname><![CDATA[ROGERS]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Global optimization of statistical functions with simulated annealing]]></article-title>
<source><![CDATA[]]></source>
<year>2015</year>
<volume>60</volume>
<numero>1</numero>
<issue>1</issue>
<page-range>65-99</page-range></nlm-citation>
</ref>
<ref id="B12">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[GONZÁLEZ]]></surname>
<given-names><![CDATA[O. E. L]]></given-names>
</name>
</person-group>
<source><![CDATA[Aplicación de técnicas paralelas utilizando CUDA, al proceso de simulación de poblaciones en secuencias genéticas]]></source>
<year>2014</year>
<publisher-name><![CDATA[Universidad Central Marta Abreu de Las Villas]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B13">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[HANSEN]]></surname>
<given-names><![CDATA[P]]></given-names>
</name>
<name>
<surname><![CDATA[MLADENOVI&#262;]]></surname>
<given-names><![CDATA[N]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Variable neighborhood search for the p-median.]]></article-title>
<source><![CDATA[]]></source>
<year>2015</year>
<volume>5</volume>
<numero>4</numero>
<issue>4</issue>
<page-range>207-226</page-range></nlm-citation>
</ref>
<ref id="B14">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[HANSEN]]></surname>
<given-names><![CDATA[P]]></given-names>
</name>
<name>
<surname><![CDATA[MLADENOVI&#262;]]></surname>
<given-names><![CDATA[N]]></given-names>
</name>
</person-group>
<source><![CDATA[An Introduction to Variable Neighborhood Search.]]></source>
<year>1999</year>
<page-range>433-458</page-range><publisher-name><![CDATA[Springer US]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B15">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[HOOKER]]></surname>
<given-names><![CDATA[J. N]]></given-names>
</name>
</person-group>
<source><![CDATA[Testing Heuristics: We Have It All Wrong]]></source>
<year>1995</year>
<volume>1</volume>
<page-range>33-42</page-range><publisher-name><![CDATA[Journal of Heuristics]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B16">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[KLINOWSKI]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
</person-group>
<source><![CDATA[Taboo search: An approach to the multiple minima problem for continuous functions]]></source>
<year>2015</year>
</nlm-citation>
</ref>
<ref id="B17">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[KRAMER]]></surname>
<given-names><![CDATA[O]]></given-names>
</name>
</person-group>
<source><![CDATA[Iterated Local Search]]></source>
<year>2014</year>
<page-range>45-54</page-range><publisher-name><![CDATA[Springer International Publishing]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B18">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[LI]]></surname>
<given-names><![CDATA[X]]></given-names>
</name>
<name>
<surname><![CDATA[TANG]]></surname>
<given-names><![CDATA[K]]></given-names>
</name>
<name>
<surname><![CDATA[OMIDVAR]]></surname>
<given-names><![CDATA[M. N]]></given-names>
</name>
<name>
<surname><![CDATA[YANG]]></surname>
<given-names><![CDATA[Z]]></given-names>
</name>
<name>
<surname><![CDATA[QIN]]></surname>
<given-names><![CDATA[K]]></given-names>
</name>
</person-group>
<source><![CDATA[Benchmark Functions for the CEC&#8217;2013 Special Session and Competition on Large-Scale Global Optimization]]></source>
<year>2013</year>
</nlm-citation>
</ref>
<ref id="B19">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[XIAODONG]]></surname>
<given-names><![CDATA[LI]]></given-names>
</name>
<name>
<surname><![CDATA[TANG]]></surname>
<given-names><![CDATA[KE]]></given-names>
</name>
<name>
<surname><![CDATA[ZHENYU]]></surname>
<given-names><![CDATA[YANG]]></given-names>
</name>
<name>
<surname><![CDATA[MOLINA]]></surname>
<given-names><![CDATA[D]]></given-names>
</name>
</person-group>
<source><![CDATA[Benchmark Functions for the CEC&#8217;2015 Special Session and Competition on Large Scale Global Optimization]]></source>
<year>2015</year>
</nlm-citation>
</ref>
<ref id="B20">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[LOURENÇO]]></surname>
<given-names><![CDATA[H]]></given-names>
</name>
<name>
<surname><![CDATA[MARTIN]]></surname>
<given-names><![CDATA[O]]></given-names>
</name>
<name>
<surname><![CDATA[STÜTZLE]]></surname>
<given-names><![CDATA[T]]></given-names>
</name>
</person-group>
<source><![CDATA[Iterated Local Search: Framework and Applications]]></source>
<year>2010</year>
<volume>Vol. 146</volume>
<page-range>363-397</page-range><publisher-name><![CDATA[Springer US]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B21">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[LUONG]]></surname>
<given-names><![CDATA[T. VAN]]></given-names>
</name>
</person-group>
<source><![CDATA[Parallel Metaheuristics on GPU]]></source>
<year>2011</year>
</nlm-citation>
</ref>
<ref id="B22">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[MLADENOVI&#262;]]></surname>
<given-names><![CDATA[N]]></given-names>
</name>
<name>
<surname><![CDATA[HANSEN]]></surname>
<given-names><![CDATA[P]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Variable neighborhood search]]></article-title>
<source><![CDATA[]]></source>
<year>2015</year>
<volume>24</volume>
<numero>11</numero>
<issue>11</issue>
<page-range>1097-1100</page-range></nlm-citation>
</ref>
<ref id="B23">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[NAVARRO]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
<name>
<surname><![CDATA[BELLO]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
<name>
<surname><![CDATA[A]]></surname>
<given-names><![CDATA[ABRAHAM]]></given-names>
</name>
</person-group>
<source><![CDATA[Niche-Clearing-based Variable Mesh Optimization for Multimodal Problems]]></source>
<year>2013</year>
</nlm-citation>
</ref>
<ref id="B24">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[OSMAN]]></surname>
<given-names><![CDATA[I. H]]></given-names>
</name>
<name>
<surname><![CDATA[KELLY]]></surname>
<given-names><![CDATA[J. P]]></given-names>
</name>
</person-group>
<source><![CDATA[Meta-heuristics:: theory and applications]]></source>
<year>1996</year>
<publisher-name><![CDATA[Kluwer Academic]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B25">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[OWENS]]></surname>
<given-names><![CDATA[J. D]]></given-names>
</name>
<name>
<surname><![CDATA[LUEBKE]]></surname>
<given-names><![CDATA[D]]></given-names>
</name>
<name>
<surname><![CDATA[GOVINDARAJU]]></surname>
<given-names><![CDATA[N]]></given-names>
</name>
<name>
<surname><![CDATA[HARRIS]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
<name>
<surname><![CDATA[KRÜGER]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
<name>
<surname><![CDATA[LEFOHN]]></surname>
<given-names><![CDATA[A. E]]></given-names>
</name>
<name>
<surname><![CDATA[PURCELL]]></surname>
<given-names><![CDATA[T. J]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A Survey of General-Purpose Computation on Graphics Hardware]]></article-title>
<source><![CDATA[]]></source>
<year>2015</year>
<volume>26</volume>
<numero>1</numero>
<issue>1</issue>
<page-range>80-113</page-range></nlm-citation>
</ref>
<ref id="B26">
<nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[PARSOPOULOS]]></surname>
<given-names><![CDATA[K. E]]></given-names>
</name>
<name>
<surname><![CDATA[VRAHATIS]]></surname>
<given-names><![CDATA[M. N]]></given-names>
</name>
</person-group>
<source><![CDATA[Recent approaches to global optimization problems through Particle Swarm Optimization]]></source>
<year>2002</year>
<volume>1</volume>
<page-range>235-306</page-range><publisher-name><![CDATA[Natural Computing]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B27">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[PURIS]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[BELLO]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
<name>
<surname><![CDATA[MOLINA]]></surname>
<given-names><![CDATA[D]]></given-names>
</name>
</person-group>
<source><![CDATA[Variable mesh optimization for continuous optimization problems]]></source>
<year>2012</year>
<page-range>511-525</page-range></nlm-citation>
</ref>
<ref id="B28">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[STÜTZLE]]></surname>
<given-names><![CDATA[T]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Iterated local search for the quadratic assignment problem]]></article-title>
<source><![CDATA[]]></source>
<year>2015</year>
<volume>174</volume>
<numero>3</numero>
<issue>3</issue>
<page-range>1519-1539</page-range></nlm-citation>
</ref>
<ref id="B29">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[SZU]]></surname>
<given-names><![CDATA[H]]></given-names>
</name>
<name>
<surname><![CDATA[HARTLEY]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Fast simulated annealing]]></article-title>
<source><![CDATA[]]></source>
<year>2015</year>
<volume>122</volume>
<numero>3</numero>
<issue>3</issue>
<page-range>157-162.</page-range></nlm-citation>
</ref>
<ref id="B30">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[TAILLARD]]></surname>
<given-names><![CDATA[E]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Robust taboo search for the quadratic assignment problem]]></article-title>
<source><![CDATA[]]></source>
<year>2015</year>
<volume>17</volume>
<numero>4-5</numero>
<issue>4-5</issue>
<page-range>443-455</page-range></nlm-citation>
</ref>
<ref id="B31">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[VOUDOURIS]]></surname>
<given-names><![CDATA[C]]></given-names>
</name>
<name>
<surname><![CDATA[TSANG]]></surname>
<given-names><![CDATA[E]]></given-names>
</name>
</person-group>
<source><![CDATA[Guided Local Search]]></source>
<year>1995</year>
</nlm-citation>
</ref>
<ref id="B32">
<nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[VOUDOURIS]]></surname>
<given-names><![CDATA[C]]></given-names>
</name>
<name>
<surname><![CDATA[TSANG]]></surname>
<given-names><![CDATA[E]]></given-names>
</name>
</person-group>
<source><![CDATA[Partial Constraint Satisfaction Problems and Guided Local Search]]></source>
<year>2015</year>
</nlm-citation>
</ref>
</ref-list>
</back>
</article>
