Abstract

AbstractA software product line (SPL) is a software engineering reusability approach used to create different applications from a shared set of common software features. The product configuration problem (PCP) consists in finding the product, among all the products allowed by the SPL, that best fits the customer's preferences and requirements. PCP is a generalization of the tree knapsack problem (TKP) with additional AND, XOR, and OR constraints. Therefore, this problem is also NP‐hard. Previous work in the literature could solve only instances with up to 500 features. In this paper, we propose a pseudo‐polynomial time dynamic programming algorithm that solves PCP in , where n is the number of features and H is the customer's budget. We also propose an integer linear programming formulation for PCP, which is solved by the CPLEX's branch‐and‐bound algorithm. Computational experiments, performed on realistic instances from the literature, showed that the proposed algorithms were able to find optimal solutions for all the instances with up to 10,000 features.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call