Project Portfolio Management - Optimization Using Genetic Or Evolutionary Algorithms

Project Portfolio Management requires optimizing your portfolios to discover the most valuable set of projects to execute within your constraint limitations such as limited money, time, resources, and risk tolerance. In addition, a good project portfolio optimization tool should be able to integrate project dependencies such as "Project B" can only be executed if "Project A" is executed first.

Finding optimized project portfolios isn't at all about just manually "picking the best projects" as some project portfolio management tool vendors suggest. In even small portfolios of just 32 projects there are over 4 billion possible combinations, so finding the best set that meets your constraint limitations is not trivial. And the number of possible combinations rises exponentially as a function of the number of projects in your portfolio.

So it is important that your project portfolio management tool includes a solid optimization module. A properly implemented "Genetic" or "Evolutionary" algorithm can provide such a module.

Genetic or evolutionary algorithms are modeled after the biological processes of natural selection, and have been used to find good solutions to problems that have many possible solutions. For example, in the classic Traveling Salesperson Problem, the challenge is to find the shortest distance that would be required for a salesperson to visit each city in her territory and return home. Using the textbook example, we'll assume that each city is connected to every other city. A 10 city tour has about 181,000 possible solutions, and a 20 city tour has about 10,000,000,000,000,000 (1016) solutions! Instead of testing each possible route (the brute force approach), which becomes computationally impossible for even modestly large numbers of cities, genetic algorithms allow you to create a number of random routes (the "parent" set), select the shortest routes from that random set, and then cross-over the parents to produce a set of "child" routes (Figure 1). The shortest routes are then selected from this new pool of parent and child routes, and the process is repeated until the user stops the process or the algorithm converges on a shortest route.

Genetic Algorithm: Cross-over works by combining parts of one solution with a parts of another

Figure 1: Cross-over works by combining parts of one solution with a parts of another to create two new solutions.

Why does this work?

Consider that one route may contain a partial route within it that is a very good solution for visiting a particular subset of cities whereas another route may contain partial route within it that is a very good solution for visiting a different subset of cities. By crossing-over these two routes, one of the offspring will now contain both of these short routes, and will consequently be shorter overall than either of the parent routes.

How does this work for project portfolio management?

A genetic algorithm works for optimizing project portfolios by creating an initial set of "Parent" portfolios that meet your constraints, and then combining these parent portfolios in such a way to create a generation of "Child" portfolios. The best combined set of parent and child portfolios are then selected and used to create the next generation of portfolios. This process continues until the user-specified optimization parameters are satisfied and/or the process converges to a single optimized result (i.e., the identical result is obtained after a set number of generations).

Steps 1 to 4 below describe how this works:

Genetic Algorithm: An initial set of random portfolios is created

Step 1: An initial set of random portfolios is created to form the "Parent" population. Parent portfolios that do not meet the constraint criteria are eliminated.

Genetic Algorithm: Pairs of individual portfolios in the parent population are crossed-over

Step 2: Pairs of individual portfolios in the parent population are crossed-over to create new portfolios. The new population now consists of both the original Parent portfolios and the new "Child" portfolios. Child portfolios that do not meet the constraint criteria are eliminated.

Genetic Algorithm: The population is ranked by fitness

Step 3: The population is ranked from highest to lowest by portfolio value.

Genetic Algorithm: The least fit portfolios are eliminated

Step 4: The least valuable portfolios are eliminated, and the remaining population becomes the Parent population for the next generation (back to Step 2).

One possible drawback of using genetic algorithms is the potential of "premature convergence" where the optimizer finds an optimal solution that is not near-optimal because the population of potential solutions lost diversity over time. In others words, the parent-child project portfolio sets were too close together in composition. This can be avoided in the same way that nature maintains diversity: by generating "genetic" mutations.

Mutations are new portfolios that are created using the same random input algorithm as the initial parents, and are used to add diversity to the population, and prevent premature convergence before a higher optimization is found. In the steps above, the mutated portfolios would be added after cross-over has finished (Step 2), but before the population is ranked by fitness (Step 3). This ensures the survival of only mutations that meet the minimum fitness criteria of that generation.

If you're evaluating genetic algorithms as a project portfolio optimization tool, make sure that it has the ability to modify the input parameters such as initial number of parents, number of generations, minimum number of repeats before convergence, and number or percent mutations.

Also, look for flexibility in the types of constraints that you can set. For example, constraints can be based on the sum total of a particular attribute, such as the total cost for all projects, or on an average of the attribute, such as the average number of employees per project. You should also be able to set constraints as not-to-exceed (maximum) or not-less-than (minimum).

If you're looking for a Project Portfolio Management solution with state-of-the-art analytics for robust and defensible project portfolios, then click here to take a look at Optsee®, our project portfolio management tool. We have "cracked the code" of project selection by making it easy for ordinary business people to apply state-of-the art business analytics to project prioritization and portfolio optimization for results that are both understandable and defensible.

Next: In Project Portfolio Management, The Value and Costs of Not Doing a Project Are Not Necessarily Zero

Click Here To Try Optsee® Today!