<?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-62302010000600025</article-id>
<title-group>
<article-title xml:lang="es"><![CDATA[Algoritmo heurístico híbrido con múltiples vecindarios y recocido simulado para resolver el RCPSP]]></article-title>
<article-title xml:lang="en"><![CDATA[Hybrid Variable Neighborhood and Simulated Annealing Heuristic Algorithm to Solve RCPSP]]></article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Rivera]]></surname>
<given-names><![CDATA[Juan Carlos]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Celín]]></surname>
<given-names><![CDATA[Ana Josefina]]></given-names>
</name>
<xref ref-type="aff" rid="A02"/>
</contrib>
</contrib-group>
<aff id="A01">
<institution><![CDATA[,Universidad Eafit Departamento de Ciencias Básicas ]]></institution>
<addr-line><![CDATA[Medellín ]]></addr-line>
<country>Colombia</country>
</aff>
<aff id="A02">
<institution><![CDATA[,Universidad de Antioquia Facultad de Ingeniería ]]></institution>
<addr-line><![CDATA[Medellín ]]></addr-line>
<country>Colombia</country>
</aff>
<pub-date pub-type="pub">
<day>00</day>
<month>12</month>
<year>2010</year>
</pub-date>
<pub-date pub-type="epub">
<day>00</day>
<month>12</month>
<year>2010</year>
</pub-date>
<numero>56</numero>
<fpage>255</fpage>
<lpage>267</lpage>
<copyright-statement/>
<copyright-year/>
<self-uri xlink:href="http://www.scielo.org.co/scielo.php?script=sci_arttext&amp;pid=S0120-62302010000600025&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-62302010000600025&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-62302010000600025&amp;lng=en&amp;nrm=iso"></self-uri><abstract abstract-type="short" xml:lang="es"><p><![CDATA[En este artículo se presenta un algoritmo heurístico híbrido para resolver el Problema de Programación de Proyectos con Recursos Limitados (RCPSP). El algoritmo diseñado combina elementos de Recocido Simulado y Búsqueda en Múltiples Vecindarios. Adicionalmente, utiliza el método denominado Justificación, el cual es un método diseñado específicamente para el RCPSP. Para evaluar el desempeño del algoritmo se realizó un análisis estadístico para el ajuste de parámetros. Los resultados se comparan con los reportados en la literatura científica.]]></p></abstract>
<abstract abstract-type="short" xml:lang="en"><p><![CDATA[This paper presents a hybrid heuristic algorithm for solving the Resource Constrained Project Scheduling Problem (RCPSP). The algorithm designed combines elements of Simulated Annealing and Variable Neighborhood Search. Additionally, it uses the method called Justification, which is a method designed specifically for the RCPSP. To evaluate the performance of the algorithm, a statistical analysis for tuning the parameters has done. The results were compared with those reported in the scientific literature.]]></p></abstract>
<kwd-group>
<kwd lng="es"><![CDATA[recocido simulado]]></kwd>
<kwd lng="es"><![CDATA[algoritmos heurísticos]]></kwd>
<kwd lng="es"><![CDATA[búsqueda en vecindarios variables (VNS)]]></kwd>
<kwd lng="es"><![CDATA[justificación]]></kwd>
<kwd lng="es"><![CDATA[RCPSP]]></kwd>
<kwd lng="es"><![CDATA[programación de producción]]></kwd>
<kwd lng="en"><![CDATA[Simulated Annealing]]></kwd>
<kwd lng="en"><![CDATA[Heuristic Algorithms]]></kwd>
<kwd lng="en"><![CDATA[Variable Neighborhoods Search (VNS)]]></kwd>
<kwd lng="en"><![CDATA[Justification]]></kwd>
<kwd lng="en"><![CDATA[RCPSP]]></kwd>
<kwd lng="en"><![CDATA[Scheduling]]></kwd>
</kwd-group>
</article-meta>
</front><body><![CDATA[ <p align="center"><font face="Verdana" size="4"> <b>Algoritmo heur&iacute;stico h&iacute;brido con m&uacute;ltiples vecindarios y recocido simulado para resolver el RCPSP</b></font></p>      <p align="center"><font face="Verdana" size="4"> <b>Hybrid Variable Neighborhood and Simulated Annealing Heuristic Algorithm to Solve RCPSP</b></font></p>      <p> <font face="Verdana" size="2"> <i>Juan Carlos Rivera<sup>1</sup>*, Ana Josefina Cel&iacute;n<sup>2</sup></i></font></p>       <p> <font face="Verdana" size="2"><sup>1</sup>Departamento de Ciencias B&aacute;sicas, Universidad Eafit, Carrera 49 N.&deg; 7 sur- 50, Bloque 38, oficina 424, Medell&iacute;n, Colombia    <br>       <br>  <sup>2</sup>Facultad de Ingenier&iacute;a, Universidad de Antioquia, Calle 67 N.&deg; 53-108, Bloque 21, oficina 404, Medell&iacute;n, Colombia</font></p>      <br>  <hr noshade size="1">      <p><font face="Verdana" size="3"><b>Resumen</b></font></p>      <p><font face="Verdana" size="2">En este art&iacute;culo se presenta un algoritmo heur&iacute;stico h&iacute;brido para resolver el Problema de Programaci&oacute;n de Proyectos con Recursos Limitados (RCPSP). El algoritmo dise&ntilde;ado combina elementos de Recocido Simulado y B&uacute;squeda en M&uacute;ltiples Vecindarios. Adicionalmente, utiliza el m&eacute;todo denominado Justificaci&oacute;n, el cual es un m&eacute;todo dise&ntilde;ado espec&iacute;ficamente para el RCPSP. Para evaluar el desempe&ntilde;o del algoritmo se realiz&oacute; un an&aacute;lisis estad&iacute;stico para el ajuste de par&aacute;metros. Los resultados se comparan con los reportados en la literatura cient&iacute;fica.</font></p>      <p><font face="Verdana" size="2"><i>Palabras clave:</i>recocido simulado, algoritmos heur&iacute;sticos, b&uacute;squeda en vecindarios variables (VNS), justificaci&oacute;n, RCPSP, programaci&oacute;n de producci&oacute;n</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">This paper presents a hybrid heuristic algorithm for solving the Resource Constrained Project Scheduling Problem (RCPSP). The algorithm designed combines elements of Simulated Annealing and Variable Neighborhood Search. Additionally, it uses the method called Justification, which is a method designed specifically for the RCPSP. To evaluate the performance of the algorithm, a statistical analysis for tuning the parameters has done. The results were compared with those reported in the scientific literature.</font></p>       <p><font face="Verdana" size="2"><i>Keywords:</i>Simulated Annealing, Heuristic Algorithms, Variable Neighborhoods Search (VNS), Justification, RCPSP, Scheduling.</font></p>   <hr noshade size="1">      <p><font face="Verdana" size="3"><b>Introducci&oacute;n</b></font></p>      <p> <font face="Verdana" size="2">Los problemas de planeaci&oacute;n de proyectos son muy comunes en cualquier tipo de industria u organizaci&oacute;n, ya que pueden ser aplicados en la programaci&oacute;n de producci&oacute;n industrial, proyectos de construcci&oacute;n, prestaci&oacute;n de servicios, actividades cotidianas y rutinarias, entre otras.    <br>    <br>  La programaci&oacute;n de proyectos con recursos limitados es un ambiente en el cual se deben procesar un conjunto de actividades sujetas a restricciones de precedencias y recursos, siendo estos &uacute;ltimos compartidos por varias actividades. As&iacute;, el problema consiste en realizar tal asignaci&oacute;n optimizando alguna funci&oacute;n objetivo. A pesar de que la definici&oacute;n dada anteriormente es aparentemente tan sencilla y &uacute;nicamente cualitativa, da origen a definiciones, formalizaciones y grandes discusiones de tipo matem&aacute;tico cuando se trata de resolver el problema general de programaci&oacute;n de tareas.</font></p>       <p><font face="Verdana" size="3"><b>Definici&oacute;n del problema</b> </font></p>       <p> <font face="Verdana" size="2">El problema de programaci&oacute;n de proyectos con recursos limitados (RCPSP) puede ser descrito matem&aacute;ticamente de la siguiente manera (basado en las definiciones de [1-3&#93;):    <br>         ]]></body>
<body><![CDATA[<br>  Se tiene un conjunto <i>J</i> = &#123; 1, ... , <i>n</i>&#125;    de actividades a ser procesadas. Asociado a cada actividad <i>j</i> &#1028; <i>J</i>, existe una duraci&oacute;n <i>d<sub>j</sub></i>. Adem&aacute;s, las actividades est&aacute;n relacionadas mediante restricciones de precedencia, siendo <i>P<sub>j</sub></i> &#1028; J&#123; <i>j</i>&#125;    el conjunto de todas las actividades predecesoras inmediatas de la actividad <i>j</i>. Las restricciones de precedencia pueden estar representadas por un grafo dirigido ac&iacute;clico G=(J,H) donde H=&#123; (i, j)/i &#1028; <i>P<sub>j</sub>, j &#1028; J</i> &#125;    Adicionalmente, existe un conjunto <i>K</i>=&#123; 1,...,<i>m</i>&#125;    de tipos de recursos renovables, donde cada tipo de recurso <i>k   </i> &#1028; <i> K</i>  tiene una capacidad total <i>R<sub>k</sub></i> durante cada intervalo de tiempo del per&iacute;odo de programaci&oacute;n. Cada actividad <i>j</i> requiere una cantidad constante de <i>r<sub>jk</sub></i> unidades del recurso de tipo <i>k</i> durante todo el intervalo de su duraci&oacute;n. Se asume, sin p&eacute;rdida de generalidad, que <i>r<sub>jk</sub></i> &le; <i>R<sub>k</sub></i>, lo cual garantiza la existencia de soluciones factibles.    <br>    <br>  Todas las cantidades <i>d<sub>j</sub>, r<sub>jk</sub></i> y <i>R<sub>k</sub></i> son n&uacute;meros enteros no negativos para todo <i>j</i> &#1028; <i>J</i> y todo <i>k</i> &#1028; <i>K</i>.    <br>    <br>  No se permite interrumpir el procesamiento de las actividades y se asume que los tiempos de alistamiento est&aacute;n incluidos en los tiempos de procesamiento. Una vez que un recurso es ocupado por una actividad, no ser&aacute; liberado hasta que la actividad sea realizada.    <br>    <br>  Las actividades 1 y <i>n</i> son actividades ficticias, usadas con el objetivo de representar el inicio y la finalizaci&oacute;n de los proyectos, respectivamente. Se asume adem&aacute;s que <i>d<sub>1</sub> = d<sub>n</sub> = 0 y r<sub>1k</sub> = r<sub>nk</sub> = 0</i>, para todo <i>k </i> &#1028; <i> K</i>.    <br>    <br>  El objetivo es encontrar un programa que se satisfaga las restricciones de precedencia y de recursos, y que minimice la duraci&oacute;n del proyecto (makespan).    <br>    ]]></body>
<body><![CDATA[<br>  De acuerdo con [4&#93;, el RCPSP es el problema m&aacute;s importante en Programaci&oacute;n de Proyectos. Adem&aacute;s, el RCPSP es una generalizaci&oacute;n de otros problemas de programaci&oacute;n de producci&oacute;n como Flow Shop, Job Shop y Open Shop ([5, 6&#93;).    <br>    <br>  Aunque este problema no es el m&aacute;s general, ya que usa tiempos de procesamiento determin&iacute;sticos para las actividades, los recursos utilizados son renovables (no considera recursos no renovables que involucran el manejo de inventarios y costos), no se permite interrumpir el procesamiento de las actividades, entre otras caracter&iacute;sticas, resolverlo eficientemente es a&uacute;n de gran inter&eacute;s para la comunidad cient&iacute;fica ya que, por su pertenencia a la clase de problemas NP-Hard [5&#93;, es un problema dif&iacute;cil de resolver para el cual no se conocen algoritmos que lo resuelvan exactamente de manera eficiente. Una formulaci&oacute;n matematica para el RCPSP es presentada en [1&#93;:</font></p>        <p> <img src="../img/revistas/rfiua/n56/n56a25e01.gif"></p>        <p> <img src="../img/revistas/rfiua/n56/n56a25e03.gif"></p>        <p> <font face="Verdana" size="2">Donde:    <br>    <br>   &epsilon;<sub><i>jt</i></sub>: variable de decisi&oacute;n binaria, 1 si y s&oacute;lo si la actividad <i>j</i> empieza al principio del per&iacute;odo <i>t</i>.    <br>    <br>  ls<sub><i>j</i></sub>: late start de la actividad <i>j</i> (tiempo de inicio m&aacute;s tard&iacute;o).    ]]></body>
<body><![CDATA[<br>    <br>  es<sub><i>j</i></sub>: early start de la actividad <i>j</i> (tiempo de inicio m&aacute;s temprano).    <br>    <br>  <i><i>t</i></i>: Representa cada uno de los periodos del horizonte de planeaci&oacute;n del proyecto.    <br>    <br>  &sigma;(<i>t, j</i>) = max(0, t - d<sub><i>j</i></sub> + 1).    <br>    <br>  T<sub>max</sub>: Denota un upper bound o l&iacute;mite superior para el tiempo de terminaci&oacute;n del proyecto. Puede ser f&aacute;cilmente calculada como T<sub>max</sub> = &sum;<sub>j&epsilon;J</sub>d<sub>j</sub> .    <br>    <br>  La ecuaci&oacute;n (1) representa la funci&oacute;n objetivo de cada modelo respectivamente, makespan o duraci&oacute;n del proyecto. Las ecuaciones (2) representan el tiempo de inicio de cada actividad en el modelo de programaci&oacute;n binaria, el cual debe ser &uacute;nico dada la caracter&iacute;stica de no interrupci&oacute;n de las actividades, es decir, las que obligan a que una actividad, una vez iniciada, debe continuarse hasta su terminaci&oacute;n. Las ecuaciones (3) representan las restricciones de precedencia en cada modelo respectivamente, una actividad s&oacute;lo puede iniciar una vez terminadas todas las actividades predecesoras. Las ecuaciones (4) representan las restricciones de recursos de cada modelo respectivamente; en cualquier tiempo la cantidad de recursos utilizados por todas las actividades en ejecuci&oacute;n no debe superar la disponibilidad de cada tipo de recurso correspondiente. Las ecuaciones (5) indican que las variables de decisi&oacute;n de la formulaci&oacute;n binaria &uacute;nicamente pueden tomar los valores 0 &oacute; 1.</font></p>       ]]></body>
<body><![CDATA[<p><font face="Verdana" size="3"><b>Metodolog&iacute;a</b> </font></p>       <p> <font face="Verdana" size="2">Para solucionar el RCPSP se han utilizado diversos enfoques, los cuales se pueden clasificar como m&eacute;todos exactos y m&eacute;todos heur&iacute;sticos.</font></p>      <p> <font face="Verdana" size="2"><b><i>M&eacute;todos exactos</i></b></font></p>      <p> <font face="Verdana" size="2">Entre los m&eacute;todos exactos se encuentran los desarrollados por [1,7-21&#93;. La principal caracter&iacute;stica de los anteriores algoritmos es que obtienen una soluci&oacute;n &oacute;ptima al problema, cuando &eacute;sta existe.    <br>         <br>  Sin embargo, la naturaleza combinatoria de estos problemas y su pertenencia a la clase de problemas <i>NP-Hard</i>, hace que sean pr&aacute;cticamente imposibles de resolver en tiempos razonables, a&uacute;n mediante el uso de los computadores m&aacute;s potentes existentes hoy en d&iacute;a. La experiencia de otros autores indica que s&oacute;lo es posible obtener la soluci&oacute;n mediante m&eacute;todos exactos para instancias del problema con menos de 60 actividades [3&#93;. Sin embargo, un proyecto de 60 actividades se puede considerar peque&nbsp;&ntilde;o si se compara con los casos reales; por lo tanto, toda discusi&oacute;n acerca de la soluci&oacute;n del RCPSP se centra en algoritmos aproximados que cada autor, desde su enfoque, plantea como eficientes.</font></p>      <p> <font face="Verdana" size="2"><b><i>M&eacute;todos metaheur&iacute;sticos</i></b></font></p>      <p> <font face="Verdana" size="2">En contraposici&oacute;n a los m&eacute;todos exactos, los metaheur&iacute;sticos no garantizan la obtenci&oacute;n de soluciones &oacute;ptimas. Sin embargo, suelen obtener soluciones satisfactorias en tiempos de procesamiento generalmente polinomiales.    <br>    <br>  Los m&eacute;todos metaheur&iacute;sticos m&aacute;s usados son B&uacute;squeda Tab&uacute;, Recocido Simulado, B&uacute;squeda en Vecindarios Variables, Algoritmos Gen&eacute;ticos y Optimizaci&oacute;n de Colonias de Hormigas. A continuaci&oacute;n se describir&aacute; el Recocido Simulado y la B&uacute;squeda en Vecindarios Variables, los cuales tienen relaci&oacute;n con el m&eacute;todo h&iacute;brido propuesto es este estudio.</font></p>      ]]></body>
<body><![CDATA[<p> <font face="Verdana" size="3"><b>Recocido simulado</b></font></p>      <p> <font face="Verdana" size="2">El Recocido Simulado (Simulated Annealing, en ingl&eacute;s), descrito en [22-24&#93;, es el principal representante de los m&eacute;todos con criterios de aceptaci&oacute;n probabil&iacute;stica. Fue propuesto por primera vez en Metropolis et al. [25&#93;, con el fin de simular la evoluci&oacute;n de un s&oacute;lido en un tratamiento t&eacute;rmico bas&aacute;ndose en t&eacute;cnicas de Monte Carlo. Posteriormente fue usada en optimizaci&oacute;n combinatoria en [24&#93;.    <br>         <br>  Una manera de encontrar los estados de energ&iacute;a de sistemas complejos, tales como s&oacute;lidos, es utilizando la t&eacute;cnica del recocido, en la que el s&oacute;lido se calienta a una temperatura en la que sus granos deformados recristalizan para producir nuevos granos, y luego se enfr&iacute;a lentamente de forma controlada y de esta manera, cada vez que se baja la temperatura, las part&iacute;culas se reacomodan en estados de m&aacute;s baja energ&iacute;a hasta que se obtiene un s&oacute;lido con sus part&iacute;culas acomodadas conforme una estructura cristalina lo m&aacute;s regular posible (estado fundamental). En la fase de enfriamiento del proceso de recocido, para cada valor de la temperatura debe permitirse que el s&oacute;lido alcance el equilibrio t&eacute;rmico.    <br>    <br>  Las leyes de la termodin&aacute;mica establecen que, a una temperatura <i>T</i>, la probabilidad de un aumento de energ&iacute;a de magnitud &part;<i>E</i> est&aacute; dada por la expresi&oacute;n (6) (probabilidad de Boltzmann):</font></p>      <p> <img src="../img/revistas/rfiua/n56/n56a25e06.gif"></p>      <p> <font face="Verdana" size="2">Donde <i>k</i> es la constante de Boltzmann [22&#93;.    <br>         <br>  As&iacute; pues, a modo de analog&iacute;a, en el algoritmo Recocido Simulado, los estados del sistema corresponden a las soluciones del problema, la energ&iacute;a de los estados a los criterios de evaluaci&oacute;n de la calidad de la soluci&oacute;n, el estado fundamental a la soluci&oacute;n &oacute;ptima del problema, y la temperatura corresponde a una variable de control.    ]]></body>
<body><![CDATA[<br>    <br>  El algoritmo de Metropolis consiste en generar un vecino a la soluci&oacute;n actual, calcularle su energ&iacute;a y aceptar ese vecino si tiene menor energ&iacute;a o aceptarlo con mayor energ&iacute;a con cierta probabilidad que depende de la temperatura (<i>T</i>). La probabilidad de aceptaci&oacute;n se expresa como sigue:</font>&ge;</p>     <p> <img src="../img/revistas/rfiua/n56/n56a25e07.gif"></p>      <p> <font face="Verdana" size="2">De la expresi&oacute;n anterior se puede notar que para valores altos de <i>T</i>, hay mayor probabilidad de aceptar soluciones que no mejoren la funci&oacute;n objetivo (comportamiento similar a una b&uacute;squeda aleatoria, aceptando f&aacute;cilmente cualquier soluci&oacute;n), mientras que para valores peque&ntilde;os de <i>T</i>, la probabilidad de aceptar soluciones malas es baja (comportamiento similar a una b&uacute;squeda local, aceptando &uacute;nicamente soluciones que mejoran la soluci&oacute;n actual). Por lo tanto es importante que la temperatura baje a una velocidad apropiada para que le permita al m&eacute;todo buscar por diversas zonas e intensificar la b&uacute;squeda en aquellas zonas prometedoras. As&iacute;, el &eacute;xito del Recocido Simulado se basa en la escogencia de una buena temperatura inicial (<i>T<sub>O</sub></i>) y una adecuada velocidad de enfriamiento (<i>r</i>).    <br>    <br>  El Recocido Simulado ha sido utilizado para resolver el RCPSP por [26-31&#93;.</font></p>      <p> <font face="Verdana" size="2"><b><i>B&uacute;squeda en vecindarios variables</i></b></font></p>      <p> <font face="Verdana" size="2">La B&uacute;squeda por Entornos o Vecindarios Variables (Variable Neighborhood Search, VNS, en ingl&eacute;s), descrita en [22, 32&#93;, es una metaheur&iacute;stica que considera distintas estructuras de vecindarios y las cambia sistem&aacute;ticamente para escapar de los m&iacute;nimos locales. El VNS b&aacute;sico, a partir de una soluci&oacute;n inicial, ejecuta una B&uacute;squeda Local cuyo procedimiento consiste en reemplazar la soluci&oacute;n actual si ha habido una mejora o modificar la estructura del vecindario en caso contrario.{    <br>         <br>  VNS se basa en tres hechos simples [32&#93;: Un &oacute;ptimo local con respecto a una estructura de vecindad no necesariamente lo es con respecto a otra; un &oacute;ptimo global es un &oacute;ptimo local con respecto a todas las posibles estructuras de vecindad; y en muchos problemas, los &oacute;ptimos locales con respecto a una o varias estructuras de vecindad est&aacute;n relativamente cerca.    ]]></body>
<body><![CDATA[<br>     <br>  La B&uacute;squeda en Vecindarios Variables ha sido utilizada para resolver el RCPSP por [33&#93;.</font></p>      <p> <font face="Verdana" size="2"><b><i>Justificaci&oacute;n</i></b></font></p>      <p> <font face="Verdana" size="2">La justificaci&oacute;n es una t&eacute;cnica sencilla y r&aacute;pida que al aplicarla sobre una soluci&oacute;n del RCPSP produce otra de igual o menor duraci&oacute;n. [34&#93; introdujo los conceptos de justificaci&oacute;n a la izquierda y a la derecha, aunque el objetivo era extender los conceptos de holgura y ruta cr&iacute;tica del caso de recursos no limitados al caso con limitaci&oacute;n de recursos. La siguiente descripci&oacute;n del procedimiento est&aacute; basada en la presentada en [3&#93;:    <br>         <br>  Dado un programa <i>S</i>, definido por los tiempos de inicio <i>S<sub>j</sub></i> de cada actividad <i>j</i>, justificar una actividad <i>j&ne; n</i> a la derecha consiste en obtener un programa <i>S’</i> tal que <i>s'<sub>i</sub> = s<sub>i</sub></i>, para <i>i &ne; j</i> se busca un nuevo tiempo de inicio (<i>s'<sub>j</sub> &ge; s<sub>j</sub></i>) de tal forma que <font face="Verdana" size="2"><i>s'<sub>j</sub></i></font> sea tan grande como sea posible sin aumentar el makespan y sin violar las restricciones de precedencia. La justificaci&oacute;n a la derecha de las actividades <font face="Verdana" size="2"><i>j</i></font> en orden decreciente de su tiempo de terminaci&oacute;n (<i>f<sub>j</sub></i> = <i>s<sub>j</sub></i> + <i>d<sub>j</sub></i>) genera un programa activo a la derecha <i>S<sup>R</sup></i>, que es llamado la justificaci&oacute;n a la derecha de <i>S.S<sup>R</sup></i> no es &uacute;nico, ya que depende de la(s) regla(s) de desempate usada(s). Similarmente, el procedimiento anterior se puede realizar en sentido contrario para justificar la soluci&oacute;n a la izquierda, aunque esta alternativa no fue considerada en esta investigaci&oacute;n.    <br>    <br>  El procedimiento asegura que la nueva soluci&oacute;n obtenida tiene un makespan menor o, en el peor de los casos, igual al de la soluci&oacute;n antes de la justificaci&oacute;n.    <br>    <br>  En [3&#93;, se realiza un estudio en el que se incorpora esta t&eacute;cnica en 22 algoritmos diferentes y encontraron que siempre hubo un notable mejoramiento en la calidad de la soluci&oacute;n. En [35] se presenta un algoritmo gen&eacute;tico que incorpora ideas similares y obtiene en muchos casos, las mejores soluciones encontradas hasta ahora.</font></p>      ]]></body>
<body><![CDATA[<p><font face="Verdana" size="3"><b>Algoritmo propuesto</b> </font></p>      <p> <font face="Verdana" size="2">El algoritmo propuesto, es un procedimiento h&iacute;brido que combina conceptos de los metaheur&iacute;sticos de Recocido Simulado, B&uacute;squeda en Vecindarios Variables y la heur&iacute;stica Justificaci&oacute;n.    <br>    <br>  Cada soluci&oacute;n factible del problema es representada por una lista de actividades en donde se indica el orden en el que ser&aacute;n programadas cada una de las actividades del proyecto, y cada actividad ser&aacute; programada de tal forma que su tiempo de inicio sea lo m&aacute;s temprano posible, respetando las restricciones de precedencia y de recursos.    <br>    <br>  A continuaci&oacute;n se describen los principales componentes del algoritmo:</font></p>      <p> <font face="Verdana" size="2"><b><i>Soluci&oacute;n inicial</i></b></font></p>      <p> <font face="Verdana" size="2">Como soluci&oacute;n inicial se utiliza el m&eacute;todo presentado en [36], el cual consiste en programar las actividades en el orden de menor rezago u holgura. El rezago de las actividades es recalculado cada vez que se programa una actividad para considerar los recursos requeridos por la actividad programada. Una comparaci&oacute;n de la calidad de esta soluci&oacute;n con otros m&eacute;todos constructivos permitieron concluir que la soluci&oacute;n de [36] es, en promedio, de mayor calidad, raz&oacute;n por la que se utiliza en esta investigaci&oacute;n.</font></p>      <p> <font face="Verdana" size="2"><b><i>Vecindarios de b&uacute;squeda</i></b></font></p>      <p> <font face="Verdana" size="2">El procedimiento usa tres vecindarios de b&uacute;squeda, los cuales se describen a continuaci&oacute;n:    ]]></body>
<body><![CDATA[<br>    <br>  Intercambio: Se seleccionan dos actividades, en las posiciones <i>i</i> e <i>j</i>. La nueva soluci&oacute;n ser&aacute; generada al intercambiar las posiciones de dichas actividades; la actividad en la posici&oacute;n <i>i</i> se ubicar&aacute; en la posici&oacute;n de la actividad <i>j</i>, y viceversa. Para garantizar la factibilidad de la soluci&oacute;n resultante se debe verificar que no existan relaciones de precedencia entre las actividades en las posiciones <i>i</i> e <i>j</i>, y entre &eacute;stas y las actividades que se encuentran en posiciones intermedias.    <br>    <br>  Inserci&oacute;n hacia delante: Se selecciona una actividad en la posici&oacute;n <i>i</i>, e una posici&oacute;n <i>j, i &ge; j</i>. La nueva soluci&oacute;n ser&aacute; generada al colocar la actividad de la posici&oacute;n <i>i</i> en la posici&oacute;n <i>j</i>, y las actividades en las posiciones intermedias se mueven una posici&oacute;n hacia la derecha. Para garantizar la factibilidad de la soluci&oacute;n resultante se debe verificar la no existencia de relaciones de precedencia entre la actividad originalmente ubicada en la posici&oacute;n <i>i</i>, e las actividades ubicadas entre <i>i</i> e <i>j</i>. Una ventaja de este vecindario, con relaci&oacute;n al anterior, es que requiere evaluar menos relaciones de precedencia para garantizar la factibilidad de las soluciones generadas.    <br>    <br>  Inserci&oacute;n hacia atr&aacute;s: Es similar al vecindario anterior, pero se debe seleccionar <i>i &le; j</i>. La existencia de los dos &uacute;ltimos vecindarios se justifica debido a que los dos vecindarios juntos ser&iacute;an demasiado grandes.    <br>    <br>  Al seleccionar en cada vecindario las actividades en la posici&oacute;n denominada <i>i</i>, se tienen en cuenta solamente las actividades que pertenecen a la ruta cr&iacute;tica (teniendo en cuenta el uso de recursos).</font></p>      <p> <font face="Verdana" size="2"><b><i>Adaptaci&oacute;n</i></b></font></p>      <p> <font face="Verdana" size="2">Debido a que no se tiene ning&uacute;n criterio para seleccionar el orden en que se deben usar los vecindarios y que, por experiencia, dichos vecindarios no son igualmente exitosos en todas las instancias del problema, se opt&oacute; por una estrategia adaptativa en la que, en cada iteraci&oacute;n, se selecciona aleatoriamente el vecindario a ser utilizado de acuerdo a la probabilidad de selecci&oacute;n de cada uno.    ]]></body>
<body><![CDATA[<br>    <br>  Inicialmente, cada vecindario tiene la misma probabilidad de ser seleccionado. En la medida en que cada vecindario es utilizado, si &eacute;ste es exitoso la probabilidad de utilizarlo en las iteraciones futuras aumenta. Por el contrario, si el vecindario no es exitoso, dicha probabilidad disminuye.    <br>    <br>  La finalidad de esta estrategia es permitir que el m&eacute;todo seleccione las probabilidades m&aacute;s adecuadas para cada vecindario de acuerdo a la instancia a resolver.</font></p>      <p> <font face="Verdana" size="2"><b><i>Selecci&oacute;n de soluciones</i></b></font></p>      <p> <font face="Verdana" size="2">Con el fin de permitir que la b&uacute;squeda escape de regiones de &oacute;ptimos locales, es permitido aceptar soluciones de no mejora.    <br>    <br>  Para realizar dicha aceptaci&oacute;n, se toma del procedimiento de Recocido Simulado, el concepto de aceptaci&oacute;n probabil&iacute;stica. Sin embargo, se introducen grandes cambios con respecto a la mec&aacute;nica original del Recocido Simulado.    <br>    <br>  Para cada tipo de vecindario se generan todas las soluciones pertenecientes a &eacute;ste y, si la mejor soluci&oacute;n del vecindario es mejor que la mejor soluci&oacute;n conocida, se acepta. En caso contrario se selecciona aleatoriamente una soluci&oacute;n del vecindario. La probabilidad de selecci&oacute;n de cada soluci&oacute;n se calcula de acuerdo con las siguientes ecuaciones:    ]]></body>
<body><![CDATA[<br>    <br> <img src="../img/revistas/rfiua/n56/n56a25e08.gif"></font></p>     <p><font face="Verdana" size="2">donde    <br>    <br> &part;M es la diferencia entre el  Makespan de la mejor soluci&oacute;n conocida y el de la soluci&oacute;n <i>i</i>,    <br>     <br>    <i>T</i> es un par&aacute;metro de  temperatura similar al usado en el Recocido Simulado.    <br>    <br>  &alpha; y &beta; son dos  par&aacute;metros de usuario. Estos par&aacute;metros son detallados m&aacute;s adelante.    <br>    ]]></body>
<body><![CDATA[<br>  Se  debe tener en cuenta que, an&aacute;logamente al algoritmo de Recocido Simulado,  valores grandes de <i>T</i>, generan probabilidades de selecci&oacute;n equilibradas; mientras  que valores peque&ntilde;os, generan probabilidades de selecci&oacute;n mayores para las  soluciones de mayor calidad.    <br>    <br>  El par&aacute;metro <i>T</i> disminuir&aacute; su valor a medida  que avanza el proceso de b&uacute;squeda. En cada iteraci&oacute;n el valor de <i>T</i> ser&aacute; actualizado como sigue:</font></p>      <p> <img src="../img/revistas/rfiua/n56/n56a25e10.gif"></p>      <p> <font face="Verdana" size="2">Donde p &#1028; [0,1&#93; es an&aacute;logo a la tasa de enfriamiento de la temperatura en el Recocido Simulado.</font></p>      <p> <font face="Verdana" size="2"><b><i>Justificaci&oacute;n</i></b></font></p>      <p> <font face="Verdana" size="2">Una vez obtenida una soluci&oacute;n de un vecindario, se aplica el procedimiento Justificaci&oacute;n, el cual, c&oacute;mo se detalla en la secci&oacute;n de resultados, mejora notablemente el desempe&ntilde;o del algoritmo sin aumentar el costo computacional.</font></p>      <p> <font face="Verdana" size="2"><b><i>Cotas inferiores</i></b></font></p>      <p> <font face="Verdana" size="2">Cuando se presentan problemas de minimizaci&oacute;n es com&uacute;n el uso de cotas inferiores, las cuales son una aproximaci&oacute;n a la soluci&oacute;n &oacute;ptima, la cual tiene como caracter&iacute;stica principal que se puede demostrar que siempre es menor o igual que la soluci&oacute;n &oacute;ptima.    <br>    ]]></body>
<body><![CDATA[<br>  Las cotas inferiores son importantes por dos razones: Si se tiene una cota inferior para el makespan, y durante el proceso de b&uacute;squeda se halla una soluci&oacute;n cuyo makespan sea igual a dicha cota, esto implica que la soluci&oacute;n hallada es &oacute;ptima y, adicionalmente, puede usarse como aproximaci&oacute;n al makespan &oacute;ptimo para estimar la calidad de una soluci&oacute;n.    <br>    <br>  Algunas de las cotas inferiores dise&ntilde;adas para el RCPSP se pueden encontrar en [1, 18, 37, 38&#93;. En esta investigaci&oacute;n se utilizar&aacute; la LBs [1&#93; ya que es muy f&aacute;cil de implementar y sus valores son de buena calidad. Para efectos de comparaci&oacute;n y medici&oacute;n de la calidad de los resultados se utilizar&aacute; la LB0 ya que es la m&aacute;s conocida por los investigadores, es f&aacute;cil de calcular y se conocen las desviaciones de muchos algoritmos con respecto a dicha cota inferior.</font></p>      <p> <font face="Verdana" size="2"><b><i>Criterio de parada</i></b></font></p>      <p> <font face="Verdana" size="2">Debido a que el procedimiento no se detiene cuando encuentra soluciones &oacute;ptimas locales, requiere un criterio de parada externo para detener la b&uacute;squeda.    <br>    <br>  En esta investigaci&oacute;n, se utiliz&oacute; el n&uacute;mero de soluciones generadas. Este criterio de parada es &uacute;til debido a que no depende del tipo de procesador ni del lenguaje de programaci&oacute;n utilizado. Adicionalmente, permite hacer comparaciones con otros autores quienes usan este mismo criterio.</font></p>      <p> <font face="Verdana" size="2"><b><i>Par&aacute;metros</i></b></font></p>      <p> <font face="Verdana" size="2"> El procedimiento  descrito hace uso de 6 par&aacute;metros: &alpha;, &beta;, <i>T<sub>max</sub></i> (temperatura m&aacute;xima), <i>T<sub>min</sub></i>  (temperatura m&iacute;nima), &rho; y valor del criterio de parada. Sin embargo s&oacute;lo se  requiere ajustar 3 par&aacute;metros para encontrar el mejor funcionamiento del  algoritmo.    <br>    ]]></body>
<body><![CDATA[<br>  El valor del  n&uacute;mero de soluciones a generar (criterio de parada), por cuestiones de  comparaci&oacute;n es 50000, aunque se generan registros adicionales con 1000 y 5000  soluciones.    <br>    <br>  Con respecto a los par&aacute;metros &alpha;,  &beta;,  <i>T<sub>max</sub></i> y <i>T<sub>min</sub></i>, se  transforman en dos par&aacute;metros:</font></p>      <p> <img src="../img/revistas/rfiua/n56/n56a25e11.gif"></p>      <p> <font face="Verdana" size="2">As&iacute;, <i>T<sub>max</sub></i> y <i>T<sub>min</sub></i> tendr&aacute;n valores fijos y, &alpha; y &beta;  se despejan de las ecuaciones anteriores. <i>P<sub>max</sub></i> se puede interpretar como la  probabilidad de aceptaci&oacute;n asignada, al inicio de la b&uacute;squeda (<i>T</i> = <i>T<sub>max</sub></i>),  a una soluci&oacute;n con makespan una unidad por encima de la mejor soluci&oacute;n conocida,  y <i>P<sub>min</sub></i> se puede interpretar como la probabilidad de aceptaci&oacute;n  asignada, al final de la b&uacute;squeda (<i>T - T<sub>min</sub></i>), a una soluci&oacute;n con  makespan una unidad por encima de la mejor soluci&oacute;n conocida. Adicionalmente,  los nuevos par&aacute;metros tienen significados m&aacute;s f&aacute;ciles de comprender por  usuarios que no tengan conocimiento en m&eacute;todos heur&iacute;sticos. Los par&aacute;metros <i>P<sub>max</sub></i>, <i>P<sub>min</sub></i> y <i>P</i> ser&aacute;n ajustados en la secci&oacute;n  de resultados.</font></p>      <p><font face="Verdana" size="3"><b>Resultados</b> </font></p>      <p> <font face="Verdana" size="2">Para realizar el an&aacute;lisis se tuvieron en cuenta los conjuntos de instancias pertenecientes a la librer&iacute;a PSPLIB [39], disponibles en la direcci&oacute;n electr&oacute;nica <a href="http://129.187.106.231/psplib/" target="_blank">http://129.187.106.231/psplib/</a>. De dicha librer&iacute;a se tom&oacute; un conjunto de instancias de 30 actividades, cada una requiere cuatro tipos de recursos. Adem&aacute;s, en dicha librer&iacute;a se encuentran publicadas las soluciones &oacute;ptimas de dichas instancias.    <br>         <br>  La evaluaci&oacute;n de los algoritmos ser&aacute; realizada teniendo en cuenta como criterio de parada el n&uacute;mero de soluciones generadas. Este criterio de parada es utilizado por [40] para comparar los resultados de varios autores. La raz&oacute;n para usar este criterio de parada es que los resultados no dependen ni del lenguaje de programaci&oacute;n utilizado ni del procesador; adem&aacute;s, el tiempo computacional utilizado para generar una soluci&oacute;n es, en general, poco variable en la mayor&iacute;a de las heur&iacute;sticas seg&uacute;n lo afirmado por Kolisch y Hartmann.    <br>     ]]></body>
<body><![CDATA[<br>  Los resultados son comparados con base en la calidad (desviaci&oacute;n porcentual con respecto a la soluci&oacute;n &oacute;ptima) promedio obtenida con 1000, 5000 y 50000 soluciones.    <br>    <br>  La experimentaci&oacute;n se divide en cuatro fases: en la primera se hace una comparaci&oacute;n sobre el desempe&ntilde;o del algoritmo utilizando uno, dos y tres vecindarios, en la segunda se eval&uacute;a el uso del m&eacute;todo Justificaci&oacute;n en el algoritmo, en la tercera se realiza el ajuste de par&aacute;metros, y en la cuarta se realiza la comparaci&oacute;n del desempe&ntilde;o del algoritmo con el de otros investigadores a nivel internacional.</font></p>      <p> <font face="Verdana" size="2"><b><i>Uso de los vecindarios</i></b></font></p>      <p> <font face="Verdana" size="2">Para evaluar la necesidad de usar en el procedimiento los tres vecindarios descritos, se realizaron diferentes ejecuciones con todas las posibles combinaciones de los tres vecindarios (el vecindario 1 representa el vecindario denominado Intercambios, el vecindario 2 representa la Inserci&oacute;n hacia adelante, y el vecindario 3 representa la Inserci&oacute;n hacia atr&aacute;s). La <a href="#Tabla1">tabla 1</a> presenta los resultados obtenidos en dicha experimentaci&oacute;n con 50.000 soluciones generadas. En dicha tabla se presenta el valor promedio de 5 muestras, el valor m&iacute;nimo, el valor m&aacute;ximo y el coeficiente de variaci&oacute;n.    <br>    <br>    <br> </font></p>      <p align="center"><img src="../img/revistas/rfiua/n56/n56a25t01.gif" ><a name="Tabla1"></a></p>      <p> <font face="Verdana" size="2">De los resultados anteriores se puede observar que, cuando se usa s&oacute;lo un vecindario, el vecindario de inserci&oacute;n hacia atr&aacute;s presenta el mejor desempe&ntilde;o en cuanto a valor promedio, m&iacute;nimo y m&aacute;ximo, y el vecindario de intercambios presenta el menor desempe&ntilde;o. Sin embargo, en cuanto al coeficiente de variaci&oacute;n, el vecindario de intercambios es el mejor.    ]]></body>
<body><![CDATA[<br>    <br>  Cuando se usan dos vecindarios se puede observar algo similar a lo encontrado con un vecindario. El mejor desempe&ntilde;o del algoritmo se obtiene cuando se utilizan los vecindarios de inserci&oacute;n hacia adelante e inserci&oacute;n hacia atr&aacute;s, aunque su coeficiente de variaci&oacute;n es el mayor. Y, por otro lado, el menor desempe&ntilde;o se obtiene al utilizar los vecindarios de intercambio e inserci&oacute;n hacia atr&aacute;s. En general, es mejor utilizar dos vecindarios en lugar de uno s&oacute;lo.    <br>    <br>  Tambi&eacute;n es importante notar que, aunque los vecindarios de intercambio e inserci&oacute;n hacia adelante son los de menor desempe&ntilde;o individual, la combinaci&oacute;n entre ellos mejora significativamente el desempe&ntilde;o del algoritmo, similarmente pasa con las otras combinaciones, aunque en menor medida. Esto puede deberse a que dichos vecindarios son complementarios y pocas de las soluciones pertenecientes a un vecindario, pertenecen a otro.    <br>    <br>  Al utilizar los tres vecindarios, en general, se mejoran los resultados obtenidos con dos vecindarios con respecto a las tres medidas de desempe&ntilde;o.    <br>    <br>  Observaciones similares fueron realizadas al utilizar otros valores para el criterio de parada.    <br>    <br>  Nuevamente, los mejores resultados en el desempe&ntilde;o del algoritmo con respecto al valor promedio, valor m&iacute;nimo y valor m&aacute;ximo, implican un aumento en el coeficiente de variaci&oacute;n. Sin embargo, esto no representa mayor riesgo debido a que los valores m&aacute;ximos obtenidos con los tres vecindarios y 50000 soluciones son, en general, menores a los valores m&iacute;nimos obtenidos con otras combinaciones.</font></p>      ]]></body>
<body><![CDATA[<p> <font face="Verdana" size="2"><b><i>Uso del procedimiento justificaci&oacute;n</i></b></font></p>      <p> <font face="Verdana" size="2">Para evaluar la eficiencia del procedimiento Justificaci&oacute;n, se ejecut&oacute; el algoritmo utilizando dicho procedimiento y sin usarlo. Los resultados son resumidos en la <a href="#Tabla2">tabla 2</a>.    <br>    <br>     <p align="center"><img src="../img/revistas/rfiua/n56/n56a25t02.gif" ><a name="Tabla2"></a></p>  De los resultados anteriores, es notable la mejora del desempe&ntilde;o del algoritmo cuando se usa el procedimiento Justificaci&oacute;n, con respecto a cuando no lo usa. El uso de este procedimiento mejora el 100% de las veces los resultados obtenidos por el algoritmo, mejorando la desviaci&oacute;n porcentual entre el 40% y el 70%.    <br>    <br>    <br> </font></p>        <p> <font face="Verdana" size="2"><b><i>Ajuste de par&aacute;metros</i></b></font></p>      <p> <font face="Verdana" size="2"> Para  realizar el ajuste de los par&aacute;metros <i>P<sub>max</sub></i>,<i>P<sub>min</sub></i> y <i>P</i>, se realiz&oacute; un dise&ntilde;o  experimental completo con los siguientes niveles para cada par&aacute;metro: <i>P<sub>max</sub></i>&#1028;&#123; 0,35; 0,5; 0,63&#125;   , <i>P<sub>min</sub></i>&#1028;&#123; 0,01; 0,05; 0,1&#125;    y <i>P</i> &#1028;&#123; 0,5; 0,7; 0,9&#125;   . Para cada  combinaci&oacute;n de valores de los par&aacute;metros se realizaron cinco muestras para un  total de 135 corridas del algoritmo.    ]]></body>
<body><![CDATA[<br>    <br>  Con  los resultados obtenidos se realiz&oacute; un An&aacute;lisis de Varianza Multifactor  (ANOVA), con los tres par&aacute;metros en estudio como factores y el desempe&ntilde;o del  algoritmo como variable dependiente, para evaluar la influencia de los valores  de los par&aacute;metros. En la <a href="#Tabla3">tabla 3</a> se presentan los valores <i>p</i> para cada factor  (par&aacute;metro), de los que se puede concluir que los par&aacute;metros <i>P<sub>min</sub></i> y <i>P</i> no son estad&iacute;sticamente significativos  a un nivel de confianza del 95% para explicar la variabilidad en los datos, as&iacute;  como las interacciones entre los par&aacute;metros.    <br>    <br>      <p align="center"><img src="../img/revistas/rfiua/n56/n56a25t03.gif" ><a name="Tabla3"></a></p>  </font>     <p><font face="Verdana" size="2">Debido  a que los par&aacute;metros <i>P<sub>min</sub></i> <i>P</i> y no son estad&iacute;sticamente  significativos, se realiz&oacute; una prueba adicional utilizando una probabilidad de  aceptaci&oacute;n fija durante toda la ejecuci&oacute;n del algoritmo, es decir, con &rho; = 1.  Los resultados confirman la influencia de <i>P<sub>max</sub></i> en el desempe&ntilde;o del  algoritmo, sin embargo, indican que dicha probabilidad debe variar durante la  b&uacute;squeda para obtener un mayor desempe&ntilde;o. Lo anterior significa que los  par&aacute;metros <i>P<sub>min</sub></i> y &rho; son necesarios, aunque sus valores no sean  relevantes.    <br> </font></p>     <p><font face="Verdana" size="2">Se realizaron pruebas adicionales para determinar valores espec&iacute;ficos de los par&aacute;metros en estudio. De acuerdo con las muestras, los valores m&aacute;s apropiados de los par&aacute;metros <i>P<sub>min</sub></i> y &rho; son 0,01 y 0,7, respectivamente. Para el par&aacute;metro <i>P<sub>max</sub></i> se encontr&oacute; que los mejores resultados se obtienen con valores alrededor de 0,9; sin embargo para valores cercanos a 0,7 se obtiene resultados con menor variabilidad.</font> </p>     <p> <font face="Verdana" size="2"><b><i>Comparaci&oacute;n con otros algoritmos</i></b></font></p>      <p> <font face="Verdana" size="2">En la <a href="#Tabla4">tabla 4</a>, basada en [40], se recopilan los resultados obtenidos por otros investigadores, a nivel internacional, que trabajan los problemas de 30 actividades de la librer&iacute;a PSPLIB.    ]]></body>
<body><![CDATA[<br>         <br> 	    <p align="center"><img src="../img/revistas/rfiua/n56/n56a25t04.gif" ><a name="Tabla4"></a></p>  De acuerdo con la <a href="#Tabla4">tabla 4</a>, el algoritmo desarrollado en esta investigaci&oacute;n se ubica tal como se enuncia a continuaci&oacute;n: Para 1000 schedules, en el puesto n&uacute;mero 22, entre 29 posiciones, con una diferencia de 0.11% respecto a la posici&oacute;n anterior. Para 5000 schedules, en el puesto n&uacute;mero 19, entre 29 posiciones, con una diferencia de 0.05% respecto a la posici&oacute;n anterior. Para 50000 schedules, en el puesto n&uacute;mero 13, entre 21 posiciones, con una diferencia de 0.01% respecto a la posici&oacute;n anterior.</font></p>      <p><font face="Verdana" size="3"><b>Conclusiones</b> </font></p>      <p> <font face="Verdana" size="2">En este estudio se dise&ntilde;&oacute; un algoritmo heur&iacute;stico h&iacute;brido combinando diferentes estrategias de b&uacute;squeda. Este algoritmo usa m&uacute;ltiples estructuras de vecindarios como estrategia de intensificaci&oacute;n, adem&aacute;s de procedimientos como Justificaci&oacute;n y una estrategia de Adaptaci&oacute;n. Como estrategias de diversificaci&oacute;n, se permite aceptar soluciones de no mejora bas&aacute;ndose en las ideas del Recocido Simulado.    <br>    <br>  Con respecto a los par&aacute;metros, se propuso una transformaci&oacute;n a los par&aacute;metros originales del Recocido Simulado, haci&eacute;ndolos m&aacute;s claros para los usuarios. Al utilizar t&eacute;cnicas estad&iacute;sticas como ANOVA se encontr&oacute; que los par&aacute;metros <i>P<sub>min</sub></i> y &rho; no son estad&iacute;sticamente significativos para explicar la variabilidad de los datos.    <br>    <br>  Las pruebas realizadas comprueban la utilidad del m&eacute;todo de Justificaci&oacute;n en la soluci&oacute;n del RCPSP. As&iacute; mismo, se hall&oacute; que al utilizar m&aacute;s vecindarios, se mejora el desempe&ntilde;o del algoritmo; sin embargo la variabilidad de la soluci&oacute;n aumenta.    <br>    ]]></body>
<body><![CDATA[<br>  El algoritmo dise&ntilde;ado presenta un buen desempe&ntilde;o en comparaci&oacute;n con los resultados obtenidos por otros investigadores. Esto se refleja en las soluciones obtenidas, las cuales superan las de otros algoritmos con 50000 soluciones como criterio de parada. Sin embargo, se puede observar que para otros valores del criterio de parada, el algoritmo presentado obtiene un menor desempe&ntilde;o. Lo anterior indica un grado de convergencia lento en las primeras etapas de la b&uacute;squeda.    <br>    <br>    <br> </font></p>        <p><font face="Verdana" size="3"><b>Referencias</b> </font></p>      <!-- ref --><p> <font face="Verdana" size="2">1. A. Mingozzi, V. Maniezzo, S. Ricciardelli, L. Bianco. "An exact Algorithm for the Resource Constrained Project Scheduling Problem Based on a New Mathematical Formulation". <i>Management Science</i>. Vol. 44. 1998. pp. 714-729.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000218&pid=S0120-6230201000060002500001&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    <!-- ref --><br>   2. L. Tseng, S. Chen. "A hybrid metaheuristic for the resource-constrained project scheduling problem". <i>European Journal of Operational Research</i>. Vol. 175. 2006. pp. 707-721.     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000220&pid=S0120-6230201000060002500002&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    <!-- ref --><br>  3. V. Valls, F. Ballest&iacute;n, S. Quintanilla. "Justification and RCPSP: a technique that pays". <i>European Journal of Operational Research</i>. Vol. 165. 2005. pp. 375-386.     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000222&pid=S0120-6230201000060002500003&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    <!-- ref --><br>  4. B. Abbasi, S. Shadrokh, J. Arkat. "Bi-objective resource-constrained project scheduling with robustness and makespan criteria". <i>Applied mathematics and computation</i>. Vol. 180. 2006. pp. 146-152.     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000224&pid=S0120-6230201000060002500004&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    <!-- ref --><br>  5. J. Blazewicz, J. Lenstra, A. Rinnooy Kan. "Scheduling Projects Subject to Resource Constraints: Classification and Complexity". <i>Discrete Applied Mathematics</i>. Vol. 5. 1983. pp. 11-24.     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000226&pid=S0120-6230201000060002500005&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    <!-- ref --><br>  6. D. Merkle, M. Middendorf, H. Schmeck. "Ant colony optimization for resource-constrained project scheduling". <i>IEEE Transactions on Evolutionary Computation</i>. Vol. 6. 2002. pp. 333-346.     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000228&pid=S0120-6230201000060002500006&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    <!-- ref --><br>  7. E. Balas. "Project Scheduling with Resource Constraints". In: E. M. L. Beale (editor). <i>Application of Mathematical Programming Techniques</i>. Ed. Elsevier. New York. 1970. pp. 187-200.     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000230&pid=S0120-6230201000060002500007&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    <!-- ref --><br>  8. L. Schrage. "Solving Resource-Constrained Network problems by Implicit Enumeration – Non-preemptive Case". <i>Operations Research</i>. Vol. 18. 1971. pp. 225- 235.     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000232&pid=S0120-6230201000060002500008&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    <!-- ref --><br>  9. S. Gorenstein. "An Algorithm for Project Sequencing with Resource Constraints". <i>Operations Research</i>. Vol. 20. 1972. pp. 835-850.     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000234&pid=S0120-6230201000060002500009&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    <!-- ref --><br>  10. M. Fisher. "Optimal Solution of Scheduling Problems Using Lagrange Multipliers. Part I". <i>Operations Research</i>. Vol. 21. 1973. pp. 1114-1127.     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000236&pid=S0120-6230201000060002500010&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    <!-- ref --><br>  11. J. Patterson, W. Huber. "A Horizon-Varying, ZERO-One Approach to Project Scheduling". <i>Management Science</i>. Vol. 20. 1974. pp. 990-998.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000238&pid=S0120-6230201000060002500011&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    <!-- ref --><br>   12. J. Patterson, G. Roth. "Scheduling a Project under Multiple Resource Constraints: a Zero-One Programming Approach". <i>AIIE Transactions</i>. Vol. 8. 1976. pp. 449-455.     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000240&pid=S0120-6230201000060002500012&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    <!-- ref --><br>  13. F. Talbot, J. Patterson. "An Efficient integer programming Algorithm with Network Cuts for Solving Resource-Constrained Scheduling problems". <i>Management Science</i>. Vol. 24. 1978. pp. 1163-1174.     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000242&pid=S0120-6230201000060002500013&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    <!-- ref --><br>  14. E. Demeulemeester, W. Herroelen. "A Branch and Bound Procedure for the Multiple Resource- Constrained project Scheduling Problem". <i>Management Science</i>. Vol. 38. 1992. pp. 1803-1818.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000244&pid=S0120-6230201000060002500014&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    <!-- ref --><br>   15. W. Simpson, J. Patterson. "A multiple-tree search procedure for the resource-constrained project scheduling problem". <i>EJOR</i>. Vol. 89. 1996. pp. 525- 542.     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000246&pid=S0120-6230201000060002500015&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    <!-- ref --><br>  16. E. Demeulemeester, W. Herroelen. "New benchmark results for the resource-constrained project scheduling problem". <i>Management Science</i>. Vol. 43. 1997. pp. 1485-1492.     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000248&pid=S0120-6230201000060002500016&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    <!-- ref --><br>  17. A. Sprecher, S. Hartmann, A. Drexl. "An exact algorithm for project scheduling with multiple modes". <i>OR Spektrum</i>. Vol. 19. 1997. pp. 195 - 203.     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000250&pid=S0120-6230201000060002500017&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    <!-- ref --><br>  18. P. Brucker, S. Knust, A. Schoo, O. Thiele. "A branch &amp; bound algorithm for the resource-constrained project scheduling problem". <i>European Journal of Operacional Research</i>. Vol. 107. 1998. pp. 272-288.     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000252&pid=S0120-6230201000060002500018&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    <!-- ref --><br>  19. A. Sprecher. "Scheduling resource-constrained projects competitively at modest resource requirements". <i>Management Science</i>. Vol. 46. 2000. pp. 710-723.     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000254&pid=S0120-6230201000060002500019&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    <!-- ref --><br>  20. J. Damay, A. Quilliot, E. Sanlaville. "Linear programming based algorithms for preemptive and non-preemptive RCPSP". <i>European Journal of Operational Research</i>. Vol. 182. 2007. pp. 1012-1022.     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000256&pid=S0120-6230201000060002500020&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    <!-- ref --><br>  21. M. Sabzehparvar, S. Seyed Hosseini. "A mathematical model for the multi-mode resource-constrained project scheduling problem with mode dependent time lags". <i>The Journal of Supercomputing</i>. Vol. 44. 2008. pp. 257-273.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000258&pid=S0120-6230201000060002500021&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    <!-- ref --><br>   22. R. Mart&iacute;. "Procedimientos metaheur&iacute;sticos en optimizaci&oacute;n combinatoria". <i>Matem&aacute;tiques</i>. Vol. 1. 2003. pp. 3-62.     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000260&pid=S0120-6230201000060002500022&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    <!-- ref --><br>  23. Z. Michalewicz, D. Fogel. <i>How to solve it: modern heuristics</i>. Ed. Springer. New York. 2002. pp. 117-125.     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000262&pid=S0120-6230201000060002500023&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>     <!-- ref --><br>  24. S. Kirkpatrick, C. D. Gelatt, M. P. Vecchi. "Optimization by simulated annealing". <i>Science</i>, Vol. 220. 1983. pp. 671-680.     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000264&pid=S0120-6230201000060002500024&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    <!-- ref --><br>  25. N. Metropolis, A. Rosenbluth, A. Teller, E. Teller. "Equations of state calculations by fast computing machines". <i>The journal of chemical physics</i>. Vol. 21. 1953. 1087-1092.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000266&pid=S0120-6230201000060002500025&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    <!-- ref --><br>  26. L. Moreno, J. Rivera, J. Diaz, G. Pe&ntilde;a. "An&aacute;lisis comparativo entre dos algoritmos heur&iacute;sticos para resolver el problema de planeaci&oacute;n de tareas con restricci&oacute;n de recursos (RCPSP)". <i>Dyna</i>. Vol. 74. 2007. pp. 171-183.     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000268&pid=S0120-6230201000060002500026&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    <!-- ref --><br>  27. K. Bouleimen, H. Lecocq. "A new efficient simulated annealing algorithm for the resource-constrained project scheduling problem and its multi mode version". <i>European Journal of Operational Research</i>. Vol. 149. 2003. pp. 268-281.     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000270&pid=S0120-6230201000060002500027&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    <!-- ref --><br>  28. J. Cho, Y. Kim. "A simulated annealing algorithm for resource constrained project scheduling problems". <i>Journal of the Operational Research Society</i>. Vol. 48. 1997. pp. 736-744.     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000272&pid=S0120-6230201000060002500028&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    <!-- ref --><br>  29. F. Boctor. "Resource-constrained project scheduling by simulated annealing". <i>International Journal of Production Research</i>. Vol. 34. 1996. pp. 2335-2351.     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000274&pid=S0120-6230201000060002500029&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    <!-- ref --><br>  30. J. Lee, Y. Kim. "Search heuristics for Resource Constrained Project Scheduling". LG-EDS Corporation y Korea Advanced Institute of Science and Technology. <i>Journal of the Operational Research Society</i>. Vol. 47. 1996. pp. 678-689.     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000276&pid=S0120-6230201000060002500030&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    <!-- ref --><br>  31. C. Koulamas, S. Anthony, R. Jean. "A survey of simulated annealing applications to operations research problems". <i>Omega</i>. Vol. 22. 1994. pp. 41-56.     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000278&pid=S0120-6230201000060002500031&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    <!-- ref --><br>  32. P. Hansen, N. Mladenovic. "Variable Neighborhood Search". <i>Search Methodologies. Introductory tutorials in optimization and decision support techniques</i>. Ed. Springer.New York. 2005. pp. 221-238.     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000280&pid=S0120-6230201000060002500032&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>     <!-- ref --><br>  33. K. Fleszar, K. Hindi. "Solving the resource-constrained project scheduling problem by a variable neighbourhood search". <i>European Journal of Operational Research</i>. Vol. 155. 2004. pp. 402-413.     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000282&pid=S0120-6230201000060002500033&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    <!-- ref --><br>  34. J. Wiest. "Some properties of schedules for large projects with limited resources". <i>Operations Research</i>. Vol. 12. 1964. pp. 395-418.     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000284&pid=S0120-6230201000060002500034&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    <!-- ref --><br>  35. D. Debels, B. De Reyck, R. Leus, M. Vanhoucke. "A hybrid scatter search / Electromagnetism meta– heuristic for project scheduling". <i>European Journal of Operational Research</i>. Vol. 169. 2006. pp. 638-653.     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000286&pid=S0120-6230201000060002500035&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    <!-- ref --><br>  36. E. Buffa, S. Edwood S. Sarin, K. Rakesh. <i>Administraci&oacute;n de la producci&oacute;n y de las operaciones</i>. Ed. Limusa. M&eacute;xico D. F. 1992. pp. 381-406.     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000288&pid=S0120-6230201000060002500036&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    <!-- ref --><br>  37. T. Baar, P. Brucker, S. Knust. "Tabu-Search Algorithms and lower bounds for the Resource-Constrained Project Scheduling Problem". In: S. Voss, S. Martello, I. Osman, C. Roucairol. (editors) <i>Meta-heuristics: Advances and trends in local search paradigms for optimization</i>. Ed. Kluwer Academic Publishers. Boston. 1998. pp. 1-18.     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000290&pid=S0120-6230201000060002500037&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    <!-- ref --><br>  38. J. Stinson, E. Davis, B. Khumawala. "Multiple Resource-Constrained Scheduling Using Branch and Bound". <i>AIIE Transactions</i>. Vol. 10. 1978. pp. 252-259.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000292&pid=S0120-6230201000060002500038&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    <!-- ref --><br>   39. R. Kolisch, C. Schwindt, A. Sprecher. "Benchmark instances for project scheduling problems". <i>Project Scheduling – Recent Models, Algorithms and Applications</i>. J. Weglarz, (editor). Kluwer Academic Publishers. Boston. 1999. pp. 197-212.     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000294&pid=S0120-6230201000060002500039&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>    <!-- ref --><br>  40. R. Kolisch, R. Hartmann. "Experimental Investigation of Heuristics for Resource-Constrained Project Scheduling: An Update". <i>European Journal of Operational Research</i>. Vol. 174. 2006. pp. 23-37.</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=000296&pid=S0120-6230201000060002500040&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><br>     <br>     <br>     <br>       <p><font face="Verdana" size="2">(Recibido el 2 de febrero de 2009. Aceptado el 13 de septiembre de 2010)</font></p>     <p><font face="Verdana" size="2"><sup>*</sup>Autor de correspondencia: tel&eacute;fono: + 57 + 4 + 261 95 00 ext. 9806, fax: + 57 + 4 + 266 42 84, correo electr&oacute;nico: <a href="mailto:jrivera6@eafit.edu.co.">paez.carlos@javeriana.edu.co.</a> (J. Rivera)</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[Mingozzi]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[Maniezzo]]></surname>
<given-names><![CDATA[V]]></given-names>
</name>
<name>
<surname><![CDATA[Ricciardelli]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
<name>
<surname><![CDATA[Bianco]]></surname>
<given-names><![CDATA[L]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[An exact Algorithm for the Resource Constrained Project Scheduling Problem Based on a New Mathematical Formulation]]></article-title>
<source><![CDATA[Management Science]]></source>
<year>1998</year>
<volume>44</volume>
<page-range>714-729</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[Tseng]]></surname>
<given-names><![CDATA[L]]></given-names>
</name>
<name>
<surname><![CDATA[Chen]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A hybrid metaheuristic for the resource-constrained project scheduling problem]]></article-title>
<source><![CDATA[European Journal of Operational Research]]></source>
<year>2006</year>
<volume>175</volume>
<page-range>707-721</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[Valls]]></surname>
<given-names><![CDATA[V]]></given-names>
</name>
<name>
<surname><![CDATA[Ballestín]]></surname>
<given-names><![CDATA[F]]></given-names>
</name>
<name>
<surname><![CDATA[Quintanilla]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Justification and RCPSP: a technique that pays]]></article-title>
<source><![CDATA[European Journal of Operational Research]]></source>
<year>2005</year>
<volume>165</volume>
<page-range>375-386</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[Abbasi]]></surname>
<given-names><![CDATA[B]]></given-names>
</name>
<name>
<surname><![CDATA[Shadrokh]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
<name>
<surname><![CDATA[Arkat]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Bi-objective resource-constrained project scheduling with robustness and makespan criteria]]></article-title>
<source><![CDATA[Applied mathematics and computation]]></source>
<year>2006</year>
<volume>180</volume>
<page-range>146-152</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[Blazewicz]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
<name>
<surname><![CDATA[Lenstra]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
<name>
<surname><![CDATA[Rinnooy Kan]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Scheduling Projects Subject to Resource Constraints: Classification and Complexity]]></article-title>
<source><![CDATA[Discrete Applied Mathematics]]></source>
<year>1983</year>
<volume>5</volume>
<page-range>11-24</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[Merkle]]></surname>
<given-names><![CDATA[D]]></given-names>
</name>
<name>
<surname><![CDATA[. Middendorf]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
<name>
<surname><![CDATA[Schmeck]]></surname>
<given-names><![CDATA[H]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Ant colony optimization for resource-constrained project scheduling]]></article-title>
<source><![CDATA[IEEE Transactions on Evolutionary Computation]]></source>
<year>2002</year>
<volume>6</volume>
<page-range>333-346</page-range></nlm-citation>
</ref>
<ref id="B7">
<label>7</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Balas]]></surname>
<given-names><![CDATA[E]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Project Scheduling with Resource Constraints]]></article-title>
<person-group person-group-type="editor">
<name>
<surname><![CDATA[Beale]]></surname>
<given-names><![CDATA[E. M]]></given-names>
</name>
</person-group>
<source><![CDATA[Application of Mathematical Programming Techniques]]></source>
<year>1970</year>
<page-range>187-200</page-range><publisher-loc><![CDATA[New York ]]></publisher-loc>
<publisher-name><![CDATA[Elsevier]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B8">
<label>8</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Schrage]]></surname>
<given-names><![CDATA[L]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA["Solving Resource-Constrained Network problems by Implicit Enumeration - Non-preemptive Case"]]></article-title>
<source><![CDATA[Operations Research]]></source>
<year>1971</year>
<volume>Vol 18</volume>
<page-range>pp 225- 235</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[Gorenstein]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA["An Algorithm for Project Sequencing with Resource Constraints"]]></article-title>
<source><![CDATA[Operations Research]]></source>
<year>1972</year>
<volume>Vol 20</volume>
<page-range>pp 835-850</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[Fisher]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA["Optimal Solution of Scheduling Problems Using Lagrange Multipliers. Part I"]]></article-title>
<source><![CDATA[Operations Research]]></source>
<year>1973</year>
<volume>Vol 21</volume>
<page-range>pp 1114-1127</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[Patterson]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
<name>
<surname><![CDATA[Huber]]></surname>
<given-names><![CDATA[W]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A Horizon-Varying, ZERO-One Approach to Project Scheduling]]></article-title>
<source><![CDATA[Management Science]]></source>
<year>1974</year>
<volume>20</volume>
<page-range>990-998</page-range></nlm-citation>
</ref>
<ref id="B12">
<label>12</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Patterson]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
<name>
<surname><![CDATA[Roth]]></surname>
<given-names><![CDATA[G]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Scheduling a Project under Multiple Resource Constraints: a Zero-One Programming Approach]]></article-title>
<source><![CDATA[AIIE Transactions]]></source>
<year>1976</year>
<volume>8</volume>
<page-range>449-455</page-range></nlm-citation>
</ref>
<ref id="B13">
<label>13</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Talbot]]></surname>
<given-names><![CDATA[F]]></given-names>
</name>
<name>
<surname><![CDATA[Patterson]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[An Efficient integer programming Algorithm with Network Cuts for Solving Resource-Constrained Scheduling problems]]></article-title>
<source><![CDATA[Management Science]]></source>
<year>1978</year>
<volume>24</volume>
<page-range>1163-1174</page-range></nlm-citation>
</ref>
<ref id="B14">
<label>14</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Demeulemeester]]></surname>
<given-names><![CDATA[E]]></given-names>
</name>
<name>
<surname><![CDATA[Herroelen]]></surname>
<given-names><![CDATA[W]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A Branch and Bound Procedure for the Multiple Resource- Constrained project Scheduling Problem]]></article-title>
<source><![CDATA[Management Science]]></source>
<year>1992</year>
<volume>38</volume>
<page-range>1803-1818</page-range></nlm-citation>
</ref>
<ref id="B15">
<label>15</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Simpson]]></surname>
<given-names><![CDATA[W]]></given-names>
</name>
<name>
<surname><![CDATA[Patterson]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A multiple-tree search procedure for the resource-constrained project scheduling problem]]></article-title>
<source><![CDATA[EJOR]]></source>
<year>1996</year>
<volume>89</volume>
<page-range>525- 542</page-range></nlm-citation>
</ref>
<ref id="B16">
<label>16</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Demeulemeester]]></surname>
<given-names><![CDATA[E]]></given-names>
</name>
<name>
<surname><![CDATA[Herroelen]]></surname>
<given-names><![CDATA[W]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[New benchmark results for the resource-constrained project scheduling problem]]></article-title>
<source><![CDATA[Management Science]]></source>
<year>1997</year>
<volume>43</volume>
<page-range>1485-1492</page-range></nlm-citation>
</ref>
<ref id="B17">
<label>17</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Sprecher]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[Hartmann]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
<name>
<surname><![CDATA[Drexl]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[An exact algorithm for project scheduling with multiple modes]]></article-title>
<source><![CDATA[OR Spektrum]]></source>
<year>1997</year>
<volume>19</volume>
<page-range>195 - 203</page-range></nlm-citation>
</ref>
<ref id="B18">
<label>18</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Brucker]]></surname>
<given-names><![CDATA[P]]></given-names>
</name>
<name>
<surname><![CDATA[Knust]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
<name>
<surname><![CDATA[Schoo]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[Thiele]]></surname>
<given-names><![CDATA[O]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A branch & bound algorithm for the resource-constrained project scheduling problem]]></article-title>
<source><![CDATA[European Journal of Operacional Research]]></source>
<year>1998</year>
<numero>107</numero>
<issue>107</issue>
<page-range>272-288</page-range></nlm-citation>
</ref>
<ref id="B19">
<label>19</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Sprecher]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA["Scheduling resource-constrained projects competitively at modest resource requirements"]]></article-title>
<source><![CDATA[Management Science]]></source>
<year>2000</year>
<volume>Vol 46</volume>
<page-range>pp 710-723</page-range></nlm-citation>
</ref>
<ref id="B20">
<label>20</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Damay]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
<name>
<surname><![CDATA[Quilliot]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[Sanlaville]]></surname>
<given-names><![CDATA[E]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Linear programming based algorithms for preemptive and non-preemptive RCPSP]]></article-title>
<source><![CDATA[European Journal of Operational Research]]></source>
<year>2007</year>
<volume>182</volume>
<page-range>1012-1022</page-range></nlm-citation>
</ref>
<ref id="B21">
<label>21</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Sabzehparvar]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
<name>
<surname><![CDATA[Seyed Hosseini]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A mathematical model for the multi-mode resource-constrained project scheduling problem with mode dependent time lags]]></article-title>
<source><![CDATA[The Journal of Supercomputing]]></source>
<year>2008</year>
<volume>44</volume>
<page-range>257-273</page-range></nlm-citation>
</ref>
<ref id="B22">
<label>22</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Martí]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Procedimientos metaheurísticos en optimización combinatoria]]></article-title>
<source><![CDATA[Matemátiques]]></source>
<year>2003</year>
<volume>1</volume>
<page-range>3-62</page-range></nlm-citation>
</ref>
<ref id="B23">
<label>23</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Michalewicz]]></surname>
<given-names><![CDATA[Z]]></given-names>
</name>
<name>
<surname><![CDATA[Fogel]]></surname>
<given-names><![CDATA[D]]></given-names>
</name>
</person-group>
<source><![CDATA[How to solve it: modern heuristics]]></source>
<year>2002</year>
<page-range>117-125</page-range><publisher-loc><![CDATA[New York ]]></publisher-loc>
<publisher-name><![CDATA[Ed. Springer]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B24">
<label>24</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Kirkpatrick]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
<name>
<surname><![CDATA[Gelatt]]></surname>
<given-names><![CDATA[C. D]]></given-names>
</name>
<name>
<surname><![CDATA[Vecchi]]></surname>
<given-names><![CDATA[M. P]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Optimization by simulated annealing]]></article-title>
<source><![CDATA[Science]]></source>
<year>1983</year>
<volume>220</volume>
<page-range>671-680</page-range></nlm-citation>
</ref>
<ref id="B25">
<label>25</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Metropolis]]></surname>
<given-names><![CDATA[N]]></given-names>
</name>
<name>
<surname><![CDATA[Rosenbluth]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[Teller]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[Teller]]></surname>
<given-names><![CDATA[E]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Equations of state calculations by fast computing machines]]></article-title>
<source><![CDATA[The journal of chemical physics]]></source>
<year>1953</year>
<volume>21</volume>
<page-range>1087-1092</page-range></nlm-citation>
</ref>
<ref id="B26">
<label>26</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Moreno]]></surname>
<given-names><![CDATA[L]]></given-names>
</name>
<name>
<surname><![CDATA[Rivera]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
<name>
<surname><![CDATA[Diaz]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
<name>
<surname><![CDATA[Peña]]></surname>
<given-names><![CDATA[G]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Análisis comparativo entre dos algoritmos heurísticos para resolver el problema de planeación de tareas con restricción de recursos (RCPSP)]]></article-title>
<source><![CDATA[Dyna]]></source>
<year>2007</year>
<volume>74</volume>
<page-range>171-183</page-range></nlm-citation>
</ref>
<ref id="B27">
<label>27</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Bouleimen]]></surname>
<given-names><![CDATA[K]]></given-names>
</name>
<name>
<surname><![CDATA[Lecocq]]></surname>
<given-names><![CDATA[H]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A new efficient simulated annealing algorithm for the resource-constrained project scheduling problem and its multi mode version]]></article-title>
<source><![CDATA[European Journal of Operational Research]]></source>
<year>2003</year>
<volume>149</volume><volume>268-281</volume>
</nlm-citation>
</ref>
<ref id="B28">
<label>28</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Cho]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
<name>
<surname><![CDATA[Kim]]></surname>
<given-names><![CDATA[Y]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A simulated annealing algorithm for resource constrained project scheduling problems]]></article-title>
<source><![CDATA[Journal of the Operational Research Society]]></source>
<year>1997</year>
<volume>48</volume>
<page-range>736-744</page-range></nlm-citation>
</ref>
<ref id="B29">
<label>29</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Boctor]]></surname>
<given-names><![CDATA[F]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA["Resource-constrained project scheduling by simulated annealing"]]></article-title>
<source><![CDATA[International Journal of Production Research]]></source>
<year>1996</year>
<volume>Vol 34</volume>
<page-range>pp 2335-2351</page-range></nlm-citation>
</ref>
<ref id="B30">
<label>30</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Lee]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
<name>
<surname><![CDATA[Kim]]></surname>
<given-names><![CDATA[Y]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Search heuristics for Resource Constrained Project Scheduling]]></article-title>
<source><![CDATA[Journal of the Operational Research Society]]></source>
<year>1996</year>
<volume>47</volume>
<page-range>678-689</page-range></nlm-citation>
</ref>
<ref id="B31">
<label>31</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Koulamas]]></surname>
<given-names><![CDATA[C]]></given-names>
</name>
<name>
<surname><![CDATA[Anthony]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
<name>
<surname><![CDATA[Jean]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A survey of simulated annealing applications to operations research problems]]></article-title>
<source><![CDATA[Omega]]></source>
<year>1994</year>
<volume>22</volume>
<page-range>41-56</page-range></nlm-citation>
</ref>
<ref id="B32">
<label>32</label><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[Mladenovic]]></surname>
<given-names><![CDATA[N]]></given-names>
</name>
</person-group>
<source><![CDATA[Variable Neighborhood Search: Search Methodologies. Introductory tutorials in optimization and decision support techniques]]></source>
<year>2005</year>
<page-range>221-238</page-range><publisher-loc><![CDATA[New York ]]></publisher-loc>
<publisher-name><![CDATA[Ed. Springer]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B33">
<label>33</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Fleszar]]></surname>
<given-names><![CDATA[K]]></given-names>
</name>
<name>
<surname><![CDATA[Hindi]]></surname>
<given-names><![CDATA[K]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Solving the resource-constrained project scheduling problem by a variable neighbourhood search]]></article-title>
<source><![CDATA[European Journal of Operational Research]]></source>
<year>2004</year>
<volume>155</volume>
<page-range>402-413</page-range></nlm-citation>
</ref>
<ref id="B34">
<label>34</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Wiest]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA["Some properties of schedules for large projects with limited resources"]]></article-title>
<source><![CDATA[Operations Research]]></source>
<year>1964</year>
<volume>Vol 12</volume>
<page-range>pp 395-418</page-range></nlm-citation>
</ref>
<ref id="B35">
<label>35</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Debels]]></surname>
<given-names><![CDATA[D]]></given-names>
</name>
<name>
<surname><![CDATA[De Reyck]]></surname>
<given-names><![CDATA[B]]></given-names>
</name>
<name>
<surname><![CDATA[Leus]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
<name>
<surname><![CDATA[Vanhoucke]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A hybrid scatter search / Electromagnetism meta- heuristic for project scheduling]]></article-title>
<source><![CDATA[European Journal of Operational Research]]></source>
<year>2006</year>
<volume>169</volume>
<page-range>638-653</page-range></nlm-citation>
</ref>
<ref id="B36">
<label>36</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Buffa]]></surname>
<given-names><![CDATA[E]]></given-names>
</name>
<name>
<surname><![CDATA[Edwood]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
<name>
<surname><![CDATA[Sarin]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
<name>
<surname><![CDATA[Rakesh]]></surname>
<given-names><![CDATA[K]]></given-names>
</name>
</person-group>
<source><![CDATA[Administración de la producción y de las operaciones]]></source>
<year>1992</year>
<page-range>381-406</page-range><publisher-loc><![CDATA[México D. F ]]></publisher-loc>
<publisher-name><![CDATA[Ed. Limusa]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B37">
<label>37</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Baar]]></surname>
<given-names><![CDATA[T]]></given-names>
</name>
<name>
<surname><![CDATA[Brucker]]></surname>
<given-names><![CDATA[P]]></given-names>
</name>
<name>
<surname><![CDATA[Knust]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Tabu-Search Algorithms and lower bounds for the Resource-Constrained Project Scheduling Problem]]></article-title>
<person-group person-group-type="editor">
<name>
<surname><![CDATA[Voss]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
<name>
<surname><![CDATA[Martello]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
<name>
<surname><![CDATA[Osman]]></surname>
<given-names><![CDATA[I]]></given-names>
</name>
<name>
<surname><![CDATA[Roucairol]]></surname>
<given-names><![CDATA[C]]></given-names>
</name>
</person-group>
<source><![CDATA[Meta-heuristics: Advances and trends in local search paradigms for optimization]]></source>
<year>1998</year>
<page-range>1-18</page-range><publisher-loc><![CDATA[Boston ]]></publisher-loc>
<publisher-name><![CDATA[Ed. Kluwer Academic Publishers]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B38">
<label>38</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Stinson]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
<name>
<surname><![CDATA[Davis]]></surname>
<given-names><![CDATA[E]]></given-names>
</name>
<name>
<surname><![CDATA[Khumawala]]></surname>
<given-names><![CDATA[B]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Multiple Resource-Constrained Scheduling Using Branch and Bound]]></article-title>
<source><![CDATA[AIIE Transactions]]></source>
<year>1978</year>
<volume>10</volume>
<page-range>252-259</page-range></nlm-citation>
</ref>
<ref id="B39">
<label>39</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Kolisch]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
<name>
<surname><![CDATA[Schwindt]]></surname>
<given-names><![CDATA[C]]></given-names>
</name>
<name>
<surname><![CDATA[Sprecher]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Benchmark instances for project scheduling problems]]></article-title>
<person-group person-group-type="editor">
<name>
<surname><![CDATA[Weglarz]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
</person-group>
<source><![CDATA[Project Scheduling - Recent Models, Algorithms and Applications]]></source>
<year>1999</year>
<page-range>197-212</page-range><publisher-loc><![CDATA[Boston ]]></publisher-loc>
<publisher-name><![CDATA[Kluwer Academic Publishers]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B40">
<label>40</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Kolisch]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
<name>
<surname><![CDATA[Hartmann]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Experimental Investigation of Heuristics for Resource-Constrained Project Scheduling: An Update]]></article-title>
<source><![CDATA[European Journal of Operational Research]]></source>
<year>2006</year>
<volume>174</volume>
<page-range>23-37</page-range></nlm-citation>
</ref>
</ref-list>
</back>
</article>
