Complexity

Volume 2018, Article ID 3051854, 16 pages

https://doi.org/10.1155/2018/3051854

## An Improved MOEA/D Based on Reference Distance for Software Project Portfolio Optimization

^{1}School of Computer Science, South China Normal University, Guangzhou, China^{2}School of Public Administration, South China Normal University, Guangzhou, China^{3}School of Computers, Guangdong University of Technology, Guangzhou, China^{4}School of Information Technology in Education, South China Normal University, Guangzhou, China

Correspondence should be addressed to Jing-Jing Li; moc.liamg@4211il.gnijgnij

Received 29 December 2017; Revised 14 April 2018; Accepted 17 April 2018; Published 30 May 2018

Academic Editor: Jesus Medina

Copyright © 2018 Jing Xiao et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

#### Abstract

As it is becoming extremely competitive in software industry, large software companies have to select their project portfolio to gain maximum return with limited resources under many constraints. Project portfolio optimization using multiobjective evolutionary algorithms is promising because they can provide solutions on the Pareto-optimal front that are difficult to be obtained by manual approaches. In this paper, we propose an improved MOEA/D (multiobjective evolutionary algorithm based on decomposition) based on reference distance (MOEA/D_RD) to solve the software project portfolio optimization problems with optimizing 2, 3, and 4 objectives. MOEA/D_RD replaces solutions based on reference distance during evolution process. Experimental comparison and analysis are performed among MOEA/D_RD and several state-of-the-art multiobjective evolutionary algorithms, that is, MOEA/D, nondominated sorting genetic algorithm II (NSGA2), and nondominated sorting genetic algorithm III (NSGA3). The results show that MOEA/D_RD and NSGA2 can solve the software project portfolio optimization problem more effectively. For 4-objective optimization problem, MOEA/D_RD is the most efficient algorithm compared with MOEA/D, NSGA2, and NSGA3 in terms of coverage, distribution, and stability of solutions.

#### 1. Introduction

Project portfolio management (PPM) is a management process to help project managers to analyze and acquire all information of current proposed projects. PPM helps decision makers to sort and prioritize each project according to certain criteria, such as business goals, strategic value, cost, and resource constraints. A key step of PPM is to decide which projects to invest in an optimal manner. Project portfolio optimization (PPO) is the effort to make the best decisions to select the best mix of projects from all candidate projects. Manual approaches include PPO include Q-Sort, analytic hierarchy process, and portfolio matrices [1–3]. These approaches are time-consuming and limited to the number of projects they can deal with. The project portfolio problem may be dealt as a multiobjective optimization problem, and it is difficult to tackle [4, 5]. Software managers and researchers used branch-and-bound approach, simulated annealing and Tabu search, and so on to obtain the uniformly distributed Pareto-optimal solutions [6–8]. It is hard to find an algorithm to deal with this problem efficiently when the complexity of the problem grows exponentially with the number of projects.

Within this context, multiobjective evolutionary algorithms (MOEA) [9] which can obtain Pareto-optimal solutions are promising to solve the project portfolio optimization problem [10–12]. Pareto front-based MOEAs 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 that promise better values in at least one of the objectives and offer at least the same values in all the other objectives [5]. MOEAs can obtain approximate optimal solutions. Furthermore, MOEAs can deal with the computational complexity with an increasing number of projects. That is why there are lots of publications devoted to solving portfolio optimization problems using MOEAs and also there are many applications of MOEAs in finance and economics areas [13].

Compared with general project portfolio optimization using MOEAs, the number of publications dedicated to the MOEAs’ applications to software project portfolio problems is scarce. Kremmel et al. [5] introduced a multiobjective evolutionary approach, mPOEMS, to find the Pareto-optimal front for software project portfolio optimization problem. However, the paper only studied 2-objective optimization. In this paper, we first propose an improved MOEA/D [14] algorithm based on reference distance (MOEA/D_RD) to alleviate the inefficiency of MOEA/D’s weighted sum approach. Then, we use MOEA/D_RD to solve the 2-, 3-, and 4-objective software portfolio optimization problem. Comparison and analysis experiments are conducted among MOEA/D_RD, MOEA/D, NSGA2 [15], and NSGA3 [16].

The rest of this paper is organized as follows. Section 2 discusses the related work of portfolio optimization using evolutionary algorithms. Section 3 describes the software portfolio selection model we have used. The proposed MOEA/D_RD is explained in detail in Section 4, and the empirical experiments are described and discussed in Section 5. The last section gives the conclusion and lists the future work.

#### 2. Related Work

The first formalization of methodology for solving portfolio optimization problems was proposed by Markowitz [17] in the 1950s. Markowitz defined a portfolio as a vector of real numbers that contains the weight corresponding to each available asset and stated that the investor searches the portfolio that minimizes the risk while maximizing the return ideally. However, with the increasing number of projects and many constraints in real world, the simple assumptions in Markowitz model are infeasible and it is hard to find an exact algorithm to deal with the problem. As such, the first use of genetic algorithm (GA) for optimizing project portfolio was proposed by Arnone et al. in 1993 [18]. The authors divided the population of a GA into different subpopulations and produced different portions of the Pareto front.

