Otimização com muitos objetivos por múltiplos enxames aplicada ao escalonamento dinâmico de projetos de software - Amaral, Rodrigo Octávio Melo do (2018)
Software engineering processes often involve problems with mutually conflicting requirements and constraints. To address these issues, the concept of Search-Based Software Engineering (SBSE) has emerged. SBSE consists on using search and optimization algorithms to balance the compromise between the objectives of the problems common to its various domains. One of these sub-areas deals with software project management, one of its main challenges being the Software Project Scheduling Problem (SPSP). Solutions to this problem aim to assemble a project schedule so that employee allocation to available tasks minimizes both the total project duration and its final cost. However, a software project environment is subject to many uncertainties, which makes the solution landscape change over time. This dynamic nature demands schedules to be stable and robust to changes, introducing new objectives to be reconciled into the problem. Because this dynamic formulation of SPSP is still under-explored, it is believed that it is possible to explore new meta-heuristics, incorporate features of the problem, and use many-objective optimization techniques to solve it. The objective of this work is to investigate how multiobjective algorithms can be applied to solve the Dynamic Software Project Scheduling problem (DSPSP). This work uses the meta-heuristic of optimization by multiple swarms of particles, an approach not yet explored when applied to DSPSP. The proposed algorithm also explores the problem characteristics, seeking to reconcile both the dynamic optimization aspect, by using multiple populations, as the fact it is many-objective problem, by using archiving methods. In addition to using multiple swarns, this work also explores the use of two multi-objective algorithms already applied to other problems in SBSE area, but not yet applied to DSPSP. In addition to multi-swarm optimization, some dynamic heuristic strategies for population initialization are explored to take advantage of the features of the best solutions already found. These strategies are also applied to the other evaluated algorithms in order to verify how they influence performance. The algorithm validation is done through a set of experiments which compared the proposed algorithm with two popular algorithms in literature (NSGA-II and SMPSO).