Resum Els problemes d'optimització i satisfacció de restriccions són extraordinàriament complexos i variats. Al mateix temps, són problemes d'alt interès, tant en l'aspecte científic-tècnic com en l'aplicat. Per això, poder disposar de solucions algorítmiques eficients i flexibles suposa un alt valor afegit en molt diferents entorns d'aplicació. Entre els problemes més típics d'aquest tipus es troben els problemes de scheduling, que impliquen l'execució d'accions que requerixen recursos la disponibilitat dels quals està limitada i per tant han d'assignar-se de manera eficient. Dins de l'àmplia varietat dels problemes de scheduling destaca el problema de programació de projectes amb recursos limitats, el qual considera un conjunt d'activitats relacionades entre si per mitjà de relacions de precedència, un conjunt de recursos amb un límit en la seua disponibilitat i un conjunt de mesures de rendiment, i es pregunta quina és la millor manera d'assignar els anomenats recursos a les activitats, de tal manera que s'optimitze la mesura del rendiment. S'han publicat molts i diversos treballs en relació al problema estàndard de programació de projectes amb recursos limitats, el qual inclou una única manera d'execució (RCPSP) de les activitats que el conformen, abordant la seua solució amb mètodes exactes i mètodes aproximats. Quant al problema que considera la possibilitat que cada activitat s'execute en un de diverses possibles maneres (MRCPSP), el seu estudi no és tan ampli com el del cas anterior. L'objectiu d'esta tesi és obtindre una assignació optimitzada de recursos en aquest complex problema de scheduling. Particularment hem dissenyat i desenvolupat nous mètodes per als problemes mencionats anteriorment. En primer lloc hem seguit un procés de refinació per a la proposta d'una heurística i un algoritme genètic per a resoldre el problema RCPSP utilitzant de manera selectiva el mètode de millora de programacions factibles FBI. En el cas del MRCPSP hem dissenyat un mètode de millora de programacions factibles i un mètode d'assignació de modes que genera programacions factibles en més del 90% dels casos. Estos mètodes han sigut incorporats en un algoritme genètic per al qual hem dissenyat una funció d'avaluació dels individus que guia adequadament l'evolució de l'algoritme. Un dels supòsits implícits en estos dos problemes és que l'entorn de desenvolupament del projecte és deterministic i, per tant, les duracions de les activitats durant l'execució del projecte es mantenen iguals a les planejades, que la disponibilitat dels recursos no es veu afectada per eventualitats i, per tant, la programació pot realitzar-se sense cap contratemps. No obstant això, és clar que el dit supòsit no s'acomplís en els projectes que s'executen en el món real, per la qual cosa es planteja el problema de la generació de programacions que siguen estables en la seua execució. Per a abordar aquest problema hem dissenyat un algoritme genètic que insereix temps de seguretat, al mateix temps que reserva els recursos necessaris per a evitar la propagació dels retards al llarg de la programació. Aquest algoritme incorpora una funció d'avaluació dels individus que consisteix en un mesurament ex-ante de la robustesa de les programacions generades. D'una altra part es desenrotllen dos mesures de l'estabilitat de les programacions que es sotmeten a un procés de simulació amb dos escenaris de variabilitat de la duració de les activitats. Les propostes realitzades per a esta tipologia de problemes s'han implementat i els seus resultats han sigut avaluats per mitjà de la solució de les instàncies de les llibreries estàndard de prova. L'efectivitat d'estos algoritmes s'ha contrastat per mitjà de la comparació amb els millors mètodes publicats.