<?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>0012-7353</journal-id>
<journal-title><![CDATA[DYNA]]></journal-title>
<abbrev-journal-title><![CDATA[Dyna rev.fac.nac.minas]]></abbrev-journal-title>
<issn>0012-7353</issn>
<publisher>
<publisher-name><![CDATA[Universidad Nacional de Colombia]]></publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id>S0012-73532015000200025</article-id>
<article-id pub-id-type="doi">10.15446/dyna.v82n190.43855</article-id>
<title-group>
<article-title xml:lang="en"><![CDATA[A branch and bound hybrid algorithm with four deterministic heuristics for the resource constrained project scheduling problem (RCPSP)]]></article-title>
<article-title xml:lang="es"><![CDATA[Un algoritmo híbrido de ramificación y acotamiento con cuatro heurísticas determinísticas para el problema de programación de tareas con recursos restringidos (RCPSP)]]></article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Morillo-Torres]]></surname>
<given-names><![CDATA[Daniel]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Moreno-Velásquez]]></surname>
<given-names><![CDATA[Luis Fernando]]></given-names>
</name>
<xref ref-type="aff" rid="A02"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Díaz-Serna]]></surname>
<given-names><![CDATA[Francisco Javier]]></given-names>
</name>
<xref ref-type="aff" rid="A02"/>
</contrib>
</contrib-group>
<aff id="A01">
<institution><![CDATA[,Universitat Politècnica de València  ]]></institution>
<addr-line><![CDATA[Valencia ]]></addr-line>
<country>España</country>
</aff>
<aff id="A02">
<institution><![CDATA[,Universidad Nacional de Colombia Facultad de Minas ]]></institution>
<addr-line><![CDATA[Medellín ]]></addr-line>
<country>Colombia</country>
</aff>
<pub-date pub-type="pub">
<day>00</day>
<month>04</month>
<year>2015</year>
</pub-date>
<pub-date pub-type="epub">
<day>00</day>
<month>04</month>
<year>2015</year>
</pub-date>
<volume>82</volume>
<numero>190</numero>
<fpage>198</fpage>
<lpage>207</lpage>
<copyright-statement/>
<copyright-year/>
<self-uri xlink:href="http://www.scielo.org.co/scielo.php?script=sci_arttext&amp;pid=S0012-73532015000200025&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://www.scielo.org.co/scielo.php?script=sci_abstract&amp;pid=S0012-73532015000200025&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://www.scielo.org.co/scielo.php?script=sci_pdf&amp;pid=S0012-73532015000200025&amp;lng=en&amp;nrm=iso"></self-uri><abstract abstract-type="short" xml:lang="en"><p><![CDATA[This paper addresses the Resource Constrained Project Scheduling Problem (RCPSP). For its solution, a hybrid methodology, which uses a Branch and Bound basic algorithm with dominance rules, is developed and implemented, and is combined with four deterministic heuristics whose objective is to prune the search tree branches, taking into account the iterations available and, at the same time, to minimize the probability of discarding branches that contain optimal solutions. Essentially, these strategies allow the allocation of most iterations to the most promissory regions in an organized manner using only subsets with similar or the same characteristics as those of the optimal solutions at each level of the tree, thus assuring a broad search within the feasible region and, simultaneously, a good exploitation by the selective use of the subsets by level. Finally, the developed algorithm performance is analyzed by solving some of the problems of the PSPLIB test library.]]></p></abstract>
<abstract abstract-type="short" xml:lang="es"><p><![CDATA[En este artículo se aborda el problema de Programación de Tareas con Recursos Restringidos (RCPSP). Para su solución, se desarrolla y se implementa una metodología híbrida que usa como base un algoritmo de Ramificación y Acotamiento con potentes reglas de dominancia, y se combina con cuatro heurísticas determinísticas cuyo objetivo es truncar ramas del árbol de búsqueda, pero, a su vez, minimizar la probabilidad de descartar ramales que contengan soluciones óptimas. En esencia, estas estrategias permiten la repartición de iteraciones en forma mayoritaria y organizada en las regiones más promisorias usando, únicamente, subconjuntos que tengan características similares o iguales a las de las soluciones óptimas en cada nivel del árbol, garantizando así una amplia exploración dentro de la región factible y al mismo tiempo una buena explotación. Finalmente se analiza el desempeño del algoritmo desarrollado mediante la solución de algunos problemas de la librería de prueba PSPLIB.]]></p></abstract>
<kwd-group>
<kwd lng="en"><![CDATA[Project scheduling]]></kwd>
<kwd lng="en"><![CDATA[resource constraints]]></kwd>
<kwd lng="en"><![CDATA[deterministic heuristic methods]]></kwd>
<kwd lng="en"><![CDATA[hybrid algorithm]]></kwd>
<kwd lng="es"><![CDATA[Programación de actividades]]></kwd>
<kwd lng="es"><![CDATA[restricción de recursos]]></kwd>
<kwd lng="es"><![CDATA[métodos heurísticos determinísticos]]></kwd>
<kwd lng="es"><![CDATA[algoritmo híbrido]]></kwd>
</kwd-group>
</article-meta>
</front><body><![CDATA[ <p><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><b>DOI:</b> <a href="http://dx.doi.org/10.15446/dyna.v82n190.43855" target="_blank">http://dx.doi.org/10.15446/dyna.v82n190.43855</a></font></p>     <p align="center"><font size="4" face="Verdana, Arial, Helvetica, sans-serif"><b>A branch and bound hybrid algorithm with four  deterministic heuristics for the resource constrained  project scheduling problem (RCPSP)</b></font></p>     <p align="center"><i><b><font size="3" face="Verdana, Arial, Helvetica, sans-serif">Un  algoritmo h&iacute;brido de ramificaci&oacute;n y acotamiento con cuatro heur&iacute;sticas  determin&iacute;sticas para el problema de programaci&oacute;n de tareas con recursos restringidos (RCPSP)</font></b></i></p>     <p align="center">&nbsp;</p>     <p align="center"><b><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Daniel Morillo-Torres <i><sup>a</sup></i>, Luis Fernando   Moreno-Vel&aacute;squez <i><sup>b</sup></i> &amp;   Francisco Javier Díaz-Serna<sup> b</sup></font></b><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><sup></sup></font></p>     <p align="center">&nbsp;</p>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><sup><i>a </i></sup><i>Universitat Politècnica de València, DSIC, Valencia, Espa&ntilde;a. <a href="mailto:damotor3@posgrado.upv.es">damotor3@posgrado.upv.es</a>    <br>     <sup>b </sup>Facultad de Minas, Universidad Nacional de Colombia, Medellín, Colombia. <a href="mailto:lfmoreno@unal.edu.co">lfmoreno@unal.edu.co</a>, <a href="mailto:javidiaz@unal.edu.co">javidiaz@unal.edu.co</a></i></font></p>     <p align="center">&nbsp;</p>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>Received: June 4<sup>th</sup>, 2014. Received in revised   form: September 9<sup>nd</sup>, 2014. Accepted: September 30<sup>th</sup>, 2014.</b></font></p>     ]]></body>
<body><![CDATA[<p align="center">&nbsp;</p>     <p align="center"><font size="1" face="Verdana, Arial, Helvetica, sans-seriff"><b>This work is licensed under a</b> <a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/4.0/">Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License</a>.</font><br /><a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/4.0/"><img style="border-width:0" src="https://i.creativecommons.org/l/by-nc-nd/4.0/88x31.png" /></a></p> <hr>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>Abstract    <br> </b></font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">This paper addresses the Resource Constrained Project  Scheduling Problem (RCPSP). For its solution, a hybrid methodology, which uses  a Branch and Bound basic algorithm with dominance rules, is developed and  implemented, and is combined with four deterministic heuristics whose objective  is to prune the search tree branches, taking into account the iterations  available and, at the same time, to minimize the probability of discarding  branches that contain optimal solutions. Essentially, these strategies allow  the allocation of most iterations to the most promissory regions in an  organized manner using only subsets with similar or the same characteristics as  those of the optimal solutions at each level of the tree, thus assuring a broad  search within the feasible region and, simultaneously, a good exploitation by  the selective use of the subsets by level. Finally, the developed algorithm  performance is analyzed by solving some of the problems of the PSPLIB test library.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><i>Keywords</i>:  Project scheduling; resource constraints; deterministic heuristic methods;  hybrid algorithm.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>Resumen    <br> </b></font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">En este artículo se aborda el problema de Programaci&oacute;n de Tareas con  Recursos Restringidos (RCPSP). Para su soluci&oacute;n, se desarrolla y se implementa  una metodología híbrida que usa como base un algoritmo de Ramificaci&oacute;n y  Acotamiento con potentes reglas de dominancia, y se combina con cuatro  heurísticas determinísticas cuyo objetivo es truncar ramas del &aacute;rbol de  b&uacute;squeda, pero, a su vez, minimizar la probabilidad de descartar ramales que  contengan soluciones &oacute;ptimas. En esencia, estas estrategias permiten la  repartici&oacute;n de iteraciones en forma mayoritaria y organizada en las regiones  m&aacute;s promisorias usando, &uacute;nicamente, subconjuntos que tengan características  similares o iguales a las de las soluciones &oacute;ptimas en cada nivel del &aacute;rbol,  garantizando así una amplia exploraci&oacute;n dentro de la regi&oacute;n factible y al mismo  tiempo una buena explotaci&oacute;n. Finalmente se analiza el desempe&ntilde;o del algoritmo  desarrollado mediante la soluci&oacute;n de algunos problemas de la librería de prueba PSPLIB.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><i>Palabras clave</i>: Programaci&oacute;n de actividades; restricci&oacute;n de  recursos; m&eacute;todos heurísticos determinísticos; algoritmo híbrido.</font></p> <hr>     <p>&nbsp;</p>     <p><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>1. Introduction</b></font></p>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">In operations research, there is a specific area of study  known as Scheduling that aims to sequence a series of activities in time to  execute them by means of an optimal allocation of resources, which are  generally scarce. One of the most widely studied problems in this area is the  Resource Constrained Project Scheduling Problem (RCPSP). Given the difficulty  to find an optimal solution, but at the same time because of the need to find  alternatives that are close to the optimum in reasonable time, several  universities and organizations, especially software development companies, are  working on it in many countries around the world.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Finding the solution to the RCPSP is still a challenge of  great interest in the academic and business fields due to its high  applicability, as it is one of the central problems in the planning,  scheduling, and implementation of any project that may be divided into smaller  units called tasks or activities, which usually are subject to two types of  constraints: precedence and resources. The former indicate that each activity  cannot be started before all its immediate predecessors have been completed.  The latter indicate that the total resource consumption of the activities that  are active at any time cannot exceed the availability of any of the resources,  considered renewable, i.e., when some resource is released due to the  completion of any of the active activities, this resource can be used for  others. However, if there is sufficient availability of resources, they can be  used to perform simultaneous activities.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Formally,  the RCPSP can be defined as follows &#91;1&#93;: It is given a project consisting of a set of <img src="/img/revistas/dyna/v82n190/v82n190a25eq002.gif"> activities <img src="/img/revistas/dyna/v82n190/v82n190a25eq004.gif">,  each of which requires, for its execution, a quantity of resources <img src="/img/revistas/dyna/v82n190/v82n190a25eq006.gif"> where <img src="/img/revistas/dyna/v82n190/v82n190a25eq008.gif"> is the activity and <img src="/img/revistas/dyna/v82n190/v82n190a25eq010.gif"> the type of resource; <img src="/img/revistas/dyna/v82n190/v82n190a25eq012.gif"> is the total amount of resource type <img src="/img/revistas/dyna/v82n190/v82n190a25eq010.gif"> available and <img src="/img/revistas/dyna/v82n190/v82n190a25eq016.gif"> the duration of the activity <img src="/img/revistas/dyna/v82n190/v82n190a25eq008.gif">.  Activities <img src="/img/revistas/dyna/v82n190/v82n190a25eq020.gif"> and <img src="/img/revistas/dyna/v82n190/v82n190a25eq002.gif"> are fictitious, with zero duration and zero  resource consumption, which represent the start and completion of the  project &#91;2&#93;.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a href="#fig01">Fig. 1</a> illustrates an example of the RCPSP taken from &#91;1&#93; that considers nine real and  two fictitious activities, with three types of resources. The activity number  is shown inside each node; the duration, at the top; and the consumption of  each type of resource, at the bottom. Arrows indicate the precedence relations  among the activities they connect; e.g., activity 3 is predecessor of 5 and 6,  and successor of 1. It is assumed, without loss of generality, that activities  are ordered in such a way that each predecessor activity of <img src="/img/revistas/dyna/v82n190/v82n190a25eq022.gif"> is identified by a value <img src="/img/revistas/dyna/v82n190/v82n190a25eq008.gif"> numerically less than <img src="/img/revistas/dyna/v82n190/v82n190a25eq022.gif">.</font></p>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a name="fig01"></a></font><img src="/img/revistas/dyna/v82n190/v82n190a25fig01.gif"></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">The  RCPSP solution is given by the start time of each one of the activities in such  a way that the overall duration of the project or <i>makespan</i> is minimized. This combinatorial problem has been shown to  be NP-hard &#91;3,4&#93;. Therefore, it is not  feasible to solve medium or large instances by exact</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">algorithms, which guarantee to  find the optimal solution. There are two approaches for the RCPSP solution:  exact algorithms &#91;1,5&#93; and heuristic ones &#91;6&#93;. New methods are permanently  being designed, especially heuristic, attempting to find very close solutions  to the optimal ones.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Regardless of the method used to find the RCPSP solution,  it is important to calculate upper and lower bounds, which can be used as a  stop criterion of the algorithm &#91;7,8&#93;. Relaxation models of the  original problem are often used to find lower bounds. Therefore, if a solution for the original problem that is identical to a  known lower bound is found somehow, it is known then that the optimal solution  was reached. A lower bound used regularly is the <img src="/img/revistas/dyna/v82n190/v82n190a25eq026.gif">, defined as the length of the longest route,  which can be calculated using the Critical Path Method (CPM). This critical  path appears in bold in <a href="#fig01">Fig. 1</a>. Although it may not be very useful for  practical purposes, a simple way to calculate an upper bound for the <i>makespan</i> is using the following  expression: <img src="/img/revistas/dyna/v82n190/v82n190a25eq028.gif">, which considers sequential execution of all activities.</font></p>     <p>&nbsp;</p>     <p><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>2. State of the   art review</b></font></p>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">The origin of the RCPSP dates back to the late 50's of  last century when intense research was carried out regarding the project  planning, scheduling, evaluation, and monitoring in the area of operations  research. As a result of these studies, CPM and PERT (Program Evaluation and  Review Technique) were developed. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">With these methodologies, more complex sequencing problems  were tackled, which due to their combinatorial nature could not be solved in a  reasonable time using traditional scheduling methods. As a result, some later  studies were oriented to the development of heuristic algorithms for solving  such types of problems.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Later on, the RCPSP was defined and in order to find its  solution, several methodologies have been developed using traditional  optimization as well as heuristic methods &#91;6,9&#93;. In &#91;10&#93;, a first branch and bound  algorithm based on the methodology proposed in &#91;11&#93; is presented. However, this  algorithm can only solve small problems.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Subsequently, the efforts to solve the RCPSP were focused  on the development of algorithms and methodologies that would determine the  best lower and upper bounds in order to reduce the sample space and constraints.  In &#91;12&#93;, a lower bound based on Lagrangian  simplifications of resource constraints is presented. In &#91;13&#93;, lower bounds for the RCPSP  based on the longest path of a model with minimization of the resource  constraints are proposed. In &#91;14&#93; it is shown that Fisher's  lower bounds and the like are better than those proposed by &#91;13&#93;. Also, in &#91;14&#93;, two new lower bounds for the  RCPSP are proposed. The first one is based on a relaxation of the classical  integer programming. The second one is based on a disjunctive graph obtained  from the precedence network adding arcs that partially represent resource  constraints.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">In &#91;15&#93;, a set of 110 problems of the  RCPSP were generated and used as a starting point for benchmarking the  algorithms developed to solve them. In &#91;16&#93;, an exact branch and bound  algorithm that significantly reduced the solution time of this set of 110  problems is presented.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">The branch and bound approach combined with good lower  bounds and appropriate dominance rules to remove the tree branches that do not  contain the optimal solution is the best exact technique proposed for solving  the RCPSP. In &#91;17&#93;, three complexity indexes,  Resource Factor (RF), Resource Strength (RS) and Complexity (C), which enable  the RCPSP to be identified as  &quot;easy&quot; or &quot;difficult&quot;, are presented. RF measures the average  number of resources used per activity. RS measures, for each resource, the  relation between the available total resource and the average consumption of  this resource; values close to 0 or 1 correspond to &quot;easy&quot; instances, and  intermediate values correspond to difficult instances. The index C is a measure  of network precedence complexity; the higher the value, the more complex the  problem. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">In &#91;18&#93;, a new set of problems,  called Project Scheduling Problem Library (PSPLIB), that serve to perform a new  benchmark of the algorithms is proposed. Results show that the branch and bound  approach proposed in &#91;16&#93; failed to solve these new  sets of &quot;difficult&quot; problems in spite of the large computational time used.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">In &#91;1&#93; a new mathematical  formulation for the RCPSP is shown, based on the use of feasible subsets as  decision variables, which had a good performance. In &#91;19&#93; a similar but more recent  research is shown, using a new formulation defining a time horizon for each activity with new lower and upper bounds. Results achieved  using CPLEX on PSPLIB library with a branch and bound scheme directly tailored  for the new formulation are very good. In &#91;20&#93; an extensive study on the  different new mathematical formulation is shown. Also, the event-based mixed  integer linear programming is proposed.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Currently, research on the RCPSP focuses on finding  practical solutions to the industry. So, heuristic methods that produce  satisfactory results are used in order to find good approximations to optimal  solutions using a relatively small computational effort &#91;21&#93;. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Among the heuristics repeatedly mentioned in the  literature are the population-based algorithms such as genetic and ant colony  algorithms, which use random components as an escape strategy from local optimal  solutions. In recent years, genetic algorithms have specialized in solving more  complicated instances of the RCPSP, showing good results. Besides, there is a  trend to use hybrid algorithms. For more information about this, refer to  papers &#91;22-29&#93;. In &#91;30&#93; an experimental investigation  of heuristics for the RCPSP is shown.</font></p>     ]]></body>
<body><![CDATA[<p>&nbsp;</p>     <p><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>3. The proposed  hybrid algorithm</b></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">This paper fills a gap identified in the literature  between the performance of exact and heuristic algorithms in solving the RCPSP.  A deeper analysis of the most advantageous features of the branch and bound is  made, and an algorithm of this type is proposed as a basic method to guide a  deterministic heuristic search.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">This section consists of two sub-sections. In the first one, the branch and bound algorithm  taken from the literature is clearly explained; then, a description of the four  exact dominance rules used to prune the tree follows; some of these taken from  the literature and others proposed by the authors in this paper.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">The second  sub-section contains the proposed heuristic, including the four heuristic  strategies considered in the sequence generation scheme, the structure of the  feasible solutions, and an illustration of the mechanisms, both exact and  heuristic, incorporated in the algorithm to establish a balance between  exploration and exploitation of the search in the feasible space. Finally three  stopping criteria are shown.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><i>3.1. Branch and bound algorithm</i></b></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">An algorithm of this type performs a tree-like exhaustive  and organized search, creating branches that build the solution, from the root  to an end node. From the literature review, it can be argued that among the  exact algorithms, the branch and bound, presented in &#91;16&#93;, is the best performing  algorithm for the RCPSP, although it can be only useful for small instances. To  streamline the search, the algorithm prunes some branches using exact dominance  rules. Moreover, several different ways to improve the algorithm, which cut  through dominance rules, have been developed. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">The branch and bound algorithm operation in each of its  stages is described below, differentiating the developments found in literature  from contributions in this paper. For a better understanding some definitions  are provided next. Level: the time at which a decision is made about which  subset of activities is to be scheduled. Active task: a task that is executed  in a time interval equal to its duration using the resources it requires. To  release resources: to complete an active task, releasing the resources it  requires. Eligible activity: an activity that satisfies all precedent  constraints at a level. Power set of eligible activities: set of all subsets of  eligible activities associated to a level, including the empty set and the set  itself. Feasible subset: element of the power set that satisfies, along with  the tasks that remain active, the resource constraints at a level; this element  consists of eligible activities.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>3.1.1. Steps of the algorithm</b></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>0) Initialization. </b>The  algorithm starts at level zero, at time zero. The number of iterations is  determined.</font></p>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>1) Moving up to the  next level.</b> The algorithm determines the next time an activity is completed  and releases a certain amount of resources, so that a subset of activities from  the set of eligible activities can be scheduled. When the <img src="/img/revistas/dyna/v82n190/v82n190a25eq032.gif"> activities of the project have been scheduled,  a feasible solution is obtained, i.e., a complete sequence whose <i>makespan</i> value is used for comparing it  with the best solution found so far, known as the incumbent solution. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>2) Determining  the set of eligible activities, the power set, sorted from larger to smaller  number of activities, and the feasible subsets at a given level</b>. In case of a tie, they are  sorted according to the numbering of the activities. It is then evaluated which  of these subsets are resource-based feasible, considering the activities or  active tasks. <a href="#fig02">Fig. 2</a> shows an example of the level 1 for the problem in <a href="#fig01">Fig. 1</a>.</font></p>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a name="fig02"></a></font><img src="/img/revistas/dyna/v82n190/v82n190a25fig02.gif"></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">At levels where there are no active tasks, e.g. level 1,  it makes no sense to schedule the empty set, as this would only result in a  delay in the overall project execution. However, it is possible to find the  optimal sequence by scheduling the empty set at levels where there are active  tasks. Nevertheless, in the set of test instances, the probability of this  situation is very low.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>3) Selecting the  next feasible subset (per precedence and resources), for the current level in  order to start its activities</b>. If the level is explored for the first time, the  first subset is chosen. When all the feasible subsets of the level have been  scheduled, the algorithm moves to Step 4.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>4) Backtracking  down one level. </b>The level and all activities scheduled from that time on are removed and  the algorithm backtracks down one level. It is verified if the level reached is  0. If so, the algorithm is completed, otherwise, it returns to Step 3.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>3.1.2. Dominance  rules</b></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Dominance rules are strategies based on mathematical  reasoning developed to calculate exactly at which levels of the search tree it  is no longer necessary to continue searching, as it is certain that a solution  better than the incumbent one cannot be found. These rules enable regions of  the feasible space where a search should no longer take place to be discarded,  and thus allow greater efforts to be focused on performing iterations in other  parts of the search space. Some of the dominance rules used in this paper,  described below, were taken from the literature &#91;13,14,16,31&#93; and some others were prepared  by the authors.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>Rule 1: Precedence-based  and resource-based critical path.</b> It is used to truncate tree branches and can also be  used as a stop rule. The precedence-based critical path is the well-known  project critical path that can be obtained from a forward and backward review  of the project network, calculating the early and late start of each activity.  This estimation of the overall duration of the project only considers the  structure of precedence, ignoring the resources.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">The resource-based critical path (RCP) is a bound  proposed by authors in this paper. It is calculated from a node to forward,  only with activities that still remain to be scheduled <img src="/img/revistas/dyna/v82n190/v82n190a25eq036.gif"> based on the successor activities.  Essentially, for each type of resource, the RCP is calculated with expression  (1), choosing the longest duration. The minimum time the project would take to  be completed is estimated if all activities were scheduled using all the  available resources, i.e., with an efficiency of 100%.</font></p>     ]]></body>
<body><![CDATA[<p><img src="/img/revistas/dyna/v82n190/v82n190a25eq01.gif"></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Here, <img src="/img/revistas/dyna/v82n190/v82n190a25eq040.gif"> represents the type of resource; <img src="/img/revistas/dyna/v82n190/v82n190a25eq042.gif">the duration of activity i;<img src="/img/revistas/dyna/v82n190/v82n190a25eq044.gif">, the consumption of resource  type<img src="/img/revistas/dyna/v82n190/v82n190a25eq046.gif"> by activity <img src="/img/revistas/dyna/v82n190/v82n190a25eq048.gif">; <img src="/img/revistas/dyna/v82n190/v82n190a25eq050.gif"> the total available amount of the resource  type<img src="/img/revistas/dyna/v82n190/v82n190a25eq046.gif">. The critical path dominance  is calculated from the precedence tree generated from each activity. The  critical path by resources is calculated from the unscheduled activities in the  partial solution. These two bounds can be calculated from any activity and are  measured in time units. For any level, if the duration of the current partial  solution plus the maximum between the RCP and the critical path is greater than  or equal to the best stored time of a complete sequence, this branch of the  tree should be pruned since a solution better than the current one will not be  found. Thus, instead of scheduling the feasible subset of this level, the  algorithm backtracks down one level.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>Rule 2: Activity  at a previous level.</b> At each level, in step 3, when a feasible subset is to be scheduled, it  is verified if any of its activities can be performed at a previous level. If  so, this subset is discarded and the algorithm continues with the next subset.  This is because if any activity of the feasible subset can be performed at a  previous level, the resulting sequence would already have been scheduled and  verified at that previous level because the branch and bound algorithm goes  through the tree in a descending order according to the number of activities  that can be scheduled. In this way, the partial solution being evaluated and  all those that are generated from it cannot be better than the partial solution  that considers the inclusion, at the current level, of any activity that could  have been scheduled at a previous level. If the completion time of an activity  of this type is greater than the time of the current level, the algorithm moves  on to the next feasible subset. Otherwise, the entire level is discarded and  the algorithm backtracks down one level.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>Rule 3: Activity with the shortest duration at the same level.</b> <a href="#fig03">Fig. </a>3 shows an example of a  diagram of this dominance, where the last scheduled activity was 3. The eligible activities are 4, 7 and 10 and the  selected feasible subset contains activities 7 and 10. This dominance rule  checks if the activity 4, that has the shortest duration, can be started along  with activities 7 and 10. If so, this partial solution containing only the  feasible subset 7 and 10 will be dominated. </font></p>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a name="fig03"></a></font><img src="/img/revistas/dyna/v82n190/v82n190a25fig03.gif"></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>Rule 4: Interchangeable activities. </b>Successors of one activity are identified by a higher number. At each  level, once a feasible subset is scheduled, the partial solution, i.e., the  sequence of the scheduled activities, is analyzed, and it is verified if any  activity can be interchanged with another scheduled one identified with a  greater number, without violating the precedence and resource constraints. As  this interchange can modify the start time of an entire set of activities, it is  necessary to verify if the solution remains feasible. This test is performed  for each pair of activities that do not share execution times and that, in the  Gantt chart, the rightmost scheduled activity has a lower number than the  activity to the left with which it is intended to be interchanged.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">If a pair of activities can be interchanged, taking into  account the previous conditions, the search tree should be pruned, i.e., backtracking  down one level and removing that branch, since the algorithm must have already  searched all sequences that can be generated from the current level in the  interchanged sequence. After truncating a branch, the algorithm should move on  to step 4. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">In the literature reviewed, only two consecutive  activities were interchanged. In this paper, we propose the general case where  this verification is carried out with all previous candidate activities for  exchange.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><i>3.2. Proposed  heuristic</i></b></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Considering the branch and bound is the exact method that  has given the best results &#91;16&#93;, the algorithm base provides  a sign of efficiency, since the branch and bound guarantees optimality.  Although the hybrid heuristic proposed in this paper does not guarantee the  optimal solution, it aims at reducing the computational time drastically,  possibly giving up some accuracy regarding the optimum. </font></p>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">On the other hand, due  to the way the algorithm is built, the search for sequences is carried out by  considering only feasible solutions, using both precedence and resource  constraints. This allows the heuristic not to worry about non-feasible  solutions, unlike many other algorithms that must incorporate some mechanism to  eliminate them or to penalize them.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Finally, the algorithm expansion using branches is made in  such a way that in the search tree it never returns to a solution already  considered. Therefore, the search is never at a standstill, i.e., it never  remains stuck in a local optimal solution nor does it fall into repetitive  cycles. This attribute will become an escape strategy from local optima, which  is the essence of the proposed algorithm since, while it is searching at a very  high level of the tree (far from the root), if it cannot find any better  sequence and a larger search is desired, it can implement a rule to force  itself to backtrack down one level (to get close to the root) in order to  continue searching in new zones of the feasible region. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">The proposed hybrid methodology, in this paper,  incorporates four heuristic deterministic strategies that provide essential  information and rules of movement, in order to achieve a guided and efficient  search. Later, the best sequence found by the algorithm is adjusted by means of  the <i>Forward-Backward Improvement (FBI)</i> method. A detailed explanation of each of the steps developed follows.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>3.2.1. New  sequence-generator scheme</b></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">A  parallel sequence-generator scheme is based on the power set of the eligible  activities. In order to schedule first those with the highest possibility of  containing the optimal solution, at each level, this set of eligible activities  is ordered in a descending way by three criteria described later on in the text. Each criterion is weighed  with a weight calculated by experimentation, as detailed later, in heuristic 4.  These criteria were chosen from the priority rules used to schedule activities &#91;32&#93;, that in this research are  extrapolated to be used in the scheduling of sets. After calculating such  weights, the evaluation of each feasible subset is computed at each level  according to the three criteria, to carry out later a descending ranking; in  case of a tie, the set with the lowest activity number will be preferred. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>Efficiency in  the use of resources.</b> It is assumed that the optimal sequence of any RCPSP instance should  try to maximize the use of resources for each unit of time, trying to schedule  activities in the most efficient way, assuming that the higher the number of  resources, possibly the higher the number of activities scheduled  simultaneously, and therefore, a shorter project <i>makespan. </i></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">The total consumption of resources of each level is  calculated by adding the consumption of each of its feasible subsets. Then, the  proportion of resources used for each of these feasible subsets with respect to  the total for each level is calculated. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">To estimate the consumption of resources of each  feasible subset it is assumed that there exists different types of resources  and, therefore, for each one of these, a weighting is used to represent its  importance, depending on how critical it is for the problem. The weighting of resource  type <img src="/img/revistas/dyna/v82n190/v82n190a25eq056.gif"> is calculated by equation (2), where <img src="/img/revistas/dyna/v82n190/v82n190a25eq058.gif"> is the time length of activity <img src="/img/revistas/dyna/v82n190/v82n190a25eq060.gif"> is the total availability of resource type<i> k</i>; and <img src="/img/revistas/dyna/v82n190/v82n190a25eq062.gif">, the use of resource type <i>k</i> in activity <img src="/img/revistas/dyna/v82n190/v82n190a25eq064.gif">.</font></p>     <p><img src="/img/revistas/dyna/v82n190/v82n190a25eq02.gif"></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>Efficiency in  releasing successor activities.</b> The subsets of activities that release the  largest number of successor activities are scheduled first, i.e., that after  the first ones are finished, all the activities that had them as predecessors  would satisfy the precedence constraints and would become eligible at the  current level. At each level, after establishing the power set and verifying  which the feasible subsets are, the total number of subsets that each feasible  subset would release in the whole level is calculated, counting the repeated  activities. Next, the proportion of activities released for each feasible  subset is calculated, and results are ordered in a descending way according to  this criterion.</font></p>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>Sets that minimize  the project delay.</b> This  criterion, based on the CPM, considers the largest LFT (Late Finish Time) of  all activities in the subset. An LFT associated to each feasible subset is  calculated, adding the corresponding LFT of each one of its activities. In the  same way, an LFT of reference for the level is obtained by adding the  associated one of each of its feasible subsets. Next, the corresponding ratio  of LFT for each feasible subset is calculated in relation to the total for the  level, and results are ranked in ascending order according to such a ratio. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">The purpose of this criterion is to schedule the lower LFT  sets first to try to minimize the potential delay that may occur when an  activity has been left out for later and scheduled at another level.</font></p>     <p><b><font size="2" face="Verdana, Arial, Helvetica, sans-serif">3.2.2. Allocation  of iterations</font></b></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">The basic idea of the proposed heuristic is to guarantee  exploration in all areas of the feasible region, by distributing the iterations  throughout all branches. The systematic expansion is used as a strategy to  avoid standstill in local optima. For instance, when half of the predetermined  iterations have been executed, it would be expected that half of the feasible  region has been searched, i.e., the algorithm is in the middle of the feasible  subsets at each level. This does not mean that the search is performed in all  the feasible subsets, but that these can be forced to change depending on the  amount of executed iterations.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">For each level, a counter of the number of iterations is  restarted each time the algorithm moves up one level. This is because level 1  is actually the only one that keeps the total number of predetermined  iterations for the algorithm. Each time that a feasible subset is scheduled at  each level, the information related to the three criteria is updated,  accumulating the amount of resources used, of successors released, and of  minimal LFT's, which allows the update of the corresponding ratios applying  heuristic 1 explained in subsection 3.2.1. The procedure used to implement this  second heuristic, is synthesized in expression (3), valid for each level, as  detailed next.</font></p>     <p><img src="/img/revistas/dyna/v82n190/v82n190a25eq03.gif"></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">The terms on the left of inequality (set relations)  represent a weighted average of the three proportions, corresponding to the  three criteria of heuristic 1, with weights <img src="/img/revistas/dyna/v82n190/v82n190a25eq070.gif"> and <img src="/img/revistas/dyna/v82n190/v82n190a25eq072.gif">,  associated to each criterion, as defined later in heuristic 4. Numerators AUR,  ASL, and ALFT, for the current subset, measure the cumulative of the use of  resources, successors released, and LFT, respectively. Denominators TUR, TSL, and TLFT, for the level, measure the total of  resources used, successors released, and LFT, respectively. The term on the  right (iterations relation) measures the proportion between the number of  iterations carried out, <i>Itera, </i>and  the number of remaining iterations, Re.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">If the member on the left is smaller than the term on the  right, the scheduling of the corresponding level is delayed. Then, the  algorithm cuts the tree at the highest level in which it is delayed to prevent  stopping without exploring the whole feasible region, and to continue searching  in the next feasible subset of that level. Depending on the way the feasible  subsets are ordered and the set relations are computed, the hybrid algorithm  makes the comparison regardless of the proportion of subsets run by level.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>3.2.3. Pareto's  principle</b></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">According to Pareto's principle, There are many causes or  factors that contribute to the same effect, but only a small number contributes  in a significant way to causing such an effect; that is, there are very few  essential and many trivial causes; thus, a ratio of 80/20 is proposed, meaning  that 80% of the effect is caused by 20% of the more important causes. To apply  this principle, an experimentally computed proportion close to 60% (higher than  20% suggested by Pareto) of the eligible subsets is implemented at each level  of the proposed algorithm. The computed proportion that varies depending on the  problem complexity is calculated a priori for each case as shown below in  strategy 4. The eligible subsets are ranked according to strategy 1, where the  last ones on the list are the ones that have lower rank and therefore, have the  least probability of containing the global optimum.</font></p>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>3.2.4. Adaptive and self-adaptive parameters</b></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>Self-adaptive parameters</b>. Self-adaptive parameters are  based on results of each of the iterations. As the branch and bound algorithm  explores uniformly all the branches of the tree it is not possible, a priori,  to obtain those branches that will be pruned or the number of solutions that  will not be necessary to build, since they correspond to sequences dominated by  some of the rules previously explained. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">A heuristic pruning of branches can lead to the use of  a smaller number of iterations than the one defined initially, ignoring thus  part of the search in regions where better solutions could be found. To face  this problem, a strategy is implemented so that after the branch and bound  heuristic algorithm finishes, it verifies if the number of iterations executed  is lower than the number established previously; if so, the algorithm restarts  but searches only in regions within the feasible space with the pending  iterations from the previous run. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>Adaptive  parameters.</b> Adaptive parameters are based on a priori information about each problem,  taking specific values in order to improve the algorithm operation. The  proposed heuristic algorithm in this paper uses four parameters, three of which  intervene in expression (3), as the weights <img src="/img/revistas/dyna/v82n190/v82n190a25eq074.gif">, <img src="/img/revistas/dyna/v82n190/v82n190a25eq076.gif"> and <img src="/img/revistas/dyna/v82n190/v82n190a25eq078.gif">. The fourth parameter is the  Pareto's ratio of the selected subsets. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">The goal of this heuristic is to use initial  information about the problem to estimate, a priori, an indicator of the  instance complexity, in order to adapt the values of the parameters,  implementing a more aggressive strategy depending on how high the detected  complexity or difficulty can be. Next the method of ranking of the instances and  the complexity indices used are defined.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">In the process of parameter  adaptation, in the proposed heuristic, the instances of the problem are sorted  first, for which an analysis was made of the academic library PSPLIB (Project  Scheduling Problem Library), &#91;18&#93;, specializing in  sequencing problems, as described in section 4. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Of the complexity indices known in the literature, the  inverse of the resources strength was chosen, defined as the average  consumption of resources type <img src="/img/revistas/dyna/v82n190/v82n190a25eq040.gif"> of all the activities divided by its total  availability, <img src="/img/revistas/dyna/v82n190/v82n190a25eq080.gif">, according to (4), where <img src="/img/revistas/dyna/v82n190/v82n190a25eq082.gif"> is the consumption of resource type <img src="/img/revistas/dyna/v82n190/v82n190a25eq040.gif"> by activity <img src="/img/revistas/dyna/v82n190/v82n190a25eq048.gif">, and <img src="/img/revistas/dyna/v82n190/v82n190a25eq084.gif"> is the total number of activities. To compare  the various instances of the problem, this value was averaged with the values  computed for all the types of resources, defining <img src="/img/revistas/dyna/v82n190/v82n190a25eq086.gif"> (Resource Strength Inverse), as shown in (5).</font></p>     <p><img src="/img/revistas/dyna/v82n190/v82n190a25eq0405.gif"></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">The <img src="/img/revistas/dyna/v82n190/v82n190a25eq092.gif"> for the 480 problems of set j30 was calculated  and each value obtained was matched with the computing time obtained by &#91;18&#93;. Results are shown in <a href="#fig04">Fig. 4</a>,  where each point represents one of the 480 problems. It can be seen that in  some cases, but not in others, as the <img src="/img/revistas/dyna/v82n190/v82n190a25eq092.gif"> approaches 0.3, the computing time grows  explosively; that is, if the computing time is high, an <img src="/img/revistas/dyna/v82n190/v82n190a25eq092.gif"> close to 0.3 will be found, but a problem with  an <img src="/img/revistas/dyna/v82n190/v82n190a25eq092.gif"> close to 0.3 does not necessarily entail a  high computing time. However, only a few cases do not satisfy this condition.</font></p>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a name="fig04"></a></font><img src="/img/revistas/dyna/v82n190/v82n190a25fig04.gif"></p>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">RSI values for which it was considered that a RCPSP  instance has a high level of difficulty were computed experimentally, giving a  range between 0.259 and 0.355. Instances with RSI values outside this range can  be associated with a low complexity level. Then, also experimentally, the best  values of the four parameters, <img src="/img/revistas/dyna/v82n190/v82n190a25eq094.gif">,  and the Pareto's proportion were determined, for both difficult and easy  instances. Results are shown in <a href="#tab01">Table 1</a>. </font></p>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a name="tab01"></a></font><img src="/img/revistas/dyna/v82n190/v82n190a25tab01.gif"></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Finally, the FBI method, &#91;33&#93;, also known as double  justification, is applied to the solution found. This method can be used as a  complement of any other meta-heuristic since it is designed to improve a  feasible solution previously found, using another algorithm. It is based on the  backward/forward free space between activities, understood as its free time, in  which it can be moved forward or backward, several times, with the purpose of  scheduling the activities in the boundaries of their slack time, obtaining, in  many cases, a decrease of the <i>makespan</i>.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">This FBI method consists in executing at least one  backward and one forward pass. In the first one, all the activities are sorted  in descending order regarding their completion time; then a serial schedule  generation scheme is developed, in such a way that all activities are shifted  to the right at the latest time (late finish). In the forward pass, the  activities are sorted in ascending order regarding their start time and a  serial schedule generation scheme is applied in such a way that all activities  are shifted to the left allowing them to start at the earliest time (early  start), as much as their space permits it. Finally, it is verified if there was  a better completion time for the project.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>3.2.5. Three stopping criteria in the proposed hybrid algorithm</b></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>A previously defined limit of iterations.</b> An iteration counts both when a complete sequence is established, i.e.,</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">when  all the activities have a scheduled start time, and when using a dominance  rule, it is determined that a partial sequence cannot be better than the  current best solution.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>A lower bound.</b> The algorithm stops if it  reaches a theoretical lower bound, as it is known that no solution can be  better than such a bound. In this hybrid algorithm the lower bound of Stinson, <img src="/img/revistas/dyna/v82n190/v82n190a25eq108.gif">, is used as a stopping  criteria. It is described in &#91;1&#93;.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>Limit per level.</b> The proposed hybrid algorithm  distributes the iterations and continues the search depending on the proposed  heuristic strategies. At each level, when all feasible subsets have been  scheduled, the algorithm backtracks down one  level, according to step 4, and the next feasible subset of the previous level  is scheduled; if it has no next feasible subset, the algorithm backtracks down  one level more. If there are no more subsets in all the higher levels, level  zero is reached, where the algorithm stops because the entire feasible region  has already been explored (not considering the truncated branches), using the  predetermined iterations.</font></p>     <p>&nbsp;</p>     ]]></body>
<body><![CDATA[<p><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>4. Test library and results</b></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">In &#91;18&#93; the PSPLIB library is  proposed, which provides a set of problems for assessing the performance of the new heuristic schedule algorithms.  It is available at: http://www.om-db.wi.tum.de/psplib/main.html. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Specifically for the  RCPSP, there are four problem sets: j30, j60, j90 and j120 consisting of 30,  60, 90 and 120 activities, respectively. Each set has 480 problems except for  j120 which has 600. In all sets, the same parameters were used to generate, and  therefore they have all the difficulty levels. </font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">In this section the set j30, consisting of 480 problems  and 30 activities, was analyzed. The reason for this is that the problems in  this set are the only ones where both the optimal solution and the solution  time are known in an exact way and, therefore, comparisons with the algorithm  developed in this research can be carried out without bias.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">To evaluate the algorithm proposed efficiency, the 480  problems of the set j30 from the PSPLIB were solved. In order to validate the  proposed algorithm, the percentage deviation of the found solution is  calculated regarding the optimal solution <img src="/img/revistas/dyna/v82n190/v82n190a25eq110.gif"> for each instance, as shown in (6), where <img src="/img/revistas/dyna/v82n190/v82n190a25eq112.gif"> is the solution obtained from the heuristic  and <img src="/img/revistas/dyna/v82n190/v82n190a25eq114.gif">is  the instance optimal solution. In (7), the average of these deviations is  calculated to obtain an average deviation of set <img src="/img/revistas/dyna/v82n190/v82n190a25eq116.gif">.  <a href="#tab02">Table 2</a> shows a summary of the obtained results.</font></p>     <p><img src="/img/revistas/dyna/v82n190/v82n190a25eq0607.gif"></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">In  the first row, with 50,000 iterations, an average percentage deviation of  0.2436% is obtained with respect to the optimal solution, which is a highly  satisfactory result.</font></p>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a name="tab02"></a></font><img src="/img/revistas/dyna/v82n190/v82n190a25tab02.gif"></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Furthermore, as the number of the  iterations increases, a lower percentage deviation is obtained, a foreseeable  result that confirms the coherence of the algorithm, i.e., its proper  operation.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">The second row shows the standard deviation of this  percentage deviation, which represents the error dispersion. In this case,  deviations are small, indicating that their values are consistent and  homogeneous, with little variability. Therefore,  it can be concluded that the algorithm finds good results at different levels  of difficulty. The third row shows the number of instances in which the  proposed hybrid algorithm reaches the optimal solution. And the fourth row  shows the corresponding percentage on the total of 480 instances.</font></p>     ]]></body>
<body><![CDATA[<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Results of the proposed heuristic are comparable to ones  obtained by some of the best meta-heuristic methods reported in the literature.  A summary of results from these algorithms taken from &#91;32&#93; is shown in <a href="#tab03">Table 3</a>, where it  can be seen that this research ranks number 19, being the only one in the list  that uses a branch and bound as a basic algorithm and it is the only entirely  deterministic heuristic algorithm of the list.</font></p>     <p align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a name="tab03"></a></font><img src="/img/revistas/dyna/v82n190/v82n190a25tab03.gif"></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>Computational  complexity.</b> The exact Branch and Bound algorithm incorporates dominance  rules and, in the worst case, it should go throughout the whole feasible  solution space of the RCPSP. It is well known that this problem has an NP-hard  complexity &#91;3&#93;. However, the hybrid  algorithm presented in this work, like, in general, all heuristics, greatly  reduces the computational execution time, because the process is limited to the  number of iterations chosen by the analyst, leaving subsequently as another  component of complexity the own features of the method to construct feasible  solutions &#91;21&#93;.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">In the proposed algorithm, these methods can be summarized  as the use of SGS in parallel whose complexity order is <img src="/img/revistas/dyna/v82n190/v82n190a25eq122.gif"> &#91;21&#93; and the ordering of <img src="/img/revistas/dyna/v82n190/v82n190a25eq124.gif"> eligible subsets at each level, with a  complexity of <img src="/img/revistas/dyna/v82n190/v82n190a25eq126.gif"> </font></p>     <p>&nbsp;</p>     <p><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>5. Conclusions</b></font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">There are several exact  methods for the solution of the RCPSP. It is worth mentioning that the best is  the Branch and Bound method because it solves the problem ensuring optimality.  However, because it requires an extremely large computational effort, it is not  applicable for high level complexity problems. The efficient alternative  proposed in this paper is to solve the RCPSP by means of a hybrid algorithm  integrating four deterministic heuristics into the branch and bound that  capitalize on the advantageous characteristics of the exact algorithm but with  the efficiency of the heuristic.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">The reason for using the branch and bound as a base  algorithm for formulating the hybrid heuristic lies not only on the attributes  that make it attractive, but also on the missing of papers observed in the  literature since this approach is not widely studied, in spite of its  advantages. Thus, the purpose of this paper is to tackle the scarcity of  reports related with the combination between exact algorithms, like the branch  and bound, and heuristic algorithms for solving the RCPSP.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">The proposed branch and bound heuristic hybrid algorithm  uses the scheme of branch expansion proper to branch and bound, but built with  the best sets at each time level where some set of activities can be scheduled  (heuristics 1) but it does not tackle all the sets, only those with a higher probability  of containing the optimum (heuristics 3). Besides, the tree is pruned at each  level so as to force a search in the whole feasible space, according to the  available iterations in a deterministic manner, this being the most important  phase of the algorithm because it is the one that allows the escape from local optima  (heuristics 2). In the same way, the parameters to obtain a better performance  are adjusted using the information from each problem (heuristic 4). Finally, an  FBI improvement is made to the solution obtained.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Results show that solutions can be obtained that are  competitive with alternative algorithms commonly used for solving the RCPSP.  The hybrid algorithm proposed in this research uses a basic exact algorithm,  incorporating heuristic deterministic rules in order to increase its  efficiency. Due to its favorable results, this approach could be considered as  a starting point for future work along this research line.</font></p>     ]]></body>
<body><![CDATA[<p>&nbsp;</p>     <p><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><b>References</b></font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>&#91;1&#93;</b>    Mingozzi, A. et al., An exact algorithm for the  resource constrained project scheduling problem based on a new mathematical  formulation, Manage. Sci., 44 (5), pp. 714-729, 1995. <a href="http://dx.doi.org/10.1287/mnsc.44.5.714" target="_blank">http://dx.doi.org/10.1287/mnsc.44.5.714</a></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=000135&pid=S0012-7353201500020002500001&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>&#91;2&#93;</b>    Brucker, P. et al., Resourceconstrained project  scheduling: Notation, classification, models and methods, Eur. J. Oper. Res.,  112 (1), pp. 3-41, 1999. <a href="http://dx.doi.org/10.1016/S0377-2217(98)00204-5" target="_blank">http://dx.doi.org/10.1016/S0377-2217(98)00204-5</a></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=000136&pid=S0012-7353201500020002500002&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>&#91;3&#93;</b>    Blazewicz, J., Lenstra, J.K. and Rinooy, K.,  Scheduling subject to resource constraints: classification and complexity, Discret.  Appl. Math. - DAM, 5 (1), pp. 11-24, 1983.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000137&pid=S0012-7353201500020002500003&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --> </font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>&#91;4&#93;</b> Schäffter, M.W., Scheduling with forbidden sets, Discret. Appl. Math.  &#91;Online&#93;. 72 (1-2), pp. 155-166, 1997. &#91;date of reference March 06th of 2013&#93;.  Available at: <a href="http://dx.doi.org/10.1016/S0166-218X(96)00042-X" target="_blank">http://dx.doi.org/10.1016/S0166-218X(96)00042-X</a> <a href="http://dx.doi.org/10.1016/S0166-218X(96)00042-X" target="_blank">http://dx.doi.org/10.1016/S0166-218X(96)00042-X</a></font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000139&pid=S0012-7353201500020002500004&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>&#91;5&#93;</b> Morillo, D., Moreno, L.  and Díaz, J., Metodologías analíticas y heurísticas para la soluci&oacute;n del  problema de programaci&oacute;n de tareas con recursos restringidos (RCPSP): Una revisi&oacute;n  Parte 1, Ing. y Cienc. &#91;Online&#93;. 10 (19), pp. 247-271, 2014. &#91;date of reference April 24<sup>th</sup> of 2014&#93;. Available at:</font> <a href="http://publicaciones.eafit.edu.co/index.php/ingciencia/article/view/1982" target="_blank"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">http://publicaciones.eafit.edu.co/index.php/ingciencia/article/view/1982</font></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000140&pid=S0012-7353201500020002500005&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>&#91;6&#93;</b>    Herroelen, W., De Reyck, B. and Demeulemeester, E.,  Resource-constrained project scheduling: A survey of recent developments, Comput. Oper. Res &#91;Online&#93;. 25 (4),  pp. 279-302, 1998. &#91;date of reference March 06<sup>th</sup> of 2013&#93;. Available at:</font> <a href="http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.95.1904" target="_blank"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.95.1904</font></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000141&pid=S0012-7353201500020002500006&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>&#91;7&#93;</b>    Brucker, P. and Knust, S., Lower bounds for  resource-constrained project scheduling problems, Eur. J. Oper. Res., 149 (2),  pp. 302-313, 2003. <a href="http://dx.doi.org/10.1016/S0377-2217(02)00762-2" target="_blank">http://dx.doi.org/10.1016/S0377-2217(02)00762-2</a></font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000142&pid=S0012-7353201500020002500007&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>&#91;8&#93;</b> Elmaghraby, S.E., Activity networks: Project planning and control by network models.  John Wiley &amp; Sons Inc, 1977.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000143&pid=S0012-7353201500020002500008&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --> </font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>&#91;9&#93;</b>    Kolisch, R. and Padman, R., An integrated survey of  deterministic project scheduling, Omega &#91;Online&#93;. 29 (3), pp. 249-272, 2001. Available at:</font> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a href="http://linkinghub.elsevier.com/retrieve/pii/S0305048300000463" target="_blank">http://linkinghub.elsevier.com/retrieve/pii/S0305048300000463</a> <a href="http://dx.doi.org/10.1016/S0305-0483(00)00046-3" target="_blank">http://dx.doi.org/10.1016/S0305-0483(00)00046-3</a></font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000145&pid=S0012-7353201500020002500009&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>&#91;10&#93;</b>   Davis, E.W. and Heidorn, G.E., An algorithm for  optimal project scheduling under multiple resource constraints, Manage. Sci.,  17 (12), pp. B803-B816, 1</font> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a href="http://dx.doi.org/10.1287/mnsc.17.12.B803" target="_blank">http://dx.doi.org/10.1287/mnsc.17.12.B803</a></font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000146&pid=S0012-7353201500020002500010&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>&#91;11&#93;</b>   Gutjahr, A.L. and Nemhauser, G.L., An algorithm for  the line balancing problem, Manage. Sci., 11 (2), pp. 308-315, 1964. <a href="http://dx.doi.org/10.1287/mnsc.11.2.308" target="_blank">http://dx.doi.org/10.1287/mnsc.11.2.308</a></font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000147&pid=S0012-7353201500020002500011&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>&#91;12&#93;</b>   Fisher, M., Optimal solution of scheduling problems  using lagrange multipliers Part1, Oper. Res., 21 (5), pp. 1114-1127, 1973. <a href="http://dx.doi.org/10.1287/opre.21.5.1114" target="_blank">http://dx.doi.org/10.1287/opre.21.5.1114</a></font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000148&pid=S0012-7353201500020002500012&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>&#91;13&#93;</b> Stinson, J.P., Davis, E.W. and Khumawala, B.M.,  Multiple resource-constrained scheduling using branch and bound, AIIE Trans. &#91;Online&#93;. 10 (3), pp. 252-259,  1978. &#91;date of reference March 06<sup>th</sup> of 2013&#93;.  Available at:</font> <a href="http://www.tandfonline.com/doi/abs/10.1080/05695557808975212" target="_blank"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">http://www.tandfonline.com/doi/abs/10.1080/05695557808975212</font></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000149&pid=S0012-7353201500020002500013&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>&#91;14&#93;</b>   Christofides, N., Alvarez-Valdes, R. and Tamarit, J.M.,  Project scheduling with resource constraints: A branch and bound approach, Eur. J. Oper. Res. &#91;Online&#93;. 29 (3),  pp. 262-273, 1987. &#91;date of reference March 05<sup>th</sup> of 2013&#93;. Available at:</font> <a href="http://ideas.repec.org/a/eee/ejores/v29y1987i3p262-273.html" target="_blank"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">http://ideas.repec.org/a/eee/ejores/v29y1987i3p262-273.html</font></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000150&pid=S0012-7353201500020002500014&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>&#91;15&#93;</b>   Patterson, J.H., A comparison of exact approaches for  solving the multiple constrained resource, Project Scheduling Problem, Manage.  Sci., 30 (7), pp. 854-867, 1984.</font> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a href="http://dx.doi.org/10.1287/mnsc.30.7.854" target="_blank">http://dx.doi.org/10.1287/mnsc.30.7.854</a></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=000151&pid=S0012-7353201500020002500015&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>&#91;16&#93;</b>   Demeulemeester, E. and Herroelen, W., A  branch-and-bound procedure for the multiple resource-constrained project  scheduling problem, Manage. Sci. &#91;Online&#93;.  38 (12), pp. 1803-1818, 1992. &#91;date of reference March 06<sup>th</sup> of 2013&#93;. Available at:</font> <a href="http://mansci.journal.informs.org/content/38/12/1803.full.pdf" target="_blank"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">http://mansci.journal.informs.org/content/38/12/1803.full.pdf</font></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000152&pid=S0012-7353201500020002500016&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>&#91;17&#93;</b> Kolisch, R., Sprecher, A. and Drexl, A.,  Characterization and generation of a general class of resource-constrained  project scheduling problems: Easy and hard instances, Res. Rep. No. 301, Inst. für Betriebswirtschaftslehre, Christ. zu  Kiel.Germany., 1992.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000153&pid=S0012-7353201500020002500017&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --> </font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>&#91;18&#93;</b>   Kolisch, R. and Sprecher, A., PSPLIB - A project  scheduling library, Eur. J. Oper. Res., 96, pp. 205-216, 1996.</font> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a href="http://dx.doi.org/10.1016/S0377-2217(96)00170-1" target="_blank">http://dx.doi.org/10.1016/S0377-2217(96)00170-1</a></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=000155&pid=S0012-7353201500020002500018&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>&#91;19&#93;</b>   Bianco, L. and Caramia, M., A new formulation for the  project scheduling problem under limited resources, Flex. Serv. Manuf. J. &#91;Online&#93;. 25 (1-2), pp. 6-24, 2011. &#91;date  of reference May 06<sup>th</sup> of 2014&#93;. Available  at: <a href="http://link.springer.com/10.1007/s10696-011-9127-y" target="_blank">http://link.springer.com/10.1007/s10696-011-9127-y</a></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=000156&pid=S0012-7353201500020002500019&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>&#91;20&#93;</b>   Kon&eacute;, O. et  al., Event-based MILP models for resource-constrained project scheduling  problems, Comput. Oper. Res. &#91;Online&#93;.  38 (1), pp. 3-13, 2011. &#91;date of reference April 29<sup>th</sup> of 2014&#93;. Available  at:</font> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a href="http://www.sciencedirect.com/science/article/pii/S0305054809003360" target="_blank">http://www.sciencedirect.com/science/article/pii/S0305054809003360</a></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=000157&pid=S0012-7353201500020002500020&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>&#91;21&#93;</b>   Hartmann, S. and Kolisch, R., Experimental evaluation  of state-of-the-art heuristics for the resource-constrained project scheduling  problem, Eur. J. Oper. Res., 127 (2), pp. 394-407, 2000. <a href="http://dx.doi.org/10.1016/S0377-2217(99)00485-3" target="_blank">http://dx.doi.org/10.1016/S0377-2217(99)00485-3</a></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=000158&pid=S0012-7353201500020002500021&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>&#91;22&#93;</b>   Wang, H., Li, T. and Lin, D., Efficient genetic  algorithm for resource-constrained project scheduling problem, Trans. Tianjin Univ. &#91;Online&#93;. 16  (5), pp. 376-382, 2010. &#91;date of reference March 06<sup>th</sup> of 2013&#93;. Available at:</font> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a href="http://www.springerlink.com/index/10.1007/s12209-010-1495-y" target="_blank">http://www.springerlink.com/index/10.1007/s12209-010-1495-y</a></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=000159&pid=S0012-7353201500020002500022&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>&#91;23&#93;</b> Gonçalves, J.F., Resende, M. and Mendes, J., A biased  random-key genetic algorithm with forward-backward improvement for the resource  constrained project scheduling problem, J. Heuristics, 17 (5), pp. 1-20, 2011. <a href="http://dx.doi.org/10.1007/s10732-010-9142-2" target="_blank">http://dx.doi.org/10.1007/s10732-010-9142-2</a></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=000160&pid=S0012-7353201500020002500023&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>&#91;24&#93;</b> Wang, X.-G. et al., Application of  resource-constrained project scheduling with a critical chain method on  organizational project management, in 2010 International Conference On Computer  Design and Applications, 2, pp. V2-51-V2-54, 2010,    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000161&pid=S0012-7353201500020002500024&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></font></p>     ]]></body>
<body><![CDATA[<!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>&#91;25&#93;</b>   Elloumi, S. and Fortemps, P., A hybrid rank-based  evolutionary algorithm applied to multi-mode resource-constrained project  scheduling problem, Eur. J. Oper. Res. &#91;Online&#93;. 205 (1), pp. 31-41, 2010.  &#91;date of reference March 06th of 2013&#93;. Available at: <a href="http://dx.doi.org/10.1016/j.ejor.2009.12.014" target="_blank">http://dx.doi.org/10.1016/j.ejor.2009.12.014</a> <a href="http://dx.doi.org/10.1016/j.ejor.2009.12.014" target="_blank">http://dx.doi.org/10.1016/j.ejor.2009.12.014</a></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=000163&pid=S0012-7353201500020002500025&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>&#91;26&#93;</b> Montoya-Torres, J. R., Gutierrez-Franco, E. and  Pirachic&aacute;n-Mayorga, C., Project scheduling with limited resources using a  genetic algorithm, Int. J. Proj.  Manag., 28 (6), pp. 619-628, 2010. <a href="http://dx.doi.org/10.1016/j.ijproman.2009.10.003" target="_blank">http://dx.doi.org/10.1016/j.ijproman.2009.10.003</a></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=000164&pid=S0012-7353201500020002500026&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>&#91;27&#93;</b>   Valls, V., Ballestin, F. and Quintanilla, S., A hybrid  genetic algorithm for the resource-constrained project scheduling problem, Eur.  J. Oper. Res., 185 (2), pp. 495-508, 2008. <a href="http://dx.doi.org/10.1016/j.ejor.2006.12.033" target="_blank">http://dx.doi.org/10.1016/j.ejor.2006.12.033</a></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=000165&pid=S0012-7353201500020002500027&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>&#91;28&#93;</b>   Deng, L., Lin, V. and Chen, M., Hybrid ant colony  optimization for the resource-constrained project scheduling problem, J. Syst.  Eng. Electron., 21 (1), pp. 67-71, 2010.</font> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a href="http://dx.doi.org/10.3969/j.issn.1004-4132.2010.01.012" target="_blank">http://dx.doi.org/10.3969/j.issn.1004-4132.2010.01.012</a></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=000166&pid=S0012-7353201500020002500028&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>&#91;29&#93;</b>   Feo, T.A. and Resende, M.G.C., A probabilistic  heuristic for a computationally difficult set covering problem, Oper. Res.  Lett., 8 (2), pp. 67-71, 1989. <a href="http://dx.doi.org/10.1016/0167-6377(89)90002-3" target="_blank">http://dx.doi.org/10.1016/0167-6377(89)90002-3</a></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=000167&pid=S0012-7353201500020002500029&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>&#91;30&#93;</b>   Kolisch, R. and Hartmann, S., Experimental  investigation of heuristics for resource-constrained project scheduling: An  update, Eur. J. Oper. Res. &#91;Online&#93;.  174 (1), pp. 23-37, 2006. &#91;date of reference May 04<sup>th</sup> of 2014&#93;. Available at:</font> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a href="http://www.sciencedirect.com/science/article/pii/S0377221705002596" target="_blank">http://www.sciencedirect.com/science/article/pii/S0377221705002596</a></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=000168&pid=S0012-7353201500020002500030&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>&#91;31&#93;</b>   Brucker, P. et al., A branch and bound algorithm for  the resource-constrained project scheduling problem, Eur. J. Oper. Res., 107 (2),  pp. 272-288, 1998. <a href="http://dx.doi.org/10.1016/S0377-2217(97)00335-4" target="_blank">http://dx.doi.org/10.1016/S0377-2217(97)00335-4</a></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=000169&pid=S0012-7353201500020002500031&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>&#91;32&#93;</b> Cervantes, M., Nuevos m&eacute;todos meta heurísticos para la  asignaci&oacute;n eficiente, optimizada y robusta de recursos limitados, Universidad  Polit&eacute;cnica de Valencia, 2009.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=000170&pid=S0012-7353201500020002500032&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --> </font></p>     <!-- ref --><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>&#91;33&#93;</b>   Tormos, P. and Lova, A., A competitive heuristic  solution technique for resource-constrained project scheduling, Ann. Oper. Res.,  102 (1-4), pp. 65-81, 2001. <a href="http://dx.doi.org/10.1023/A:1010997814183" target="_blank">http://dx.doi.org/10.1023/A:1010997814183</a></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=000172&pid=S0012-7353201500020002500033&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><p>&nbsp;</p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>D. Morillo-Torres, </b>received a BSc in Industrial Engineering in 2010, and a MSc degree in  Systems Engineering in 2013, both from the Universidad Nacional de Colombia,  Medellin, Colombia. Currently, he is undertaking his PhD degree in Informatics  at Universitat Politècnica de València, Valencia, Espa&ntilde;a. His research  interests include: mathematical modelling, operational research, heuristic  optimization and scheduling. ORCID: 0000-0001-7731-1104</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>L.F. Moreno-Vel&aacute;squez, </b>received a BSc in Civil Engineering in  1973, a MSc degree in Mathematics in 1975, both from the Universidad Nacional  de Colombia, Medellin, Colombia, and a MSc degree from Northwestern University  at Evanston, Illinois, USA in 1979. From  1979 to 1993 he worked for several private companies. Since 1993 he has been  working for the Universidad Nacional de Colombia as Associate Professor in the  Computing and Decision Sciences Department, Facultad de Minas, Universidad  Nacional de Colombia, Medellín, Colombia. His research interests include:  optimization, operational research, heuristic optimization and scheduling and  optimization tools.</font></p>     <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>F.J. Díaz-Serna,</b> received a BSc in Industrial Engineering in 1982, a MSc degree in Systems  Engineering in 1992, and a PhD degree in Systems in 2011, all of them from the  Universidad Nacional de Colombia. Medellin, Colombia. Since 1983, he has worked  as a Full Professor in the Computing and Decision Sciences Department, Facultad  de Minas, Universidad Nacional de Colombia, Medellín, Colombia. His research  interests include: optimization, simulation, and modeling in energy systems;  nonlinear and mixed integer programming using computational techniques; and  optimization tools. ORCID: 0000-0002-1849-8068</font></p>      ]]></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>
</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[Manage. Sci.]]></source>
<year>1995</year>
<volume>44</volume>
<numero>5</numero>
<issue>5</issue>
<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[Brucker]]></surname>
<given-names><![CDATA[P.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Resourceconstrained project scheduling: Notation, classification, models and methods]]></article-title>
<source><![CDATA[Eur. J. Oper. Res.]]></source>
<year>1999</year>
<volume>112</volume>
<numero>1</numero>
<issue>1</issue>
<page-range>3-41</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[Blazewicz]]></surname>
<given-names><![CDATA[J.]]></given-names>
</name>
<name>
<surname><![CDATA[Lenstra]]></surname>
<given-names><![CDATA[J.K.]]></given-names>
</name>
<name>
<surname><![CDATA[Rinooy]]></surname>
<given-names><![CDATA[K.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Scheduling subject to resource constraints: classification and complexity]]></article-title>
<source><![CDATA[Discret. Appl. Math.]]></source>
<year>1983</year>
<volume>5</volume>
<numero>1</numero>
<issue>1</issue>
<page-range>11-24</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[Schäffter]]></surname>
<given-names><![CDATA[M.W.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Scheduling with forbidden sets]]></article-title>
<source><![CDATA[Discret. Appl. Math.]]></source>
<year>1997</year>
<volume>72</volume>
<numero>1-2</numero>
<issue>1-2</issue>
<page-range>155-166</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[Morillo]]></surname>
<given-names><![CDATA[D.]]></given-names>
</name>
<name>
<surname><![CDATA[Moreno]]></surname>
<given-names><![CDATA[L.]]></given-names>
</name>
<name>
<surname><![CDATA[Díaz]]></surname>
<given-names><![CDATA[J.]]></given-names>
</name>
</person-group>
<article-title xml:lang="es"><![CDATA[Metodologías analíticas y heurísticas para la solución del problema de programación de tareas con recursos restringidos (RCPSP): Una revisión Parte 1]]></article-title>
<source><![CDATA[Ing. y Cienc.]]></source>
<year>2014</year>
<volume>10</volume>
<numero>19</numero>
<issue>19</issue>
<page-range>247-271</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[Herroelen]]></surname>
<given-names><![CDATA[W.]]></given-names>
</name>
<name>
<surname><![CDATA[De Reyck]]></surname>
<given-names><![CDATA[B.]]></given-names>
</name>
<name>
<surname><![CDATA[Demeulemeester]]></surname>
<given-names><![CDATA[E.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Resource-constrained project scheduling: A survey of recent developments]]></article-title>
<source><![CDATA[Comput. Oper. Res]]></source>
<year>1998</year>
<volume>25</volume>
<numero>4</numero>
<issue>4</issue>
<page-range>279-302</page-range></nlm-citation>
</ref>
<ref id="B7">
<label>7</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[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[Lower bounds for resource-constrained project scheduling problems]]></article-title>
<source><![CDATA[Eur. J. Oper. Res.]]></source>
<year>2003</year>
<volume>149</volume>
<numero>2</numero>
<issue>2</issue>
<page-range>302-313</page-range></nlm-citation>
</ref>
<ref id="B8">
<label>8</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Elmaghraby]]></surname>
<given-names><![CDATA[S.E.]]></given-names>
</name>
</person-group>
<source><![CDATA[Activity networks: Project planning and control by network models]]></source>
<year>1977</year>
<publisher-name><![CDATA[John Wiley & Sons Inc]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B9">
<label>9</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[Padman]]></surname>
<given-names><![CDATA[R.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[An integrated survey of deterministic project scheduling]]></article-title>
<source><![CDATA[Omega]]></source>
<year>2001</year>
<volume>29</volume>
<numero>3</numero>
<issue>3</issue>
<page-range>249-272</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[Davis]]></surname>
<given-names><![CDATA[E.W.]]></given-names>
</name>
<name>
<surname><![CDATA[Heidorn]]></surname>
<given-names><![CDATA[G.E.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[An algorithm for optimal project scheduling under multiple resource constraints]]></article-title>
<source><![CDATA[Manage. Sci.]]></source>
<year></year>
<volume>17</volume>
<numero>12</numero>
<issue>12</issue>
<page-range>B803-B816</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[Gutjahr]]></surname>
<given-names><![CDATA[A.L.]]></given-names>
</name>
<name>
<surname><![CDATA[Nemhauser]]></surname>
<given-names><![CDATA[G.L.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[An algorithm for the line balancing problem]]></article-title>
<source><![CDATA[Manage. Sci.]]></source>
<year>1964</year>
<volume>11</volume>
<numero>2</numero>
<issue>2</issue>
<page-range>308-315</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[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 Part1]]></article-title>
<source><![CDATA[Oper. Res.]]></source>
<year>1973</year>
<volume>21</volume>
<numero>5</numero>
<issue>5</issue>
<page-range>1114-1127</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[Stinson]]></surname>
<given-names><![CDATA[J.P.]]></given-names>
</name>
<name>
<surname><![CDATA[Davis]]></surname>
<given-names><![CDATA[E.W.]]></given-names>
</name>
<name>
<surname><![CDATA[Khumawala]]></surname>
<given-names><![CDATA[B.M.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Multiple resource-constrained scheduling using branch and bound]]></article-title>
<source><![CDATA[AIIE Trans.]]></source>
<year></year>
<volume>10</volume>
<numero>3</numero>
<issue>3</issue>
<page-range>252-259</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[Christofides]]></surname>
<given-names><![CDATA[N.]]></given-names>
</name>
<name>
<surname><![CDATA[Alvarez-Valdes]]></surname>
<given-names><![CDATA[R.]]></given-names>
</name>
<name>
<surname><![CDATA[Tamarit]]></surname>
<given-names><![CDATA[J.M.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Project scheduling with resource constraints: A branch and bound approach]]></article-title>
<source><![CDATA[Eur. J. Oper. Res.]]></source>
<year>1987</year>
<volume>29</volume>
<numero>3</numero>
<issue>3</issue>
<page-range>262-273</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[Patterson]]></surname>
<given-names><![CDATA[J.H.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A comparison of exact approaches for solving the multiple constrained resource, Project Scheduling Problem]]></article-title>
<source><![CDATA[Manage. Sci.]]></source>
<year>1984</year>
<volume>30</volume>
<numero>7</numero>
<issue>7</issue>
<page-range>854-867</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[A branch-and-bound procedure for the multiple resource-constrained project scheduling problem]]></article-title>
<source><![CDATA[Manage. Sci.]]></source>
<year>1992</year>
<volume>38</volume>
<numero>12</numero>
<issue>12</issue>
<page-range>1803-1818</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[Kolisch]]></surname>
<given-names><![CDATA[R.]]></given-names>
</name>
<name>
<surname><![CDATA[Sprecher]]></surname>
<given-names><![CDATA[A.]]></given-names>
</name>
<name>
<surname><![CDATA[Drexl]]></surname>
<given-names><![CDATA[A.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Characterization and generation of a general class of resource-constrained project scheduling problems: Easy and hard instances]]></article-title>
<source><![CDATA[Res. Rep.]]></source>
<year>1992</year>
<numero>301</numero>
<issue>301</issue>
<publisher-name><![CDATA[Inst. für Betriebswirtschaftslehre]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B18">
<label>18</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[Sprecher]]></surname>
<given-names><![CDATA[A.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[PSPLIB - A project scheduling library]]></article-title>
<source><![CDATA[Eur. J. Oper. Res.]]></source>
<year>1996</year>
<numero>96</numero>
<issue>96</issue>
<page-range>205-216</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[Bianco]]></surname>
<given-names><![CDATA[L.]]></given-names>
</name>
<name>
<surname><![CDATA[Caramia]]></surname>
<given-names><![CDATA[M.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A new formulation for the project scheduling problem under limited resources]]></article-title>
<source><![CDATA[Flex. Serv. Manuf. J.]]></source>
<year>2011</year>
<volume>25</volume>
<numero>1-2</numero>
<issue>1-2</issue>
<page-range>6-24</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[Koné]]></surname>
<given-names><![CDATA[O.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Event-based MILP models for resource-constrained project scheduling problems]]></article-title>
<source><![CDATA[Comput. Oper. Res.]]></source>
<year>2011</year>
<volume>38</volume>
<numero>1</numero>
<issue>1</issue>
<page-range>3-13</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[Hartmann]]></surname>
<given-names><![CDATA[S.]]></given-names>
</name>
<name>
<surname><![CDATA[Kolisch]]></surname>
<given-names><![CDATA[R.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Experimental evaluation of state-of-the-art heuristics for the resource-constrained project scheduling problem]]></article-title>
<source><![CDATA[Eur. J. Oper. Res.]]></source>
<year>2000</year>
<volume>127</volume>
<numero>2</numero>
<issue>2</issue>
<page-range>394-407</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[Wang]]></surname>
<given-names><![CDATA[H.]]></given-names>
</name>
<name>
<surname><![CDATA[Li]]></surname>
<given-names><![CDATA[T.]]></given-names>
</name>
<name>
<surname><![CDATA[Lin]]></surname>
<given-names><![CDATA[D.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Efficient genetic algorithm for resource-constrained project scheduling problem]]></article-title>
<source><![CDATA[Trans. Tianjin Univ.]]></source>
<year>2010</year>
<volume>16</volume>
<numero>5</numero>
<issue>5</issue>
<page-range>376-382</page-range></nlm-citation>
</ref>
<ref id="B23">
<label>23</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Gonçalves]]></surname>
<given-names><![CDATA[J.F.]]></given-names>
</name>
<name>
<surname><![CDATA[Resende]]></surname>
<given-names><![CDATA[M.]]></given-names>
</name>
<name>
<surname><![CDATA[Mendes]]></surname>
<given-names><![CDATA[J.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A biased random-key genetic algorithm with forward-backward improvement for the resource constrained project scheduling problem]]></article-title>
<source><![CDATA[J. Heuristics]]></source>
<year>2011</year>
<volume>17</volume>
<numero>5</numero>
<issue>5</issue>
<page-range>1-20</page-range></nlm-citation>
</ref>
<ref id="B24">
<label>24</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Wang]]></surname>
<given-names><![CDATA[X.-G.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Application of resource-constrained project scheduling with a critical chain method on organizational project management]]></article-title>
<source><![CDATA[]]></source>
<year>2010</year>
<edition>2</edition>
<conf-name><![CDATA[ International Conference On Computer Design and Applications]]></conf-name>
<conf-date>2010</conf-date>
<conf-loc> </conf-loc>
<page-range>V2-51-V2-54</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[Elloumi]]></surname>
<given-names><![CDATA[S.]]></given-names>
</name>
<name>
<surname><![CDATA[Fortemps]]></surname>
<given-names><![CDATA[P.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A hybrid rank-based evolutionary algorithm applied to multi-mode resource-constrained project scheduling problem]]></article-title>
<source><![CDATA[Eur. J. Oper. Res.]]></source>
<year>2010</year>
<month>Ma</month>
<day>rc</day>
<volume>205</volume>
<numero>1</numero>
<issue>1</issue>
<page-range>31-41</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[Montoya-Torres]]></surname>
<given-names><![CDATA[J. R.]]></given-names>
</name>
<name>
<surname><![CDATA[Gutierrez-Franco]]></surname>
<given-names><![CDATA[E.]]></given-names>
</name>
<name>
<surname><![CDATA[Pirachicán-Mayorga]]></surname>
<given-names><![CDATA[C.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Project scheduling with limited resources using a genetic algorithm]]></article-title>
<source><![CDATA[Int. J. Proj. Manag.]]></source>
<year>2010</year>
<volume>28</volume>
<numero>6</numero>
<issue>6</issue>
<page-range>619-628</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[Valls]]></surname>
<given-names><![CDATA[V.]]></given-names>
</name>
<name>
<surname><![CDATA[Ballestin]]></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[A hybrid genetic algorithm for the resource-constrained project scheduling problem]]></article-title>
<source><![CDATA[Eur. J. Oper. Res.]]></source>
<year>2008</year>
<volume>185</volume>
<numero>2</numero>
<issue>2</issue>
<page-range>495-508</page-range></nlm-citation>
</ref>
<ref id="B28">
<label>28</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Deng]]></surname>
<given-names><![CDATA[L.]]></given-names>
</name>
<name>
<surname><![CDATA[Lin]]></surname>
<given-names><![CDATA[V.]]></given-names>
</name>
<name>
<surname><![CDATA[Chen]]></surname>
<given-names><![CDATA[M.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Hybrid ant colony optimization for the resource-constrained project scheduling problem]]></article-title>
<source><![CDATA[J. Syst. Eng. Electron.]]></source>
<year>2010</year>
<volume>21</volume>
<numero>1</numero>
<issue>1</issue>
<page-range>67-71</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[Feo]]></surname>
<given-names><![CDATA[T.A.]]></given-names>
</name>
<name>
<surname><![CDATA[Resende]]></surname>
<given-names><![CDATA[M.G.C.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A probabilistic heuristic for a computationally difficult set covering problem]]></article-title>
<source><![CDATA[Oper. Res. Lett.]]></source>
<year>1989</year>
<volume>8</volume>
<numero>2</numero>
<issue>2</issue>
<page-range>67-71</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[Kolisch]]></surname>
<given-names><![CDATA[R.]]></given-names>
</name>
<name>
<surname><![CDATA[Hartmann]]></surname>
<given-names><![CDATA[S.]]></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[Eur. J. Oper. Res.]]></source>
<year>2006</year>
<volume>174</volume>
<numero>1</numero>
<issue>1</issue>
<page-range>23-37</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[Brucker]]></surname>
<given-names><![CDATA[P.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A branch and bound algorithm for the resource-constrained project scheduling problem]]></article-title>
<source><![CDATA[Eur. J. Oper. Res.]]></source>
<year>1998</year>
<volume>107</volume>
<numero>2</numero>
<issue>2</issue>
<page-range>272-288</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[Cervantes]]></surname>
<given-names><![CDATA[M.]]></given-names>
</name>
</person-group>
<source><![CDATA[Nuevos métodos meta heurísticos para la asignación eficiente, optimizada y robusta de recursos limitados]]></source>
<year>2009</year>
<publisher-name><![CDATA[Universidad Politécnica de Valencia]]></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[Tormos]]></surname>
<given-names><![CDATA[P.]]></given-names>
</name>
<name>
<surname><![CDATA[Lova]]></surname>
<given-names><![CDATA[A.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A competitive heuristic solution technique for resource-constrained project scheduling]]></article-title>
<source><![CDATA[Ann. Oper. Res.]]></source>
<year>2001</year>
<volume>102</volume>
<numero>1-4</numero>
<issue>1-4</issue>
<page-range>65-81</page-range></nlm-citation>
</ref>
</ref-list>
</back>
</article>
