Ant Colony Optimization for Software Project Scheduling and Staffing with an Event-Based Scheduler

Research into developing effective computer aided techniques for planning software projects is important and challenging for software engineering. Different from projects in other fields, software projects are people-intensive activities and their related resources are mainly human resources. Thus, an adequate model for software project planning has to deal with not only the problem of project task scheduling but also the problem of human resource allocation. But as both of these two problems are difficult, existing models either suffer from a very large search space or have to restrict the flexibility of human resource allocation to simplify the model. To develop a flexible and effective model for software project planning, this paper develops a novel approach with an event-based scheduler (EBS) and an ant colony optimization (ACO) algorithm. The proposed approach represents a plan by a task list and a planned employee allocation matrix. In this way, both the issues of task scheduling and employee allocation can be taken into account. In the EBS, the beginning time of the project, the time when resources are released from finished tasks, and the time when employees join or leave the project are regarded as events. The basic idea of the EBS is to adjust the allocation of employees at events and keep the allocation unchanged at nonevents. With this strategy, the proposed method enables the modeling of resource conflict and task preemption and preserves the flexibility in human resource allocation. To solve the planning problem, an ACO algorithm is further designed. Experimental results on 83 instances demonstrate that the proposed method is very promising.

[1]  Yuanyuan Zhang,et al.  Search Based Software Engineering: A Comprehensive Analysis and Review of Trends Techniques and Applications , 2009 .

[2]  Günther Ruhe,et al.  Optimized Resource Allocation for Software Release Planning , 2009, IEEE Transactions on Software Engineering.

[3]  Avraham Shtub,et al.  Project Management: Processes, Methodologies, and Economics , 1994 .

[4]  Jun Zhang,et al.  An Ant Colony Optimization Approach to a Grid Workflow Scheduling Problem With Various QoS Requirements , 2009, IEEE Transactions on Systems, Man, and Cybernetics, Part C (Applications and Reviews).

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

[6]  Vahid Garousi A Genetic Algorithm-Based Stress Test Requirements Generator Tool and Its Empirical Evaluation , 2010, IEEE Transactions on Software Engineering.

[7]  Odile Bellenguez-Morineau,et al.  A Branch-and-Bound method for solving Multi-Skill Project Scheduling Problem , 2007, RAIRO Oper. Res..

[8]  Christian Blum,et al.  Beam-ACO - hybridizing ant colony optimization with beam search: an application to open shop scheduling , 2005, Comput. Oper. Res..

[9]  Carl K. Chang,et al.  A Net Practice for Software Project Management , 1999, IEEE Softw..

[10]  Hartmut Schmeck,et al.  Ant colony optimization for resource-constrained project scheduling , 2000, IEEE Trans. Evol. Comput..

[11]  Graham Kendall,et al.  A Hybrid Evolutionary Approach to the Nurse Rostering Problem , 2010, IEEE Transactions on Evolutionary Computation.

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

[13]  Rainer Kolisch,et al.  PSPLIB - A project scheduling problem library: OR Software - ORSEP Operations Research Software Exchange Program , 1997 .

[14]  Rolf H. Möhring,et al.  Resource-constrained project scheduling: Notation, classification, models, and methods , 1999, Eur. J. Oper. Res..

[15]  Giuliano Antoniol,et al.  Search-based techniques applied to optimization of project planning for a massive maintenance project , 2005, 21st IEEE International Conference on Software Maintenance (ICSM'05).

[16]  Jim Duggan,et al.  A task allocation optimizer for software construction , 2004, IEEE Software.

[17]  R. Kolisch,et al.  Heuristic algorithms for solving the resource-constrained project scheduling problem: Classification and computational analysis , 1998 .

[18]  Volker Nissen,et al.  Particle Swarm Optimization and an Agent-Based Algorithm for a Problem of Staff Scheduling , 2010, EvoApplications.

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

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

[21]  Christian Blum,et al.  An Ant Colony Optimization Algorithm for Shop Scheduling Problems , 2004, J. Math. Model. Algorithms.

[22]  Ian C. Parmee,et al.  Interactive, Evolutionary Search in Upstream Object-Oriented Class Design , 2010, IEEE Transactions on Software Engineering.

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

[24]  Grzegorz Waligóra,et al.  Project scheduling with finite or infinite number of activity processing modes - A survey , 2011, Eur. J. Oper. Res..

[25]  Manuel López-Ibáñez,et al.  Ant colony optimization , 2010, GECCO '10.

[26]  Isabel M. Ramos,et al.  An evolutionary approach to estimating software development projects , 2001, Inf. Softw. Technol..

[27]  Giuliano Antoniol,et al.  Search-Based Techniques for Optimizing Software Project Resource Allocation , 2004, GECCO.

[28]  Analía Amandi,et al.  A knowledge-based evolutionary assistant to software development project scheduling , 2011, Expert Syst. Appl..

[29]  Ellis Horowitz,et al.  A Formal Model for Software Project Management , 1989, IEEE Transactions on Software Engineering.

[30]  Mark Harman,et al.  Reformulating software engineering as a search problem , 2003 .

[31]  Marco Dorigo,et al.  Ant system: optimization by a colony of cooperating agents , 1996, IEEE Trans. Syst. Man Cybern. Part B.

[32]  Luca Maria Gambardella,et al.  A COOPERATIVE LEARNING APPROACH TO TSP , 1997 .

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

[34]  Luca Maria Gambardella,et al.  Ant colony system: a cooperative learning approach to the traveling salesman problem , 1997, IEEE Trans. Evol. Comput..

[35]  A. Kumar,et al.  Use of Petri nets for resource allocation in projects , 1998 .

[36]  Thomas Stützle,et al.  MAX-MIN Ant System , 2000, Future Gener. Comput. Syst..

[37]  Yujia Ge Software Project Rescheduling with Genetic Algorithms , 2009, 2009 International Conference on Artificial Intelligence and Computational Intelligence.

[38]  Richard F. Hartl,et al.  Minimizing Total Tardiness on a Single Machine Using Ant Colony Optimization , 2014 .

[39]  Jun Zhang,et al.  An intelligent testing system embedded with an ant colony optimization based test composition method , 2009, 2009 IEEE Congress on Evolutionary Computation.

[40]  Jun Zhang,et al.  Optimizing Discounted Cash Flows in Project Scheduling—An Ant Colony Optimization Approach , 2010, IEEE Transactions on Systems, Man, and Cybernetics, Part C (Applications and Reviews).

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

[42]  Enrique Alba,et al.  Management of Software Projects with GAs , 2005 .

[43]  Xin Yao,et al.  Software Module Clustering as a Multi-Objective Search Problem , 2011, IEEE Transactions on Software Engineering.

[44]  Lai-Hsi Lee Robust Preemptive Resource Assignment for Multiple Software Projects Using Parameter Design , 2007 .

[45]  Volker Nissen,et al.  Automatic Generation of Optimised Working Time Models in Personnel Planning , 2010, ANTS Conference.

[46]  Gündüz Ulusoy,et al.  A survey on the resource-constrained project scheduling problem , 1995 .

[47]  Carl K. Chang,et al.  Software Project Management Net: a new methodology on software management , 1996, Proceedings. The Twenty-Second Annual International Computer Software and Applications Conference (Compsac '98) (Cat. No.98CB 36241).

[48]  Mark Harman,et al.  A Theoretical and Empirical Study of Search-Based Testing: Local, Global, and Hybrid Search , 2010, IEEE Transactions on Software Engineering.

[49]  Linet Özdamar,et al.  A genetic algorithm approach to a general category project scheduling problem , 1999, IEEE Trans. Syst. Man Cybern. Part C.