Improved Evolutionary Algorithm Design for the Project Scheduling Problem Based on Runtime Analysis

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.

[1]  Giuliano Antoniol,et al.  The use of search‐based optimization techniques to schedule and staff software projects: an approach and an empirical study , 2011, Softw. Pract. Exp..

[2]  Leszek A. Maciaszek,et al.  Practical Software Engineering: A Case-Study Approach , 2004 .

[3]  María Dolores Rodríguez-Moreno,et al.  Statistical Distribution of Generation-to-Success in GP: Application to Model Accumulated Success Probability , 2011, EuroGP.

[4]  Rainer Kolisch,et al.  Experimental investigation of heuristics for resource-constrained project scheduling: An update , 2006, Eur. J. Oper. Res..

[5]  A. Agresti,et al.  Approximate is Better than “Exact” for Interval Estimation of Binomial Proportions , 1998 .

[6]  Jeanne W. Ross,et al.  From the Vendor's Perspective: Exploring the Value Proposition in Information Technology Outsourcing 1, 2 , 2003 .

[7]  Thomas Jansen,et al.  On the analysis of the (1+1) evolutionary algorithm , 2002, Theor. Comput. Sci..

[8]  Janez Demsar,et al.  Statistical Comparisons of Classifiers over Multiple Data Sets , 2006, J. Mach. Learn. Res..

[9]  Giuliano Antoniol,et al.  Software project planning for robustness and completion time in the presence of uncertainty using multi objective search based software engineering , 2009, GECCO.

[10]  Francisco Luna,et al.  On the scalability of multi-objective metaheuristics for the software scheduling problem , 2011, 2011 11th International Conference on Intelligent Systems Design and Applications.

[11]  Stuart E. Madnick,et al.  The dynamics of software project scheduling , 1983, CACM.

[12]  Enrique Alba,et al.  Software project management with GAs , 2007, Inf. Sci..

[13]  Enrique Alba,et al.  Using multi-objective metaheuristics to solve the software project scheduling problem , 2011, GECCO '11.

[14]  Ning Nan,et al.  Impact of Budget and Schedule Pressure on Software Development Cycle Time and Effort , 2009, IEEE Transactions on Software Engineering.

[15]  Frank Neumann,et al.  Bioinspired computation in combinatorial optimization: algorithms and their computational complexity , 2010, GECCO.

[16]  Zbigniew Michalewicz,et al.  Evolutionary algorithms , 1997, Emerging Evolutionary Algorithms for Antennas and Wireless Communications.

[17]  Edward Edward Yourdon,et al.  Death March: The Complete Software Developer's Guide to Surviving Mission Impossible Projects , 1999 .

[18]  Andrew Smith,et al.  Optimized staffing for product releases and its application at Chartwell Technology , 2008, J. Softw. Maintenance Res. Pract..

[19]  Xin Yao,et al.  Time complexity of evolutionary algorithms for combinatorial optimization: A decade of results , 2007, Int. J. Autom. Comput..

[20]  Thomas Jansen,et al.  Mutation Rate Matters Even When Optimizing Monotonic Functions , 2013, Evolutionary Computation.

[21]  Dirk Sudholt,et al.  Evolutionary algorithms for the project scheduling problem: runtime analysis and improved design , 2012, GECCO '12.

[22]  Thomas Stützle,et al.  Local Search Algorithms for SAT: An Empirical Evaluation , 2000, Journal of Automated Reasoning.

[23]  Dirk Sudholt,et al.  When do evolutionary algorithms optimize separable functions in parallel? , 2013, FOGA XII '13.

[24]  Russ Bubley,et al.  Randomized algorithms , 1995, CSUR.

[25]  Anne Auger,et al.  Theory of Randomized Search Heuristics: Foundations and Recent Developments , 2011, Theory of Randomized Search Heuristics.

[26]  Xin Yao,et al.  Software effort estimation as a multiobjective learning problem , 2013, TSEM.

[27]  Tao Zhang,et al.  Genetic Algorithms for Project Management , 2001, Ann. Softw. Eng..

[28]  Martin J. Shepperd,et al.  Estimating Software Project Effort Using Analogies , 1997, IEEE Trans. Software Eng..

[29]  Barry W. Boehm,et al.  Software Engineering Economics , 1993, IEEE Transactions on Software Engineering.

[30]  Ayse Basar Bener,et al.  Exploiting the Essential Assumptions of Analogy-Based Effort Estimation , 2012, IEEE Transactions on Software Engineering.

[31]  Martin Lukasiewycz,et al.  Opt4J: a modular framework for meta-heuristic optimization , 2011, GECCO '11.

[32]  Katherine J. Stewart,et al.  The Impact of Ideology on Effectiveness in Open Source Software Development Teams , 2006, MIS Q..

[33]  Blake Ives,et al.  Applications of Global Information Technology: Key Issues for Management , 1991, MIS Q..

[34]  Brian Fitzgerald,et al.  The Transformation of Open Source Software , 2006, MIS Q..

[35]  Mark Harman,et al.  Cooperative Co-evolutionary Optimization of Software Project Staff Assignments and Job Scheduling , 2011, SSBSE.

[36]  Barry W. Boehm,et al.  Bayesian Analysis of Empirical Software Engineering Cost Models , 1999, IEEE Trans. Software Eng..

[37]  Thomas H. Cormen,et al.  Introduction to algorithms [2nd ed.] , 2001 .

[38]  Jun Zhang,et al.  Ant Colony Optimization for Software Project Scheduling and Staffing with an Event-Based Scheduler , 2013, IEEE Transactions on Software Engineering.

[39]  Dirk Sudholt,et al.  A New Method for Lower Bounds on the Running Time of Evolutionary Algorithms , 2011, IEEE Transactions on Evolutionary Computation.

[40]  Xin-She Yang,et al.  Introduction to Algorithms , 2021, Nature-Inspired Optimization Algorithms.

[41]  A. E. Eiben,et al.  Introduction to Evolutionary Computing , 2003, Natural Computing Series.

[42]  Márcio de Oliveira Barros,et al.  Staffing a software project: A constraint satisfaction and optimization-based approach , 2008, Comput. Oper. Res..

[43]  Ellis Horowitz,et al.  Software Cost Estimation with COCOMO II , 2000 .

[44]  Carl K. Chang,et al.  Time-line based model for software project scheduling with genetic algorithms , 2008, Inf. Softw. Technol..

[45]  Mark Harman,et al.  The Current State and Future of Search Based Software Engineering , 2007, Future of Software Engineering (FOSE '07).

[46]  Kazuo Iwama,et al.  Local Search Algorithms for kSAT , 2008, Encyclopedia of Algorithms.