An obvious advantage of MOEAs is their ability to produce, in one single run, a complete approximation of the Pareto front. MOEAs are suitable to solve the portfolio optimization problem since the aim of the problem is to provide a set of Pareto front solutions, that is, the best possible tradeoffs among the objectives, among which the managers can choose the most appropriate solution. In [19], the Markowitz model was solved with an MOEA in which the selection is carried out through a Pareto-ranking procedure. The authors used Sharpe’s ratio instead of the classical density estimators such as crowding distance to break ties between solutions from the same Pareto front. Lin et al. [20] implemented integer encoding, simulated binary crossover, and parameter-based mutation within the NSGA2 to solve the investment portfolio optimization problem with fixed transaction costs and minimum lots. Subbu et al. [21] combined a Pareto-sorting evolutionary algorithm with linear programming for investment portfolio optimization. The Pareto-sorting evolutionary algorithm is used to retain the nondominated solutions found along the search by a small population size and an archive. Branke et al. [22] combined NSGA2 with the critical line algorithm to obtain a continuous Pareto front for portfolio optimization. NSGA2 was first employed to define convex subset of the original search space, then the critical line algorithm was applied on every subset to form the complete Pareto front. Bradshaw et al. [23] employed an evolutionary algorithm similar to SPEA2 [24] to solving the portfolio optimization problem. In [25], the authors compared six MOEAs on the classical Markowitz model. The results showed that SPEA2 and NSGA2 performed more effectively among the six studied algorithms. [26] compared three MOEAs, that is, NSGA2, SPEA2, and PESA [27], to solve the Markowitz model with three objectives: return value, risk, and number of assets in the portfolio and found that SPEA2 can obtain the best performance for the test cases.

Aforementioned work is based on Markowitz mean-variance model, and there are also a few publications devoted to other portfolio optimization models using MOEAs. Khalili-Damghani et al. [28] presented a hybrid fuzzy rule-based multiobjective framework for sustainable project portfolio selection. NSGA2 was applied to obtain the nondominated solutions. The proposed framework simultaneously considered the accuracy maximization and the complexity minimization objectives. Fernandez et al. [29] proposed a nonoutranked ant colony optimization II method for optimizing portfolio problem. The method incorporates integer linear programming to avoid clearly suboptimal regions in the search space and a priori preference system to focus the algorithmic effort on the most preferred region in the search space. Doerner et al. [4] introduced a Pareto ant colony optimization algorithm for solving the portfolio selection problem. Tofighian and Naderi [30] employed an ant colony optimization algorithm for solving the project selection and scheduling to optimize both total expected benefit and resource usage variation. Mavrotas et al. [31] studied the robustness analysis methodology for multiobjective project selection optimization.

Relatively speaking, the publication with respect to software project management using MOEAs is scarce. Rodríguez et al. [32] employed NSGA2 and a system dynamics simulation model to generate the Pareto front needed by software project managers to find the best values for initial team size and schedule estimates for a given project with the optimal cost, time, and productivity. Gueorguiev et al. [33] formulated software project planning problem as biobjective optimization. Robustness and complete time are treated as two competing objectives, and SPEA2 was employed to obtain the Pareto solutions. The most closely related to this paper is the work by Kremmel et al. [5] in which the authors used Constructive Cost Model II (COCOMO II) [34] and a multiobjective evolutionary algorithm to find the Pareto front for software project portfolio optimization. Only 2-objective Pareto front solutions were studied in Kremmel’s work. In this paper, we extend Kremmel’s work and propose an improved MOEA/D algorithm called MOEA/D_RD for software project portfolio optimization. Optimization problems with 2, 3, and 4 objectives are studied using 50 projects that follow the validated COCOMO II model criteria, and the proposed approach is compared with several state-of-the-art evolutionary algorithms.

The next section presents the list of goals borrowed from Kremmel’s software portfolio selection model [5]. We only use the first 4 objectives and use the synergy goal as a constraint in our framework.

#### 3. Software Portfolio Selection Model

Generally, a multiobjective optimization problem can be presented as the following:

Find a vector , is decision (variable) space. under some constraints, where is the decision (variable) space, consists of real-valued objective functions, and is called the objective space.

Suppose there are two solutions ; is said to dominate if and only if for every and for at least one index . A point is Pareto optimal to (1) if there is no point such that dominates . is then called a Pareto-optimal objective vector. In other words, any improvement in a Pareto-optimal point in one objective must lead to deterioration in at least one other objective. The set of all the Pareto-optimal points is called Pareto set, and the set of all the Pareto-optimal objective vectors is the Pareto front (PF).

Specifically, a solution for software project portfolio optimization is represented by a vector with the length of the maximum available projects. The task can be formalized as follows:

