Improved evolutionary algorithm design for the project scheduling problem based on runtime analysis

Leandro Minku, Dirk Sudholt, Xin Yao

Research output: Contribution to journalArticlepeer-review

30 Citations (Scopus)
257 Downloads (Pure)


Several variants of evolutionary algorithms (EAs) have been applied to solve the project scheduling problem (PSP), yet their performance highly depends on design choices for the EA. It is still unclear how and why different EAs perform differently. We present the first runtime analysis for the PSP, gaining insights into the performance of EAs on the PSP in general, and on specific instance classes that are easy or hard. Our theoretical analysis has practical implications-based on it, we derive an improved EA design. This includes normalizing employees' dedication for different tasks to ensure they are not working overtime; a fitness function that requires fewer pre-defined parameters and provides a clear gradient towards feasible solutions; and an improved representation and mutation operator. Both our theoretical and empirical results show that our design is very effective. Combining the use of normalization to a population gave the best results in our experiments, and normalization was a key component for the practical effectiveness of the new design. Not only does our paper offer a new and effective algorithm for the PSP, it also provides a rigorous theoretical analysis to explain the efficiency of the algorithm, especially for increasingly large projects.
Original languageEnglish
Pages (from-to)83-102
JournalIEEE Transactions on Software Engineering
Issue number1
Early online date25 Oct 2013
Publication statusPublished - 1 Jan 2014


  • Schedule and organizational issues
  • evolutionary algorithms
  • runtime analysis
  • search-based software engineering
  • software project management
  • software project scheduling


Dive into the research topics of 'Improved evolutionary algorithm design for the project scheduling problem based on runtime analysis'. Together they form a unique fingerprint.

Cite this