• Title/Summary/Keyword: Precedence-Constrained Multiple 0-1 Knapsack Problem

Search Result 3, Processing Time 0.02 seconds

A Greedy Genetic Algorithm for Release Planning in Software Product Lines (소프트웨어 제품라인의 출시 계획 수립을 위한 탐욕 유전자 알고리듬)

  • Yoo, Jaewook
    • Journal of Korean Society of Industrial and Systems Engineering
    • /
    • v.36 no.3
    • /
    • pp.17-24
    • /
    • 2013
  • 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 precedence, 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.

Release Planning in Software Product Lines Using a Genetic Algorithm (유전자 알고리듬을 이용한 소프트웨어 제품라인의 출시 계획 수립)

  • Yoo, Jaewook
    • Journal of Korean Society of Industrial and Systems Engineering
    • /
    • v.35 no.4
    • /
    • pp.142-148
    • /
    • 2012
  • Release planning for incremental software development is to select and assign features in sequence of releases along a specified planning horizon. It includes the technical precedence inherent in the features, the conflicting priorities as determined by the representative stakeholders, and the balance between required and available resources. The complexity of this consideration is getting more complicated when planning releases in software product lines. The problem is formulated as a precedence-constrained multiple 0-1 knapsack problem. In this research a genetic algorithm is developed for solving the release planning problems in software product lines as well as tests for the proposed solution methodology are conducted using data generated randomly.

An Exact Solution Approach for Release Planning of Software Product Lines (소프트웨어 제품라인의 출시 계획을 위한 최적해법)

  • Yoo, Jae-Wook
    • Journal of Korean Society of Industrial and Systems Engineering
    • /
    • v.35 no.2
    • /
    • pp.57-63
    • /
    • 2012
  • Software release planning model of software product lines was formulated as a precedence-constrained multiple 0-1 knapsack problem. The purpose of the model was to maximize the total profit of an entire set of selected features in a software product line over a multi-release planning horizon. The solution approach is a dynamic programming procedure. Feasible solutions at each stage in dynamic programming are determined by using backward dynamic programming approach while dynamic programming for multi-release planning is forward approach. The pre-processing procedure with a heuristic and reduction algorithm was applied to the single-release problems corresponding to each stage in multi-release dynamic programming in order to reduce the problem size. The heuristic algorithm is used to find a lower bound to the problem. The reduction method makes use of the lower bound to fix a number of variables at either 0 or 1. Then the reduced problem can be solved easily by the dynamic programming approaches. These procedures keep on going until release t = T. A numerical example was developed to show how well the solution procedures in this research works on it. Future work in this area could include the development of a heuristic to obtain lower bounds closer to the optimal solution to the model in this article, as well as computational test of the heuristic algorithm and the exact solution approach developed in this paper. Also, more constraints reflecting the characteristics of software product lines may be added to the model. For instance, other resources such as multiple teams, each developing one product or a platform in a software product line could be added to the model.