Elsevier

Applied Soft Computing

Volume 11, Issue 1, January 2011, Pages 1416-1426
Applied Soft Computing

Software project portfolio optimization with advanced multiobjective evolutionary algorithms

https://doi.org/10.1016/j.asoc.2010.04.013Get rights and content

Abstract

Large software companies have to plan their project portfolio to maximize potential portfolio return and strategic alignment, while balancing various preferences, and considering limited resources. Project portfolio managers need methods and tools to find a good solution for complex project portfolios and multiobjective target criteria efficiently. However, software project portfolios are challenging to describe for optimization in a practical way that allows efficient optimization. In this paper we propose an approach to describe software project portfolios with a set of multiobjective criteria for portfolio managers using the COCOMO II model and introduce a multiobjective evolutionary approach, mPOEMS, to find the Pareto-optimal front efficiently. We evaluate the new approach with portfolios choosing from a set of 50 projects that follow the validated COCOMO II model criteria and compare the performance of the mPOEMS approach with state-of-the-art multiobjective optimization evolutionary approaches. Major results are as follows: the portfolio management approach was found usable and useful; the mPOEMS approach outperformed the other approaches.

Introduction

Project portfolio management (PPM) is a set of processes used to support a business in conducting the mix of projects, which best fit the organisation’s various needs. This set of processes includes the selection of projects an organisation conducts, maintaining the selected projects in portfolios, and periodically reviewing the mix of projects, to check whether the selection still supports the main business goals. Various portfolio processes have already been presented. Most of them do cover the whole life cycle of portfolios, from selecting projects and optimizing portfolios to phase gate review steps [1], [16].

Portfolio optimization is a process in PPM that create the best mix of projects, out of all potential candidates. Selection of projects, and optimization of projects can be conducted either manually or automatically. Manual approaches to select projects are for example the Analytic Hierarchy Process (AHP), Q-Sort, scoring models, and portfolio matrices [1]. Commonly used manual approaches are based on some sort of direct comparison and ranking of the alternatives based on project data and individual preferences. Manually conducting the selection of projects is restricted in the number of projects it can deal with, constraints and objective preferences which can be taken care of, as well as the number of objectives the decision makers are able to optimize. This is especially true, since the complexity grows exponentially with the number of available project alternatives [5]. The project selection problem is NP-hard problem [5] thus there is no exact algorithm that solves larger instances of this problem to proven optimality. Hence, heuristic algorithms are an option for finding at least approximate solutions to the optimal ones.

The complexity of the project selection problem is based on the often high number of projects from which a subset has to be chosen, various existent restrictions and a multitude of objective preferences which the optimal portfolio should adhere to. Common goals of portfolio optimization are maximization of potential revenue and strategic alignment, as well as minimization of negative synergy effects in-between projects selected for a portfolio. Furthermore, portfolios often have to be balanced regarding characteristics of the portfolios. These balancing requirements are found in the number of projects assigned to a specific category, or in the optimization of a portfolio regarding its overall mean risk value.

Manual approaches to this demanding decision problem are restricted in their usefulness for the problem at hand. Promising alternatives to manually selecting projects are found in the field of mathematically based portfolio optimization, and multiobjective optimization. Automated approaches are superior to manual approaches in a way that they are able to create a set of efficient portfolios, for which it can be assured that there exist no solutions in the search space which promises better values in at least one of the objectives, and offers at least the same in all the others. This set of efficient solutions is commonly referred to as the Pareto-optimal front. Furthermore, the utilized computational power and sophisticated multiobjective meta-heuristics ensure that the solutions found do have at least the same quality as manually created portfolios. With a high probability, solutions on the Pareto-optimal front found by automated approaches are much better than solutions found with manual approaches. Furthermore, manual approaches will never be able to keep up with the search ability of automated approaches, and the number of considered projects, objectives, restrictions and constraints.

This paper presents the first phase of a decision support framework, which focuses on the selection of projects, using an evolutionary optimization algorithm. An implementation of a nature-inspired optimization framework is presented, using the evolutionary algorithm mPOEMS, based on general goals which the portfolio management should support. This optimization framework is able to find efficient portfolios on or close to the Pareto-optimal front. The second phase, not presented in this paper, comprises a group decision process to efficiently select one portfolio out of the Pareto-optimal front.

mPOEMS is an iterative optimization algorithm that seeks in each iteration for such a modification of the current solution, called prototype, that improves its quality the best. Modifications are represented as sequences of elementary actions (simple mutations in standard EAs), defined specifically for the problem at hand. mPOEMS uses an evolutionary algorithm to search for the best action sequence that can be considered an evolved hypermutation.

We have chosen mPOEMS since it was recently shown to be suitable for solving discrete multiobjective optimization problems like multiobjective 0/1 knapsack problem [10]. In [10] mPOEMS was shown to produce better or at least competitive results to the state-of-the-art MOEAs such as NSGA-II and SPEA2 on that problem.

The iterative optimization concept based on the evolved hypermutations has proven to be successful approach also for solving hard single-objective combinatorial problems such as the sorting network problem [11], the multiple sequence alignment problem [12] and the shortest common supersequence problem [13].

