El problema de planeacion de tareas con utilizacion de recursos restringidos (RCPSP por su sigla en ingles: Resource-Constrained Project Scheduling Problem) es una de las actividades centrales en la planeacion y desarrollo de cualquier proyecto que se pueda descomponer en unidades menores denominadas tareas, las cuales deben ser secuenciadas u ordenadas con el fin de respetar ciertas restricciones de orden denominadas relaciones de precedencia y otras de utilizacion de los recursos. En general, el problema se reduce a programar o secuenciar unas operaciones manteniendo los dos tipos de restricciones enunciadas anteriormente. En la mayoria de los casos los problemas resultantes son problemas combinatorios del tipo NP, los cuales, a pesar de la dificultad para ser resueltos, presentan una gran aplicabilidad a situaciones del mundo real. Para resolver este tipo de problemas, al igual que para muchos problemas combinatorios, existen dos enfoques: el de los algoritmos exactos que dan una respuesta optima, pero que pueden resultar poco aplicables en la practica, dado el consumo tan elevado de tiempo de procesamiento y el de los algoritmos heuristicos que aunque no garantizan una solucion optima, lo hacen en forma bastante rapida y en ocasiones con soluciones muy proximas o iguales al optimo. En esta ultima categoria estan la busqueda tabu, el enfriamiento simulado, los algoritmos geneticos, la busqueda dispersa y numerosos algoritmos que tratan a su manera de resolver el RCPSP u otros problemas ya que estos algoritmos, en muchas ocasiones son de caracter general y con variaciones menores se pueden utilizar para resolver problemas especificos. El presente proyecto busca una mezcla de las dos estrategias, donde la primera etapa consiste en un algoritmo de ramificacion y acotamiento que trata de recorrer todo el espacio de soluciones, y que si asi lo hiciera llegaria al optimo, pero que dado que requeriria de un tiempo muy grande, entonces utiliza una estrategia de descartar soluciones que parecen no ser tan buenas para concentrarse en las que si parecen buenas. Como muchas veces el optimo se encuentra por el lado de las que aparentan no ser tan buenas, la clave de la mezcla de las dos estrategias consiste en no descartar todas las aparentemente malas, buscando solamente en un espacio reducido de soluciones para no incurrir, por el otro extremo, en tiempos de proceso muy altos. Entonces en la estrategia de seleccion de las soluciones aparentemente buenas se utilizan criterios que permitan a la vez seleccionar las buenas recorriendo solo un numero relativamente pequeno del espacio de soluciones. Esta estrategia que en general es utilizada por todos los algoritmos heuristicos se aparta de su concepcion general en el sentido de que la base de la busqueda es un algoritmo exacto, donde se utilizan estrategias, suposiciones intuitivas y trucos para descartar soluciones. Por supuesto que no hay garantia de llegar a la solucion optima, pero en la medida en que se sea mas inteligente y selectivo en la forma de recorrer las soluciones, mayor es la probabilidad de llegar a la solucion optima. Las estrategias se toman de la experiencia que se ha tenido tanto en el desarrollo de algoritmos exactos aplicados a problemas pequenos como de algoritmos heuristicos aplicados a problemas mayores.