A Greedy Genetic Algorithm for Release Planning in Software Product Lines
Release planning in a software product line (SPL) is to select and assign the features of the multiple software products in the SPL in sequence of releases along a specified planning horizon satisfying the numerous constraints regarding technical prece- dence, conflicting priorities for features, and available resources. A greedy genetic algorithm is designed to solve the problems of release planning in SPL which is formulated as a precedence-constrained multiple 0-1 knapsack problem. To be guaranteed to obtain feasible solutions after the crossover and mutation operation, a greedy-like heuristic is developed as a repair operator and reflected into the genetic algorithm. The performance of the proposed solution methodology in this research is tested using a fractional factorial experimental design as well as compared with the performance of a genetic algorithm developed for the software release planning. The comparison shows that the solution approach proposed in this research yields better result than the genetic algorithm.