The presented approach is evaluated on a test set of 50 IT projects. COCOMO II is used to calculate the effort and schedule data of the utilized project pool. The optimization framework claims to consider a very broad range of portfolio optimization characteristics and goals found in the literature. It has been empirically verified that mPOEMS is able to generate high-quality solutions with respect to the given set of optimization objectives. Results of the multiobjective optimization using mPOEMS are compared with results found with the state-of-the-art multiobjective evolutionary NSGA-II and SPEA2.1 Analyses presented in this paper show, that mPOEMS performs significantly better than NSGA-II and SPEA2 on this problem.

Section snippets

Related work

Various approaches have already proven the applicability of mathematically based meta-heuristics for the project selection problem.

In 2000, Ghasemzadeh and Archer [6] presented a decision support system, which follow the process steps of Archer’s integrated framework for PPM [1], and combine them with a formal model, considering various variables and constraints. The possibility to making manual adjustments is given through adding or removing projects. A very interesting contribution is the

Portfolio optimization goals

The following listing describes the goals which an optimization approach for the project selection problem should support:

  • 1.

    Consider and limit the available resources/budget per timeframe.

  • 2.

    Support “must-select” restrictions.

  • 3.

    Take synergy effects into account.

  • 4.

    Take logical relationships into account.

  • 5.

    Maximize the overall strategic alignment value.

  • 6.

    Support balancing of risk, project categories and return time.

  • 7.

    Maximize potential portfolio return.

  • 8.

    Provide possibility to define project starting timeframes.

Formal model

The presented project selection problem is similar to the multiobjective knapsack problem as used in [20]. The designated goal of the original multiobjective knapsack problem is to find a subset of items for an arbitrary number of knapsacks, which maximize the profit for each knapsack, while the maximum capacity of all knapsacks under consideration may not be exceeded. A solution is represented by a vector with the length of the maximum available items, where position i is set to 1 if item i is

Multiobjective optimizations

The presented project selection problem is a typical multiobjective optimization problem where solutions are sought such that they are optimal with respect to all, often conflicting objectives. Typically, no single optimal solution can be found that would be superior to all other solutions with respect to all objectives. Instead, a set of optimal solutions, for which it holds there is no other solution in the whole search space that is superior to these solutions with respect to all objectives,

Proposed mPOEMS approach

This section presents the proposed multiobjective optimization approach based on the Prototype Optimization with Evolved iMprovement Steps (mPOEMS) [10]. First, a single-objective version of the algorithm is introduced, then its extension for the multiobjective problems and finally the adaptation of mPOEMS to the project selection problem is described.

Experimental results

This section presents the experiments carried out to evaluate the performance of the proposed approach. First, the test data set based on the Constructive Cost Model (COCOMO II) is described. Then, the configuration of mPOEMS and the compared algorithms used in the experiments is shown and two performance measures that we used for evaluation of the algorithms performance are described. The last part of this section is devoted to the analysis of the achieved results.

Conclusions

In this paper we presented an effective approach to model the complex project portfolio selection environment in a formal model, with special focus on the adaptability to multiobjective optimization algorithms. The model comprises all characteristics found in the literature about project portfolio optimization. Selection of projects and optimization of portfolios was found very useful and the presented tools regarding project selection, project sequencing, goal maximization respectively

Acknowledgements

Research described in this paper has been partly supported by a Marie Curie Transfer of Knowledge Fellowship of the European Community’s 6th Framework Program under the contract MTKD-CT-2005-029755: CzechVMXT. Jiří Kubalík has been supported by the research program No. MSM 6840770012 “Transdisciplinary Research in Biomedical Engineering II” of the CTU in Prague. Stefan Biffl has been supported by the Christian Doppler Forschungsgesellschaft and the BMWFJ, Austria.

References (22)

  • N.P. Archer et al.

    An integrated framework for project portfolio selection

    International Journal of Project Management.

    (1999)
  • F. Ghasemzadeh et al.

    Project portfolio selection through decision support

    Decision Support Systems

    (2000)
  • A.L. Medaglia et al.

    A multiobjective evolutionary approach for linearly constrained project selection under uncertainty

    European Journal of Operational Research

    (2007)
  • B. Boehm

    Software Cost Estimation with COCOMO II

  • K. Deb

    Multi-objective Optimization Using Evolutionary Algorithms

    (2002)
  • K. Deb et al.

    A fast and elitist multiobjective genetic algorithm: NSGA-II

    IEEE Transactions on Evolutionary Computation

    (2002)
  • K. Doerner et al.

    Pareto ant colony optimization: a metaheuristic approach to multiobjective portfolio selection

    Annals of Operations Research

    (2004)
  • S. Gueorguiev et al.

    Software project planning for robustness and completion time in the presence of uncertainty using multi objective search based software engineering

  • S. Iamratanakul et al.

    Using strategic fit for portfolio management.

  • J. Kubalik et al.

    Iterative prototype optimisation with evolved improvement steps

  • J. Kubalik, R. Mordinyi, S. Biffl, Multiobjective prototype optimization with evolved improvement steps, in:...
  • Cited by (0)

    View full text