Find a vector , where , , such that the objective vector is maximum, where is greater than 0 if project is selected, and 0 if not; is the number of candidate projects; is a set of the number of months in the planning horizon; is the months in which project can start; is the number of timeframes in the planning horizon. is the th optimization objective. In this work, we have considered the first 4 objectives defined in Kremmel’s model, and thus the value of is 4. These 4 objectives are defined as follows:
(1)Potential revenue (). Software project investors invest human resources, knowledge, and money into a project, with the goal of obtaining benefits from this investment. The potential projects for the project portfolio have to be evaluated with regard to their potential financial revenue. Thus, the first objective deals with the need to maximize potential overall portfolio return. It is calculated as the following:
where is the potential revenue of project , and is 1 if *x _{i}* > 0 and 0 if

*x*= 0. Obviously, the greater the overall potential revenue, the better the solution is.(2)Strategic alignment (). Project selection optimization has to consider the problems with little commitment from business leaders, poor alignment of projects to strategy, little coordination between projects, and conflicting project objectives. The strategic alignment on the portfolio level should be maximized. It is calculated as follows: where is the strategic alignment value of project , and is 1 if

_{i}*x*> 0 and 0 if

_{i}*x*= 0. The greater the overall strategic value, the better the solution is.(3)Resource usage distribution metric (). Resources in each timeframe are limited. This objective is to maximize the resource usage per timeframe and at the same time have the best distribution among the timeframe. Its value is between 0 and 1, where 1 means full resource consumption in each timeframe and 0 means that, at least in one timeframe, there is no resource consumed. Thus, the objective function to maximize is expressed as follows: where is the type of a resource (there are different resource types); is the timeframe; is the number of timeframes in the planning horizon; is the type resource consumption of project in timeframe , and is the type resource limit in timeframe . The closer the is to one, the better the solution is.(4)Risk (). The risk objective is calculated as follows: where is the risk value of project . The closer the is to one, the better the solution is.

_{i}The constraints we have used are listed as follows: (a)Project starting timeframes. Most projects cannot start in an arbitrary timeframe, but very often in a few distinct timeframes. It is also possible that a project can only start in one timeframe in order to meet a special market opportunity. A feasible solution must adhere to the constraint of project starting time.(b)The “must-select” restriction. Due to the legal and economic circumstances, a project may have to be included in a valid portfolio. Therefore, it should be possible to define a “must-select” restriction for portfolio optimization.(c)Logical relationships. There are several logical relationships between projects such as linear, dependent, and mutually exclusive relationships. Linear relationship means if a certain project is selected for a portfolio, one or more predecessor projects must be selected obligatorily. If two projects are dependent, it means that the two projects must be selected to a portfolio together. On the contrary, two projects may not be selected for the same portfolio and thus are mutually exclusive.(d)Synergy effects. The synergy effect constraint is one of the objectives in the original Kremmel’s model. We consider it as a constraint when we optimize the first objective, that is, the potential revenue. If two projects are selected for the same portfolio, the total revenue could be more than the sum of the two project’s revenues or less than the sum. The synergy effects are also considered in the Pareto ant colony optimization approach presented in [4].

In this paper, we consider the aforementioned four objectives and the four constraints for the software project portfolio problem. In the next section, we introduce the algorithm called MOEA/D_RD to solve the multiobjective optimization problem for software project selection.

#### 4. An Improved MOEA/D Based on Reference Distance (MOEA/D_RD)

##### 4.1. MOEA/D Based on Weighted Sum Approach

In this paper, we improve the weighted sum approach in MOEA/D algorithm [14] for solving the software project selection optimization problem. The approach considers a convex combination of the different objectives. Let be a weight vector; is the number of objectives; is the th objective to be optimized; and for all and . Then the optimal solution to the following scalar optimization problem is a Pareto-optimal point to (1) as we can see that corresponds to one of the objectives in (6), where we use to emphasize that is a coefficient vector in this objective function, where is the variables to be optimized. To generate a set of different Pareto-optimal vectors, one can use different weight vectors in the above scalar optimization problem and the optimized problem is divided into subproblems. The greater is, the wider the search space is. However, the weighted sum-based MOEA/D has several drawbacks and we illustrate them as follows.

Given an example, as shown in Figure 1, and are two objectives; is the objective function of solution ; PF is the assumed optimal Pareto front; , , and are three solutions corresponding to weight vectors , and . The ideal case is that the algorithm moves , , and to meet the PF. MOEA/D randomly picks up two solutions from the neighborhood of and generates a new solution using genetic operators. If the fitness value of the new solution is better than , then is replaced by the new solution. If the new solution is fallen in the overlapping area of the search spaces of neighboring solutions and , then both and are replaced by the new solution. The strategy is efficient at the earlier search stage of the algorithm, and it can make the search direction move fast to the PF. But at the late stage of the algorithm, as shown in Figure 2, there is no overlapping area among most of the search spaces of solutions. The neighboring solutions of cannot generate a new effective solution. The search process would stagnate at the late stage of the algorithm.