With the evolution of the field of software engineering it has adapted to component-based activity rather than developing single software systems. However, the managers involved in these projects face the issue of determining which components to include in a particular release while balancing the trade-offs. Release planning, is a vital part of any type of incremental product development. Hence, release decisions become a significant requirement for successful software engineering project management. Systematic and comprehensive release planning based on meaningful data and estimates combined with a firm reliable methodology would contribute towards solving the problems the managers are facing effectively. The thesis attempts to solve the problem of finding optimal feature subsets for release planning by applying search based software engineering. The objective of this thesis is to design and implement meta heuristic search algorithms such as Hill Climbing, Simulated Annealing, Greedy Algorithm and Genetic Algorithms and evaluate them in terms of their performance, effort making and robustness in terms of producing results and the speeds at which they produce results. In order to achieve the objective a mobile phone will be modelled as a component-based software system and its features as software components on which the algorithms will be applied. The project will be carried out using real world data specified by Motorola UK, for thirty-five mobile phone features.