Abstract
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. © 2014 IEEE.
Original language | English |
---|---|
Article number | 6648326 |
Pages (from-to) | 83-102 |
Number of pages | 20 |
Journal | IEEE Transactions on Software Engineering |
Volume | 40 |
Issue number | 1 |
Early online date | 19 Nov 2013 |
DOIs | |
Publication status | Published - Jan 2014 |
Externally published | Yes |
Funding
This research was supported by EPSRC grant EP/J017515/1 and NSFC Grant 61329302. Xin Yao was supported by a Royal Society Wolfson Research Merit Award.
Keywords
- evolutionary algorithms
- runtime analysis
- Schedule and organizational issues
- search-based software engineering
- software project management
- software project scheduling