Top Banner
818 European J. Industrial Engineering, Vol. 11, No. 6, 2017 Copyright © 2017 Inderscience Enterprises Ltd. Multi-objective binary cuckoo search for constrained project portfolio selection under uncertainty Mohammed M.S. El-Kholany and Hisham M. Abdelsalam* Operations Research and Decision Support Department, Faculty of Computers and Information, Cairo University, Egypt Email: [email protected] Email: [email protected] *Corresponding author Abstract: One of the recurrent complex decisions faced by organisations is project portfolio selection (PPS) in which a group of the most beneficial projects must be selected from a set of candidate projects. Accordingly, effective means for selecting projects must be employed in order for the organisation to survive in today’s extremely competitive business environments. This paper proposes a framework that integrates a multi-objective binary cuckoo search (MOCS) algorithm with Monte Carlo simulation to help decision makers select the best portfolio based on a given set of parameters (criteria and performance values) and several characteristics (uncertainty, constraints and multi-objective). Performance of the proposed framework was measured against a published research on two cases: 1) when transforming all objectives into one, the proposed algorithm outperformed recent algorithms used to solve the problem on a large-scale where these algorithms fail to reach an optimal solution; 2) when dealing with a multi-objective case, the proposed algorithm outperformed reported earlier results with 90% of the non-dominated solutions were obtained by it. [Received 30 September 2016; Revised 29 January 2017; Revised 24 May 2017; Revised 11 August 2017; Accepted 25 August 2017] Keywords: project portfolio selection; PPS; simulation-based optimisation; cuckoo search algorithm; non-dominated cuckoo search. Reference to this paper should be made as follows: El-Kholany, M.M.S. and Abdelsalam, H.M. (2017) ‘Multi-objective binary cuckoo search for constrained project portfolio selection under uncertainty’, European J. Industrial Engineering, Vol. 11, No. 6, pp.818–853. Biographical notes: Mohammed M.S. El-Kholany is an Assistant Lecturer at the Department of Operations Research and Decision Support from the Faculty of Computers and Information in the Cairo University. He has holds an MSc from the same department since March 2017. His research interests include developing meta-heuristic algorithms to solve multi-objective optimisation problems especially under uncertainty. Hisham Abdelsalam received his Bachelor with honours in Mechanical Engineering from the Cairo University – Egypt, MSc and PhD in Mechanical Engineering from Old Dominion University – USA in 1996, 2000 and 2003, respectively. During the past 15 years, he has acted as the Director of Research
36

Mohammed M.S. El-Kholany and Hisham M. Abdelsalam* cuckoo search algorithm; non-dominated cuckoo search. Reference to this paper should be made as follows: El-Kholany, M.M.S. and Abdelsalam,

Sep 27, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Mohammed M.S. El-Kholany and Hisham M. Abdelsalam* cuckoo search algorithm; non-dominated cuckoo search. Reference to this paper should be made as follows: El-Kholany, M.M.S. and Abdelsalam,

818 European J. Industrial Engineering, Vol. 11, No. 6, 2017

Copyright © 2017 Inderscience Enterprises Ltd.

Multi-objective binary cuckoo search for constrained project portfolio selection under uncertainty

Mohammed M.S. El-Kholany and Hisham M. Abdelsalam* Operations Research and Decision Support Department, Faculty of Computers and Information, Cairo University, Egypt Email: [email protected] Email: [email protected] *Corresponding author

Abstract: One of the recurrent complex decisions faced by organisations is project portfolio selection (PPS) in which a group of the most beneficial projects must be selected from a set of candidate projects. Accordingly, effective means for selecting projects must be employed in order for the organisation to survive in today’s extremely competitive business environments. This paper proposes a framework that integrates a multi-objective binary cuckoo search (MOCS) algorithm with Monte Carlo simulation to help decision makers select the best portfolio based on a given set of parameters (criteria and performance values) and several characteristics (uncertainty, constraints and multi-objective). Performance of the proposed framework was measured against a published research on two cases: 1) when transforming all objectives into one, the proposed algorithm outperformed recent algorithms used to solve the problem on a large-scale where these algorithms fail to reach an optimal solution; 2) when dealing with a multi-objective case, the proposed algorithm outperformed reported earlier results with 90% of the non-dominated solutions were obtained by it. [Received 30 September 2016; Revised 29 January 2017; Revised 24 May 2017; Revised 11 August 2017; Accepted 25 August 2017]

Keywords: project portfolio selection; PPS; simulation-based optimisation; cuckoo search algorithm; non-dominated cuckoo search.

Reference to this paper should be made as follows: El-Kholany, M.M.S. and Abdelsalam, H.M. (2017) ‘Multi-objective binary cuckoo search for constrained project portfolio selection under uncertainty’, European J. Industrial Engineering, Vol. 11, No. 6, pp.818–853.

Biographical notes: Mohammed M.S. El-Kholany is an Assistant Lecturer at the Department of Operations Research and Decision Support from the Faculty of Computers and Information in the Cairo University. He has holds an MSc from the same department since March 2017. His research interests include developing meta-heuristic algorithms to solve multi-objective optimisation problems especially under uncertainty.

Hisham Abdelsalam received his Bachelor with honours in Mechanical Engineering from the Cairo University – Egypt, MSc and PhD in Mechanical Engineering from Old Dominion University – USA in 1996, 2000 and 2003, respectively. During the past 15 years, he has acted as the Director of Research

Page 2: Mohammed M.S. El-Kholany and Hisham M. Abdelsalam* cuckoo search algorithm; non-dominated cuckoo search. Reference to this paper should be made as follows: El-Kholany, M.M.S. and Abdelsalam,

Multi-objective binary cuckoo search for constrained project portfolio 819

and Development in the National Management Institute, and the Manager of the Future Studies Center, Information and Decision Support Center, the Egyptian Cabinet. He has led several research projects and with 70 published research articles, his research interests extend to cover the areas of decision support, e-government, new product development projects and supply chain management.

1 Introduction

In view of the ongoing fierce competition among organisations and their attempts to capture a larger market share, the capability of managing projects and the efficient allocation of limited resources become a necessity for organisations to achieve higher profits, lower costs and to outperform their competitors (Huang et al., 2014; Ceyda Güngör and Erkan Can, 2011). Each organisation aims to achieve its strategy in a quest to capture a larger market share, to enhance its reputation and to increase its profit. In a project-centric organisation, limited resources will force it to select which projects to fulfil its strategy (Shakhsi-Niaei et al., 2011). Accordingly, project portfolio selection (PPS) is one of the most important processes in the field of project management in which a subset of projects is to be selected from a set of potential projects to achieve the organisation’s strategy (Archer and Ghasemzadeh, 1999). PPS is a complex strategic decision problem due to the multitude of the factors involved, such as conflicting objectives, limited resources, logical constraints and risks. These factors affect the final decision which has a considerable impact on the success or failure of the organisation’s strategy (Ceyda Güngör and Erkan Can, 2011).

Given the nature of the PPS problem, it can be mathematically formulated as a binary 0–1 integer optimisation problem. A typical pseudo-Boolean optimisation problem that is categorised as NP-hard problem which makes it hard to be solved using exact algorithms (Boros and Hammer, 2002). Problem complexity is further amplified when considering various factors, including the set of criteria governing the portfolio selection decision and the relative importance of these criteria to each organisation. Moreover, since such factors would change over time, involved uncertainty needs to be dealt with for a more realistic problem. All these aspects make the PPS problem as the best fit to be solved using meta-heuristic techniques (Rabbani et al., 2010).

A group of researchers has dealt with the PPS problem as a multi-objective problem which aims to select the best candidate projects in order to optimise conflicting objectives such as maximising the organisation’s profit or minimising the risk subject to a set of constraints. Doerner et al. (2004) used ant colony optimisation (ACO) to solve a multi-objective PPS with limited resources. The work aims to maximise the benefit of the portfolio and to minimise the total consumption of available resources. The applied ACO was compared to Pareto simulated annealing and NSGA II on 18 different random problem instances and a real case study. The ACO turned out to be the most efficient algorithm. However, one drawback of this algorithm is its inability to handle problems where the number of projects exceeds 100.

Tofighian and Naderi (2015) also used ACO as an algorithm to solve a PPS problem with some modifications in the ACO itself, however, including ant generation, Pareto ant

Page 3: Mohammed M.S. El-Kholany and Hisham M. Abdelsalam* cuckoo search algorithm; non-dominated cuckoo search. Reference to this paper should be made as follows: El-Kholany, M.M.S. and Abdelsalam,

820 M.M.S. El-Kholany and H.M. Abdelsalam

updating and pheromone updating techniques. In order to evaluate its efficiency, the modified ACO algorithm was compared to GA and scatter search. The evaluation proved the algorithm to be more efficient. NSGA II and Pareto ACO were integrated to solve a PPS problem that takes into consideration the employees’ skills and knowledge depreciation effects on assigning available personnel to projects by Gutjahr and Reiter (2010). Ignoring interdependencies between projects and using deterministic data are the two main shortcomings of the proposed framework (PF). Layeb et al. (2013) proposed a multi-objective binary cuckoo search (MOCS) to solve a knapsack problem by combining the concept of domination with the CS algorithm. The proposed algorithm was applied to solve knapsack problems subject to one constraint and while considering deterministic data.

Another stream of research considered risk as an objective function in multi-objective PPS. Sardou et al. (2015) used a multi-objective fuzzy approach to select a portfolio that not only maximises the return but also minimises risk and with a limitation of time investments. On the other hand, Khalili-Damghani et al. (2012) covered planning horizon without limitations on the time in their proposed mathematical model in addition to risk and profit. They introduced a framework based on technique for order preference by similarity to ideal solution (TOPSIS) to solve the mathematical model.

Data uncertainty is an important factor that should be considered when solving a PPS problem. This uncertainty may relate to resources, project risk, profit, etc. George et al. (2013) proposed a trichotomic framework by combining multi-criteria decision analysis (MCDA), mathematical programming (MP) and Monte Carlo simulation (MC). This framework aims to categorise the candidate projects into two groups (selected projects and non-selected projects) by applying two main phases. In the first phase, a MC simulation was run with a number of iterations to classify the projects into three categories: selected projects in the portfolio, non-selected projects and projects that may be selected. The second phase focuses on determining the projects that would be selected in the portfolio from the set of projects that may be selected. The introduced framework has the advantage of providing information to decision makers regarding the projects’ eligibility to be included in or excluded from the final portfolio. The PF does not handle multi-objective problems. Medaglia et al. (2007) proposed an evolutionary algorithm with a black box simulator to solve a multi-objective PPS problem considering uncertainty in terms of objectives and constraints. The presented algorithm was designed to handle large-scale problems. However, it gives no consideration to interdependencies between projects and time horizon.

In a similar vein, Shakhsi-Niaei et al. (2011) proposed a comprehensive two-phase framework to select a project portfolio. In the first phase, candidate projects were ranked based on preference ranking organisation method for enrichment evaluations (PROMETHEE) combined with MC simulation to capture uncertainty. Pre-ordered projects were then used in the second phase and in another MC simulation linked to integer programming model to select the final portfolio. This framework does not present an optimal solution and with the increasing number of projects, it would consume more computation time. Building on this work, genetic algorithm (GA) and differential evolution algorithm (DEA) were presented to solve the same mathematical model with deterministic data on a different scale by (Shakhsi-Niaei et al., 2015). The results showed that GA is more efficient than DEA on a larger scale.

Page 4: Mohammed M.S. El-Kholany and Hisham M. Abdelsalam* cuckoo search algorithm; non-dominated cuckoo search. Reference to this paper should be made as follows: El-Kholany, M.M.S. and Abdelsalam,

Multi-objective binary cuckoo search for constrained project portfolio 821

Some other research papers considered different factors that could affect the PPS problem. The synergy between projects and time horizon were considered in the nonlinear binary multi-objective model proposed by Perez and Gomez (2016). The developed model included a set of fuzzy constraints with resources limitation changing over time. Another nonlinear multi-objective solution algorithm was proposed by Stewart (2016) to select a set of research and development (R&D) projects subject to resource constraints. A form of reference point approach was developed as a solution method. Arratia et al. (2016) proposed a mathematical framework to select R&D projects depending on the goals and preferences of the organisation and without violating the budget constraint. Huang et al. (2014) considered not only selecting the candidate projects but also adjusting the existing ones. Binary particle swarm optimisation was proposed to solve the model. The results showed that the company can make better use of available resources and get more return on investments when it considers adjustment of the existing projects. It is very important to implement a very efficient optimisation algorithm to ensure that the optimal solution is reachable. The essence of an optimisation algorithm is a search process to find the best solution. Meta-heuristics algorithms are very diverse, including simulated annealing, particle swarm optimisation, DEA, cuckoo search algorithm and other algorithms (Yang and Deb, 2014). Recently, a knowledge-guided multi-objective fruit fly optimisation algorithm was proposed by Wang and Zheng (2017) to solve multi-skill resource constrained project scheduling problem. This work aimed at minimising makespan and total cost. The proposed algorithm was compared with other algorithms (non-dominated sorting, multi-objective evolutionary algorithm and random algorithm) and the results demonstrated the effectiveness of MOFOA.

When it comes to the performance of CS algorithm, previous research has shown that the CS satisfies the global convergence requirements and thus has guaranteed global convergence properties. This implies that for combinatorial optimisation problems, CS algorithm will be a potential algorithm to find a better solution. A further advantage of CS is that its global search uses Lévy flights rather than standard random walks. As Lévy flights have infinite mean and variance, CS can explore the search space more efficiently than the other algorithms. Furthermore, CS has two search capabilities: local and global search which is controlled by a switching discovery probability. This combination makes CS very efficient (Civicioglu and Besdok, 2013; Gandomi et al., 2013). Many studies and applications demonstrated that the CS is very efficient. On the other hand, based on the previous literature we found that CS algorithm was not used before to solve multi-objective PPS problem. Accordingly, the main contributions of this paper are as follow:

1 A MOCS is proposed and tested to solve a PPS problem in single and multi-objective cases

2 MC simulation is integrated with MOCS in a framework that solves the problem under uncertainty (represented in criteria weights and expected projects’ performance with respect to these criteria).

The effectiveness of the proposed algorithm is verified with the comparison by using the benchmark instances. Table 1 summarises the characteristics of the existing literature and those present in this paper.

Page 5: Mohammed M.S. El-Kholany and Hisham M. Abdelsalam* cuckoo search algorithm; non-dominated cuckoo search. Reference to this paper should be made as follows: El-Kholany, M.M.S. and Abdelsalam,

822 M.M.S. El-Kholany and H.M. Abdelsalam

Table 1 The work of other researchers in PPS problem

Year

Re

sear

cher

s Re

sear

ch a

nd d

evel

opm

ent

Num

ber o

f obj

ectiv

es

Unc

erta

inty

M

eta-

heur

istic

s Si

mul

atio

n Ad

ditio

nal i

nfor

mat

ion

2004

D

oern

er e

t al.

2

Max

imise

ben

efit

• M

inim

ise c

onsu

mpt

ion

of re

sour

ces

2007

G

rave

s and

Rin

gues

t

2

• Ev

olut

iona

ry a

lgor

ithm

was

pro

pose

d 20

10

Gut

jahr

and

Rei

ter

3

Com

bini

ng N

SGA

II w

ith A

CO

20

11

Shak

hsi-N

iaei

et a

l.

1

• Pr

ojec

ts w

ere

rank

ed b

ased

on

PRO

MET

HEE

20

12

Kha

lili-D

amgh

ani e

t al.

4

Usi

ng T

OPS

IS

• M

axim

ise p

rofit

20

13

Geo

rge

et a

l.

1

• Pr

opos

ed tr

icho

tom

ic a

ppro

ach

Pere

z an

d G

omez

2

• N

onlin

ear m

ulti-

obje

ctiv

e 20

14

Hua

ng e

t al.

1

App

lyin

g PS

O

• A

djus

ting

in e

xist

ing

proj

ects

Con

sider

ing

capi

tal a

nd re

sour

ce

limita

tion

Tofig

hian

and

Nad

eri

3

Mod

ifica

tion

in A

CO

(in

gene

ratin

g an

ts a

nd u

pdat

ing

pher

omon

e)

Sard

ou

2

Max

imise

retu

rn

• M

inim

ise ri

sk

2015

Shak

hsi-N

iaei

et a

l.

1

• A

pply

ing

DEA

and

GA

A

rratia

et a

l.

2

• D

evel

opin

g a

mat

hem

atic

al fr

amew

ork

to se

lect

R&

D p

roje

cts

2016

Stew

art

3

Mul

ti-ob

ject

ive

optim

isatio

n ba

sed

on

refe

renc

e ap

proa

ch

Th

is pa

per

5

Usi

ng n

on-d

omin

ated

cuc

koo

sear

ch

Page 6: Mohammed M.S. El-Kholany and Hisham M. Abdelsalam* cuckoo search algorithm; non-dominated cuckoo search. Reference to this paper should be made as follows: El-Kholany, M.M.S. and Abdelsalam,

Multi-objective binary cuckoo search for constrained project portfolio 823

Following the introduction, the rest of the paper is organised as follows: Section 2 presents the mathematical formulation of the PPS problem under consideration. Section 3 shows the proposed methodology including the illustration of the proposed algorithm, solution representation, evaluation of the objectives with uncertainty, the methods used to handle the constraints and ways to avoid local optimal solutions. Section 4 presents an analysis of numerical experimentations for a single and multi-objective case. Section 5 explores the most important findings of this research paper and offers proposals for future studies.

2 Problem formulation

This paper deals with a typical PPS situation in which an organisation aims to implement the most beneficial projects to be selected from a set of potential projects. Many factors can be considered for selecting projects; e.g., limited resources, time, interdependencies among projects, risk, etc. accordingly, a set of criteria has to be identified by the organisation. Then, relative importance weights of these criteria and expected benefit of various projects are to be estimated by the decision maker(s) and/or experts based on the organisation’s strategy (Shakhsi-Niaei et al., 2011).

The problem at hand can be formulated mathematically as follows.

2.1 Parameters and notations

Z The value of a single objective function

i Index of candidate projects

k Index of selection criteria

j Index of project categories

n Total number of candidate projects

K Total number of selection criteria

J Number of projects’ categories

bi Benefit for candidate project (this may be profit, sales, customer satisfaction, utility or market share, etc.)

xi Binary decision variable to select candidate project

wk Weight of criterion k, 1.kk

w =∑ The more important a criterion is, the larger the

weight associated with it.

ci Total cost required for completing project i

pvi, k Performance value of project i in criterion k. The increase performance value of project for criterion means that this project will achieve criterion with higher probability

rj Ratio of projects from category j to the total number of selected projects

Page 7: Mohammed M.S. El-Kholany and Hisham M. Abdelsalam* cuckoo search algorithm; non-dominated cuckoo search. Reference to this paper should be made as follows: El-Kholany, M.M.S. and Abdelsalam,

824 M.M.S. El-Kholany and H.M. Abdelsalam

Sj Set of projects that belong to category j. Category may be manufacturing, agriculture, R&D or healthcare

budg Total available budget for all projects.

2.2 Objective function

If the problem is to be solved as a single objective PPS, the weighted score method [equation (1)] is applied; multiplying the performance value of project and the weight of criterion to calculate the benefit for each project. The objective here is to maximise organisation benefit as represented by equation (2).

,1

, for 1,2, ,K

i i k kk

b pv w i n=

= × =∑ K (1)

1

n

i ii

Z b x=

=∑ (2)

However, given that a multi-objective solution algorithm is to be used in this paper, instead of maximising an overall benefit as a single objective, we will represent each criterion as a separate objective. In this case, the number of objective functions is equal to the number of criteria. General form for multi-objective is presented by equation (3):

1 2Max ( ), ( ), , ( )kf x f x f xK (3)

Each objective function is created by multiplying the performance value of project in criterion by project i. If a project will not be selected then its contribution to organisation benefit will be zero.

,1

Max ( )n

k i k ii

f x pv x=

= ×∑ (4)

2.3 Constraints

Generally, model constraints are defined based on available information, preferences of decision makers and rules and strategy of organisation. This paper considers two constraints:

1 A segmentation constraint represented by equation (5) that ensures non-execution of more than a specific percentage of selected projects rj which must belong to set Sj.

2 Budget constraint represented by equation (6) – where budg is the organisation’s available budget and total cost of selected projects must not exceed the total budget.

1j

n

i j ii S i

x r x∈ =

≤∑ ∑ (5)

1

n

i ii

c x budg=

≤∑ (6)

Page 8: Mohammed M.S. El-Kholany and Hisham M. Abdelsalam* cuckoo search algorithm; non-dominated cuckoo search. Reference to this paper should be made as follows: El-Kholany, M.M.S. and Abdelsalam,

Multi-objective binary cuckoo search for constrained project portfolio 825

3 Proposed solution algorithm

3.1 Multi-objective binary cuckoo search

The CS algorithm proposed by Yang and Deb (2009), is considered one of the recent meta-heuristic algorithms. The algorithm is based on the idea of mimicking the behaviour of the cuckoo, a kind of birds that lays its eggs in the nests of other host birds. A host bird may discover that the cuckoo’s egg is not its own and, in this case, one of two scenarios will happen:

1 the host bird throws out the cuckoo’s egg or

2 the host bird abandons its nest and builds another one.

Some cuckoos have evolved where females are very specialised in mimicking the colour and pattern of the host bird’s eggs in addition to identifying the time when the eggs are laid by the host bird. A cuckoo chooses a nest with recently laid eggs so as to lay its own eggs inside it. The cuckoo’s eggs hatch earlier than those of the host bird and the hatched cuckoo evicts the host bird’s eggs blindly by propelling it outside the nest. So the probability of the host bird discovering the cuckoo’s eggs decreases (Yang and Deb, 2009).

The behaviour of the cuckoo was translated into three rules applied in the algorithm:

1 At a given iteration, each cuckoo lays only one egg in one nest that is randomly selected.

2 The best nest that contains high quality eggs is denoted as the best solution and is used for the following generation.

3 The number of nests is fixed and the probability of discovering that the egg does not belong to host bird is represented by the probability (0, 1).

It is assumed that fraction of the nests is substituted by new ones. Finally, solution quality (or fitness) is proportional to the value of the objective function in case of maximisation problem. In simpler representation, each egg in a nest represents a solution.

A new solution (symbolised by where the cuckoo is represented by index) is generated using a stochastic equation of random [equation (7)]. Random walk is characterised by Markov chain where the new position depends on the current position (the first term of right-hand side in the equation) and transition probability (second term). This is a random walk with the random step size via Lévy distribution. Lévy flight [equation (8)] is more efficient for exploring the search space because its step size increases exponentially (Roy and Sinha Chaudhuri, 2013). Lévy flight provides a random walk with a random step size following a Lévy distribution that has an infinite mean and an infinite variance. Some of the new solutions should be generated around the best solution in order to speed up the local search. However, it should be kept in mind that the algorithm must not be trapped into a local optimum. For this reason, a substantial fraction of the new solutions should be generated by far field randomisation with locations far enough from the current best solution.

1 Lévy( )t ti ix x λ+ = + ⊕α (7)

Page 9: Mohammed M.S. El-Kholany and Hisham M. Abdelsalam* cuckoo search algorithm; non-dominated cuckoo search. Reference to this paper should be made as follows: El-Kholany, M.M.S. and Abdelsalam,

826 M.M.S. El-Kholany and H.M. Abdelsalam

Lévy , (1 3),λu l λ−= < ≤ (8)

Figure 1 CS algorithm

Cuckoo search Read control parameters Step 1 Initialisation a Initialise ( )1 2, , , for all {1,2, , }n

i i i iX x x x i N= ∈K K using equation (16).

Step 2 Iterations a Evaluate fitness of the objective function. b Find best nest (maximum value if the objective maximisation). c Generate new solution using Lévy flight equation (7). d Checking if the new solution violates limits: • If yes, return the values to boundaries.

• If no, continue. e Evaluate fitness of Fi. f Choose a nest among n randomly (say jth). g Check if Fi > Fj replace Fi with Fj. h Check if cuckoo’s egg was discovered with probability pa. • If yes, generate new nest randomly.

• If no, continue. Step 3 Stopping criteria a Check if iteration number (iter) = iter_max. • If yes, terminate algorithm.

• If no, iter = iter + 1 and go to Step 2.

Equations

( )(0)min max min()X X rand X X= + − (16)

Control parameters n Number of decision variables N Number of nests Xmin Lower bound for random numbers Xmax Upper bound for random numbers iter_max Maximum number of iterations

CS proved its robustness and effectiveness in many optimisation problems. This is attributed to the fact that CS has fewer parameters to be controlled and is the only parameter left to be tuned. Through many test problems, the conversions rate of CS is fast and efficient without the interference of pa. This indicates that this parameter does not need any control for the problems. Consequently, CS is more robust for many optimisation problems. Moreover, it outperformed GA and particle swarm optimisation in multimodal objective functions (Roy and Sinha Chaudhuri, 2013).

Page 10: Mohammed M.S. El-Kholany and Hisham M. Abdelsalam* cuckoo search algorithm; non-dominated cuckoo search. Reference to this paper should be made as follows: El-Kholany, M.M.S. and Abdelsalam,

Multi-objective binary cuckoo search for constrained project portfolio 827

The algorithm used in this paper aims to exploit the new solutions to substitute poor solutions in the nests. The paper applies the simple cuckoo approach; one egg in one nest which is guided by the three rules that mentioned above. CS pseudo code is presented in Figure 1.

CS algorithm was originally designed to handle continuous variables. However, in recent years, several researchers proposed modified versions of the algorithm to handle discrete or binary variables (Layeb, 2011; Layeb et al., 2013; Ouaarab et al., 2014). An improved CS algorithm (ICS) for knapsack problem, shown in Figure 2, was proposed and proven to reach results better than using the original CS on different cases of knapsack problems (Feng et al., 2014).

Figure 2 Main procedure of improved CS

An improved binary cuckoo search Read control parameters. Step 1 Sorting a

Calculate efficiency for each decision variable by .i

i

bweight

b Sort indices with higher efficiency in descending order in a queue (eff1, eff2, …, effn).

Step 2 Initialisation a Generate N nests randomly. b Convert nests from real to binary ( )isig X

i iX Xbin⎯⎯⎯→ using equation (9).

Step 3 Iterations a Calculate fitness for each nest. b Find the best (maximum fitness if maximisation problem). c Generate new solution using Lévy flight equation (7). d Apply new position updating formula in Figure 4. e Handle violated solutions and optimise them by Figure 3. Step 4 Stopping a Check if iteration number (iter) = iter_max. • If yes, terminate algorithm.

• If no, iter = iter + 1 and go to Step 2.

Control parameters bi Benefit for each decision variable weighti Weight of decision variable in budget constraint

ICS included five main enhancements:

1 using adaptive step to adjust search

2 applying confidence interval in order to enhance local search

3 applying concept of mutation that is used in GA to prevent algorithm from trapping into a local optimum

Page 11: Mohammed M.S. El-Kholany and Hisham M. Abdelsalam* cuckoo search algorithm; non-dominated cuckoo search. Reference to this paper should be made as follows: El-Kholany, M.M.S. and Abdelsalam,

828 M.M.S. El-Kholany and H.M. Abdelsalam

4 a sigmoid function, equation (9), was used to convert the solutions from real to binary, and finally

5 GTM, Figure 3, was used to handle infeasible solutions and improve it if applicable.

These modifications were introduced to improve convergence rate and precision of CS by searching on the best area for high dimensional space based on the experience of an adjacent individual.

( )1 if 0.50 otherwise

ii

sig xbin

⎧ ≥= ⎨⎩

(9)

where xi = (x1, x2, x3, …, xn) real numbers, bini = (bin1, bin2, bin3, …, binn) are binary numbers and ( ) ( )1 1 .ix

isig x e−= +

Figure 3 Greedy transform method (GTM)

Greedy transform method Read control parameter Step 1 Initialisation a Initialise ( )1 2, , , {1,2, , }.n

i i i iYbin ybin ybin ybin i N= = ∀ ∈K K

Step 2 Repair stage a while (Tempc ≤ budg). • If (xbini = 1) then

• 1, , 1ii c c effybin Temp Temp weight i i= = + = +

• endif b endwhile Step 3 Optimise stage a counter = i b while (counter ≤ n) • ( )counterc effif Temp weight budg then+ ≤

• , 1counterc c eff counterTemp Temp weight ybin= + =

• endif c endwhile

Control parameters Xbini Binary nest i that converted by sigmoid function Tempc Variable checks feasibility of solution on budget constraint Ybini Solution does not violate budget constraint which is the output of algorithm

Adaptive step, Figure 4, is a new position updating role that was proposed by Feng et al. (2014) to replace the function of discovering eggs by host bird in original CS. This function depends on three improvements, the first two of which are applied in the adaptive step which, in turn, was developed using the concept of confidence interval by subtracting the best and worst nest to get the step. The adaptive step is computed by

Page 12: Mohammed M.S. El-Kholany and Hisham M. Abdelsalam* cuckoo search algorithm; non-dominated cuckoo search. Reference to this paper should be made as follows: El-Kholany, M.M.S. and Abdelsalam,

Multi-objective binary cuckoo search for constrained project portfolio 829

multiplying step with a random number. This adaptive step compromises between exploration and exploitation so, a large step size and wider confidence will be more beneficial for exploration but with a small step size and wider confidence will increase the exploitation. The third improvement is the mutation because the purpose of mutation is to increase the rate of diversity of the population with low probability Pm. Mutation can also play a balanced exploration-exploitation contradictory role.

Figure 4 New position updating role

New position updating role Read control parameters Step 1 Initialisation a Initialise ( )1 2, , , for all {1,2, , }n

i i i iX x x x i N= ∈K K using equation (16).

Step 2 Iterations a .best worst

i i iStep X X= −

b .besti i iXnew X Step= ±

c Checking if rand1() < Pm. If yes, Xnewi = ai + rand2() × (ci – ai).

If no, continue. Step 3 Stopping Check if count = N. If yes, terminate algorithm.

If no, count = count + 1 and go to Step 2.

Control parameters Pm Probability of mutation

bestiX Nest gives maximum value for maximisation problem

worstiX Nest gives minimum value for maximisation problem

rand1() and rand2() Different random numbers from 0 → 1 ai Smallest value in nest i ci Largest value in nest i

To tolerate several objectives, the non-dominated concept (Deb et al., 2002) was applied to get a set of non-dominated solutions. As shown in Figure 5, two main steps are performed during CS to select the new population for the next iteration. Assume that the population size is n and the current iteration is t and the population at iteration t – 1 are kept. The current and previous population are combined together as shown in the first block in Figure 5. All nests are then split into different fronts (each front assigned a specific rank). Nests that have rank no. 1 dominate all other nests whereas nests with rank no. 2 are dominated by nests in rank no. 1 while dominating those in the lower ranks and so on.

All nests in a front are ordered according to a crowding measure (the sum of the distance between the closest two nests along each objective) (Deb et al., 2002). Selection is based on these ranks and the new population is selected from each front (starting with

Page 13: Mohammed M.S. El-Kholany and Hisham M. Abdelsalam* cuckoo search algorithm; non-dominated cuckoo search. Reference to this paper should be made as follows: El-Kholany, M.M.S. and Abdelsalam,

830 M.M.S. El-Kholany and H.M. Abdelsalam

the best ranking). If two or more nests have the same rank, the nests with higher crowding distance will be selected for the next iteration.

Figure 5 Multi-objective cuckoo search (MOPCS)

3.2 Implementation

3.2.1 Solution representation

CS algorithm is a multi-solution algorithm in which each solution is represented by a nest. For the problem at hand, a solution (nest) is represented by a vector of length that is equal to the number of the proposed projects. Each cell in the vector can assume one of two values: 1 if the corresponding project is selected or 0 if the corresponding project is not selected. The algorithm starts with a randomly generated set of nests. Real random values are generated and converted to binary by the sigmoid function. Through iterations, nests are updated according to Lévy flights and the updating role that was proposed by Feng et al. (2014).

An example that illustrates solution representation and conversion of solution from real to binary is provided in Figure 6 with the number of candidate projects reaching 13 and each cell represents one project. At the tth iteration, the solution was generated in real numbers and converted to binary using the sigmoid function. Accordingly, the selected projects are 3, 5, 6, 7, 11, 12 and 13. After generating a new solution using Lévy flights and converting it to binary, the 7th cell value was changed from 0.0735 to –0.0020 which

Page 14: Mohammed M.S. El-Kholany and Hisham M. Abdelsalam* cuckoo search algorithm; non-dominated cuckoo search. Reference to this paper should be made as follows: El-Kholany, M.M.S. and Abdelsalam,

Multi-objective binary cuckoo search for constrained project portfolio 831

was then reflected in the binary representation by changing it from 1 to 0. In this case, project number 7 is now not selected and the current portfolio is 3, 5, 6, 11, 12 and 13.

Figure 6 Solution representation (see online version for colours)

–2.1406 –2.1102 0.9202 –0.6314 0.8296 1.3029 0.0735 –0.0881 –1.5271 –3.9650 4.0197 2.1762 0.8230

0 0 1 0 1 1 1 0 0 0 1 1 1

–2.1408 –2.1123 0.9235 –0.5140 0.8226 1. 2977 –0.0020 –0.0891 –1.5261 –3.9380 4.0770 2.1672 0.8186

0 0 1 0 1 1 0 0 0 0 1 1 1

3.2.2 Evaluation of objective function with uncertainty

A given nest is evaluated by the value of objective function. However, this value is a non-deterministic due to the uncertainty of the projects’ scores and criteria weights. In this case, it is difficult or impossible to find a specific solution. In this situation, it is reasonable to apply a PF that is based on MC simulation illustrated in Figure 7. MC simulation is a technique used to allow the decision maker to account the risk in quantitative analysis and decision making (Raychaudhuri, 2008). As this technique is used widely in several fields such as finance, project management transportation and the environment, we found it to serve as a good technique for this problem. It works by building models of possible results for the factors with uncertainty.

The stochastic input is a given performance value of projects and weights of criteria which follow different kinds of distributions. For each run, different random numbers are generated from the probability distributions. For each nest, a MC simulation runs for a specific number of iterations. In each iteration, performance values for each project and weights of criteria are generated and used as inputs. A single objective function is calculated using the weighted method and benefit evaluation provided by equations (1) and (2). At the end of each simulation run, the mean value for the objective function is calculated and used for evaluating the solution. After finishing the evaluation of all solutions in a given iteration, the new objective function value is compared with the old one. The solution with a higher mean will be kept. New solutions are generated by CS and MC simulation is called to evaluate newly generated solutions.

When solving a multi-objective problem, each criterion is considered as a separate objective function. The same procedure is applied to evaluate objective functions by calling MC simulation. Equation (4) is used to evaluate each objective function separately and corresponding values are stored. The mean is used to calculate the values of objective functions for the solution. Instead of comparing between new and old objective function values. The concept of domination was applied by merging non-dominated sorting (Deb et al., 2002) with CS to rank all nests based on the objective functions’ values. Solutions with the highest rank of domination will be kept for the next iteration of the algorithm.

Page 15: Mohammed M.S. El-Kholany and Hisham M. Abdelsalam* cuckoo search algorithm; non-dominated cuckoo search. Reference to this paper should be made as follows: El-Kholany, M.M.S. and Abdelsalam,

832 M.M.S. El-Kholany and H.M. Abdelsalam

Figure 7 Simulation based optimisation framework

3.3 Handling constraints

Feng et al. (2014) proposed a binary CS to solve a knapsack problem. GTM was proposed to handle budget constraints. It depends on the efficiency of each decision variable. Due to uncertainty, a simple function at the beginning of the algorithm is developed to calculate the mean benefit and the cost for all decision variables as shown in Figure 8. Average efficiency of the decision variables is calculated by dividing the mean of benefit as well as the cost for each decision variable.

In Figure 8, the first two loops calculate the benefit and cost from a function called getBenefit for each decision variable and this operation is repeated for 500 iterations. Five hundred iterations were determined as a sufficient number of iterations as they stabilise the values of cost and objective functions. When 600, 700 and 1,000 iterations were investigated, it was observed that there are no differences in stability between the results through these iterations compared with 500 iterations. When 400 or 300 iterations were used, instability of obtained results was observed. Therefore, 500 iterations have been run to minimise the run time. The values of cost and benefit are stored in MainBen and MainCost. In the last loop, the average of benefit and cost for each decision variable are calculated. Finally, the efficiency of decision variables could be computed.

Page 16: Mohammed M.S. El-Kholany and Hisham M. Abdelsalam* cuckoo search algorithm; non-dominated cuckoo search. Reference to this paper should be made as follows: El-Kholany, M.M.S. and Abdelsalam,

Multi-objective binary cuckoo search for constrained project portfolio 833

Figure 8 Calculating the benefit for stochastic problem

Calculate benefit with stochastic parameters Read control parameters Step 1 Initialisation a MainBen(simiter, counter) = 0 ∀ simiter ∈ {1, 2, …, numberOfsim},

counter ∈ {1, 2, …, n} b AvgBencounter = 0 ∀ counter ∈ {1, 2, …, n} c MainCost(simiter, counter) = 0 ∀ simiter ∈ {1, 2, …, numberOfsim},

counter ∈ {1, 2, …, n} d AvgCostcounter = 0 ∀ counter ∈ {1, 2, …, n} Step 2 Iterations a for (simiter → numberOfsim) • Calling function to get benefit

• for (counter → n)

1 MainBen(simiter, counter) = benefitcounter 2 MainCost(simiter, counter) = Costcounter • endfor b endfor c for (counter → n) • AvgBencounter = mean(MainBencounter)

• AvgCostcounter = mean(MainCostcounter) d endfor Control parameters numberOfsim Number of simulation iterations to generate and calculate benefit. n Number of decision variables. MainBen Matrix contains benefit for each decision variable with number of simulation

runs. AvgBen Array contains average benefit for each decision variable. MainCost Matrix contains cost for each decision variable with number of simulation runs. AvgCost Array contains average cost for each decision variable.

A function called segmentation handling was introduced by El-Kholany and Abdelsalam (2015) to handle segmentation constraints. The output from GTM is taken as an input for it in addition to an array containing the efficiency of all decision variables. All segmentation constraints are checked for violations. A violated constraint will be repaired by converting the decision variable with the least efficiency from one to zero in order to maximise the objective function and enter the feasible region. This procedure will be repeated until the current solution satisfies the constraint. This procedure will also be applied to handle other segmentation constraints. The segmentation handling algorithm is provided in Figure 9.

Page 17: Mohammed M.S. El-Kholany and Hisham M. Abdelsalam* cuckoo search algorithm; non-dominated cuckoo search. Reference to this paper should be made as follows: El-Kholany, M.M.S. and Abdelsalam,

834 M.M.S. El-Kholany and H.M. Abdelsalam

Figure 9 Segmentation constraint

Segmentation handling Read control parameters a Compute R.H.S. and L.H.S. for all constraints. b while(L.H.S. > R.H.S.) • for (counter → n) 1 if (ybineff(n – counter+ 1) = 0) then

2 ybineff(n – counter+ 1) = 0 3 break • endfor • Compute R.H.S. and L.H.S. c endwhile

Control parameter L.H.S. Left hand side of segmentation constraint. R.H.S. Right hand side of segmentation constraint. Output Solution satisfies budget and segmentation constraint.

Figure 10 Avoid local

Avoid local optima Read control parameters Step 1 Iterations a for (counter = 1 → N) • if(fitnesscounter ≤ threshold) then

• Generate new solution randomly using equation (16)

• break

• endif b endfor

Control parameters N Number of nests. Xmin Lower bound for random numbers. Xmax Upper bound for random numbers. Maxfitness Maximum fitness value through all solutions.

3.4 Avoiding local optimal solutions

To enhance the exploration of the algorithm, two functions were introduced: avoid local and judgement day. The first function, the pseudo code described in Figure 10, requires an estimation of the expected range of the objective function. After a defined number of iterations (max. iteration), the function checks all nests against a defined objective

Page 18: Mohammed M.S. El-Kholany and Hisham M. Abdelsalam* cuckoo search algorithm; non-dominated cuckoo search. Reference to this paper should be made as follows: El-Kholany, M.M.S. and Abdelsalam,

Multi-objective binary cuckoo search for constrained project portfolio 835

function value and nests with an objective function below such value are replaced. Similar to the approach in Rocha and Neves (1999), the second function is set to start when the algorithm finishes half of the iterations and involves replacing all nests with randomly generated nests except those which reached the maximum objective function value. The pseudo code of this function is provided in Figure 11. Based on the abovementioned algorithms, the main pseudo code for CS to solve single objective with stochastic data is described as shown in Figure 12.

Figure 11 Judgment day

Judgment day Read control parameters Step 1 Iterations a for (counter = 1 → N) • if(fitnesscounter ≠ Maxfitness) then

• Generate new solution randomly using equation (16)

• break

• endif b endfor

Control parameters N Number of nests. Xmin Lower bound for random numbers. Xmax Upper bound for random numbers. Maxfitness Maximum fitness value through all solutions.

4 Computational analysis

4.1 Experimental setup

For the sake of comparison and evaluation of the PF performance, this paper uses a dataset adopted from Shakhsi-Niaei et al. (2011) in which a R&D organisation considers 40 projects to select from with an available budget of 6,000 million monetary units. The projects are divided into three categories: basic, developing and applied with category ratios of r1 = 0.1, r2 = 0.3 and r3 = 0.6, respectively.

Data is classified into weights of criteria and performance per project and per criterion. Criteria and performance values follow probabilistic distribution as has been assigned by a group of decision makers. Project benefit is evaluated based on its expected performance with respect to five criteria (cost, efficiency, team experience, team level of education and technical facilities). Criteria weights follow beta, beta, erlang, triangular and beta distribution. Performance values follow a uniform distribution.

Solution reached by the PF of Shakhsi-Niaei et al. (2011) achieved a total benefit of 976.2985 in 38 minutes using 2.27 GH CPU Intel CORE i5 and 4 GB of RAM.

Page 19: Mohammed M.S. El-Kholany and Hisham M. Abdelsalam* cuckoo search algorithm; non-dominated cuckoo search. Reference to this paper should be made as follows: El-Kholany, M.M.S. and Abdelsalam,

836 M.M.S. El-Kholany and H.M. Abdelsalam

Figure 12 Main procedure of simulation based optimisation CS

Main procedure of Simulation based optimisation Step 1 Calculating the benefit and cost for decision variables (Figure 8).

Step 2 Generate random solutions using equation (16).

Step 3 Apply binary cuckoo search (Figure 2).

Step 4 Handling segmentation constraint in Figure 9.

Step 6 Calculate the fitness using simulation based optimisation technique (Figure 7).

a while(t < MaxNumIter)

• if(t = 10 ∨ t = 20 ∨ t = 210 ∨ t = 220) then

1 Applying avoid local optima in Figure 10

• endif

• if(t = 200) then

1 Applying Judgment day in Figure 11

• endif

• Generate new solution using Lévy flight equation (7).

• Repeat Steps 3–6.

• Generate new solution using new position updating role in Figure 4.

• Repeat Steps 3–6.

• t = t + 1

b endwhile

Control parameters MaxNumIter Maximum number of iterations of proposed algorithm. t Counter refers to iteration number.

4.2 Single objective results

The framework proposed in this paper was implemented in MATLAB. The results presented by Shakhsi-Niaei et al. (2011) was compared with those resulting from the PF and taken as a benchmark because Shakhsi’s model has the ability of lowering the uncertainty level of input data that has an important impact on the selection of projects, in addition to its efficiency and practicality.

The framework was tested first on a single objective using different parameters: number of nests (varying population size n = 10, 15, 30 and 40); lower and upper bound limits (–20, –50, –80, 20, 50 and 80); and probability of mutation (pm = 0.1, 0.3, 0.5, 0.7 and 0.9). For comparison purposes, the framework was set to stop after 400 iterations. We have set ten runs per setup and the statistics of results were reported in the form of minimum, mean, maximum and standard deviation of benefit, cost and CPU time in seconds.

Page 20: Mohammed M.S. El-Kholany and Hisham M. Abdelsalam* cuckoo search algorithm; non-dominated cuckoo search. Reference to this paper should be made as follows: El-Kholany, M.M.S. and Abdelsalam,

Multi-objective binary cuckoo search for constrained project portfolio 837

Table 2 Comparison of the results when nests are 10 with changing in other parameters

Bene

fit

Cos

t Ti

me

Lowe

r bo

und

Upp

er

boun

d Pr

obab

ility

of

mut

atio

n M

ax.

Mea

n M

in.

Std.

dev

.

Max

. M

ean

Min

. St

d. d

ev.

Max

. M

ean

Min

. St

d. d

ev.

–20

20

0.1

989.

0428

98

3.35

4797

8.91

38

3.54

0985

5,79

7.21

65,

774.

649

5,72

8.94

319

.211

597

1,

012.

466

1,00

9.05

5 99

2.80

16

5.82

4424

–20

20

0.3

989.

5681

98

6.46

9 98

3.33

61

2.02

4917

5,79

8.80

75,

785.

506

5,76

3.38

111

.119

627

1,

021.

333

1,01

4.57

4 1,

009.

649

4.45

992

–20

20

0.5

989.

7447

98

5.11

5598

1.01

77

3.03

9444

5,82

5.49

25,

790.

794

5,75

9.35

317

.624

814

1,

029.

326

1,01

2.82

1 99

4.66

81

8.52

972 5

–20

20

0.7

989.

5617

98

3.20

5897

8.25

7 3.

4420

26

5,

801.

765

5,78

5.14

55,

763.

99

12.2

8145

2

1,02

2.73

6 1,

012.

203

1,00

9.87

13.

8416

06–2

0 20

0.

9 98

0.03

48

970.

9357

963.

4651

5.

1880

79

5,

840.

302

5,77

4.79

75,

739.

843

33.4

1309

3

1,01

1.59

6 1,

010.

06

1,00

7.63

71.

1199

61–5

0 50

0.

1 98

9.96

44

983.

7743

977.

0255

4.

2327

21

5,

800.

941

5,77

1.5

5,73

5.01

123

.685

256

1,

011.

878

1,01

0.60

9 1,

008.

068

1.30

275 7

–50

50

0.3

993.

0412

98

7.87

9298

5.62

21

2.09

9557

5,80

3.55

25,

791.

656

5,77

2.61

88.

8612

361

1,

013.

82

1,01

0.65

4 1,

008.

415

1.49

8043

–50

50

0.5

988.

9945

98

6.52

8898

2.99

63

2.13

7146

5,80

1.78

95,

789.

071

5,77

4.71

28.

5328

172

1,

033.

307

1,01

5.22

7 1,

009.

366

7.22

5985

–50

50

0.7

989.

1212

98

0.54

3 97

4.75

55

4.88

5628

5,80

0.71

45,

770.

927

5,73

6.35

123

.002

409

1,

032.

125

1,01

5.86

7 1,

010.

135

6.33

5513

–50

50

0.9

981.

3122

97

0.66

4496

0.83

73

6.40

4525

5,83

2.81

85,

771.

72

5,73

5.80

130

.972

978

1,

029.

825

1,01

7.24

2 1,

007.

103

6.94

6441

–80

80

0.1

989.

9046

98

3.54

1296

9.91

18

5.50

5157

5,80

1.17

15,

776.

698

5,73

7.25

319

.429

453

1,

055.

063

1,01

8.93

1,

012.

402

12.8

177 6

–80

80

0.3

988.

9967

98

7.44

2798

5.13

68

1.16

3959

5,81

1.82

85,

793.

326

5,78

5.15

7.

1622

179

1,

014.

806

1,01

3.76

8 1,

012.

969

0.58

9953

–80

80

0.5

986.

8309

98

4.19

1 97

6.77

68

3.26

4562

5,80

2.31

95,

784.

579

5,76

4.79

10

.616

194

1,

015.

196

1,01

3.18

5 1,

011.

14

1.11

9106

–80

80

0.7

986.

9205

98

0.13

4497

5.44

32

3.89

7274

5,80

4.30

65,

779.

136

5,74

6.04

221

.656

882

1,

014.

553

1,01

3.02

5 1,

010.

904

1.22

4426

–80

80

0.9

986.

3148

98

3.35

4796

3.47

71

7.54

0643

5,80

1.53

75,

773.

551

5,74

5.97

617

.898

1,01

2.82

6 1,

010.

934

1,00

6.62

11.

9189

41

Page 21: Mohammed M.S. El-Kholany and Hisham M. Abdelsalam* cuckoo search algorithm; non-dominated cuckoo search. Reference to this paper should be made as follows: El-Kholany, M.M.S. and Abdelsalam,

838 M.M.S. El-Kholany and H.M. Abdelsalam

Table 3 Comparison of the results when nests are 15 with changing in other parameters

Bene

fit

Cos

t Ti

me

Lowe

r bo

und

Upp

er

boun

d Pr

obab

ility

of

mut

atio

n M

ax.

Mea

n M

in.

Std.

dev

.

Max

. M

ean

Min

. St

d. d

ev.

Max

. M

ean

Min

. St

d. d

ev.

–20

20

0.1

991.

75

986.

7444

980.

6084

2.

9648

85

5,

801.

108

5,78

7.17

65,

765.

827

11.0

6140

51,

528.

442

1,52

1.94

4 1,

516.

226

3.32

6782

–20

20

0.3

990.

8409

98

8.73

9198

6.59

26

1.28

0892

5,80

1.68

5,

790.

012

5,77

5.29

27.

1004

695

1,52

8.54

8 1,

519.

515

1,51

1.27

54.

3319

36–2

0 20

0.

5 99

0.16

31

986.

3032

983.

7891

1.

7864

59

5,

825.

679

5,79

2.47

45,

781.

438

12.3

4276

81,

546.

458

1,52

8.21

1 1,

515.

93

10.6

4391

–20

20

0.7

988.

4002

98

3.68

3997

6.99

49

3.80

0674

5,83

9.97

15,

799.

012

5,78

5.84

217

.551

023

1,62

0.17

3 1,

560.

839

1,51

4.31

733

.889

59–2

0 20

0.

9 98

4.90

69

975.

5301

962.

6078

6.

4761

19

5,

805.

004

5,76

0.74

75,

725.

03

28.2

4408

21,

519.

843

1,51

2.20

1 1,

464.

756

16.9

0655

–50

50

0.1

991.

4892

98

6.98

1897

9.70

25

3.91

254

5,

800.

099

5,78

3.29

75,

762.

399

14.1

6077

21,

520.

368

1,51

7.59

3 1,

515.

602

1.58

6658

–50

50

0.3

989.

7151

98

7.66

1498

4.60

27

1.38

7878

5,80

5.84

75,

792.

422

5,76

8.02

610

.807

389

1,51

9.95

7 1,

516.

806

1,51

2.86

82.

0138

07–5

0 50

0.

5 99

0.37

33

986.

2722

983.

5168

2.

2292

7

5,81

9.89

15,

791.

985

5,78

2.91

611

.620

903

1,51

6.81

4 1,

515.

501

1,51

3.00

81.

1877

78–5

0 50

0.

7 98

7.81

43

981.

8174

975.

901

4.33

0916

5,80

4.04

45,

780.

689

5,73

5.05

522

.389

656

1,56

5.38

4 1,

526.

502

1,51

2.12

818

.282

61–5

0 50

0.

9 98

4.64

07

977.

0491

967.

7119

5.

5941

38

5,

842.

793

5,78

5.93

25,

725.

418

34.6

1890

41,

560.

371

1,52

0.54

9 1,

513.

541

14.0

7461

–80

80

0.1

989.

0376

98

6.21

6 98

2.53

05

2.25

2102

5,79

7.91

65,

790.

774

5,77

5.88

66.

6470

842

1,53

0.22

6 1,

517.

733

1,51

3.88

44.

5543

27–8

0 80

0.

3 99

1.15

82

988.

1779

983.

159

2.40

0259

5,79

9.84

95,

791.

689

5,78

0.66

85.

3533

551

1,52

1.05

3 1,

516.

486

1,51

3.10

82.

1532

81–8

0 80

0.

5 98

7.66

89

985.

5264

982.

7848

1.

7034

88

5,

809.

521

5,78

7.96

25,

769.

879

13.1

5987

11,

520.

21

1,51

6.10

3 1,

512.

249

2.08

0164

–80

80

0.7

988.

8357

98

3.82

6 97

5.66

39

3.54

0498

5,80

6.09

75,

785.

395

5,75

6.14

413

.182

447

1,51

8.16

1,

516.

437

1,51

4.18

11.

1107

53–8

0 80

0.

9 98

6.07

9 97

7.29

5196

4.18

97

6.52

1925

5,80

1.32

85,

763.

656

5,73

7.94

518

.986

88

1,51

6.55

5 1,

515.

613

1,51

2.91

41.

2262

76

Page 22: Mohammed M.S. El-Kholany and Hisham M. Abdelsalam* cuckoo search algorithm; non-dominated cuckoo search. Reference to this paper should be made as follows: El-Kholany, M.M.S. and Abdelsalam,

Multi-objective binary cuckoo search for constrained project portfolio 839

Table 4 Comparison of the results when nests are 30 with changing in other parameters

Bene

fit

Cos

t Ti

me

Lowe

r bo

und

Upp

er

boun

d Pr

obab

ility

of

mut

atio

n M

ax.

Mea

n M

in.

Std.

dev

.

Max

. M

ean

Min

. St

d. d

ev.

Max

. M

ean

Min

. St

d. d

ev.

–20

20

0.1

991.

7239

98

7.86

8 98

1.78

18

2.86

6446

5,80

3.76

45,

791.

843

5,78

2.86

97.

1716

436

3,

107.

923

3,06

3.18

2 3,

047.

364

16.8

1777

–20

20

0.3

991.

0356

98

8.92

8498

7.33

15

1.20

5594

5,80

2.28

55,

790.

405

5,76

6.44

39.

5578

279

2,

3191

.75

5,05

8.90

4 3,

033.

531

6371

.234

–20

20

0.5

991.

7991

98

8.61

6398

5.79

64

1.78

0851

5,83

3.49

15,

796.

96

5,77

8.85

414

.596

894

3,

095.

649

3,05

5.53

2 3,

038.

955

18.9

2565

–20

20

0.7

990.

1801

98

6.28

6498

1.89

84

2.63

1955

5,79

9.95

55,

788.

823

5,77

7.66

45.

7852

698

3,

059.

988

3,05

4.49

2 3,

048.

487

3.19

8519

–20

20

0.9

984.

967

978.

8382

968.

6163

5.

4565

77

5,

824.

146

5,78

6.41

85,

742.

853

28.4

6528

1

3,07

0.51

7 3,

059.

04

3,05

4.44

35.

2016

32–5

0 50

0.

1 99

1.08

68

989.

5971

986.

8096

1.

3407

45

5,

796.

902

5,79

0.78

15,

779.

585

5.89

9594

5

3,03

6.14

3 3,

033.

196

3,02

7.87

2.

4887

39–5

0 50

0.

3 98

9.90

57

988.

3758

986.

1309

1.

2609

48

5,

799.

15

5,79

3.13

65,

783.

936

4.61

5638

8

3,16

3.21

3,

079.

412

3,02

4.58

155

.509

04–5

0 50

0.

5 99

3.02

85

988.

7539

985.

2251

1.

9793

07

5,

799.

998

5,79

0.89

75,

757.

399

12.3

8285

6

3,36

7.13

6 3,

089.

855

3,02

5.92

511

8.98

37–5

0 50

0.

7 98

8.69

08

982.

9333

977.

6218

3.

2149

53

5,

798.

48

5,78

6.54

55,

754.

107

12.2

2914

7

3,03

7.64

5 3,

032.

178

3,01

9.88

5.

3017

–50

50

0.9

988.

0815

97

9.96

1397

3.28

89

4.85

108

5,

817.

118

5,79

0.52

95,

763.

778

16.3

7154

7

3,19

5.22

9 3,

049.

675

3,02

6.21

851

.317

41–8

0 80

0.

1 99

1.71

44

988.

7605

986.

81

1.45

0011

5,80

1.19

35,

789.

569

5,76

6.59

911

.718

499

3,

062.

609

3,03

6.90

6 3,

021.

754

10.2

979

–80

80

0.3

991.

3641

98

8.97

0498

5.82

57

1.39

244

5,

798.

132

5,79

1.53

85,

777.

449

6.72

0887

6

3,03

8.71

9 3,

035.

685

3,02

8.73

33.

6039

2–8

0 80

0.

5 98

9.56

53

988.

5119

987.

3685

0.

7986

27

5,

800.

091

5,79

2.08

25,

785.

741

4.41

3083

7

3,10

0.14

5 3,

042.

494

3,02

8.06

520

.982

5 9–8

0 80

0.

7 98

7.80

72

985.

2154

980.

5489

2.

7905

65

5,

795.

328

5,78

7.67

95,

765.

598

9.22

9687

5

3,14

7.19

4 3,

064.

328

3,03

5.02

746

.627

94–8

0 80

0.

9 99

0.45

76

979.

1688

971.

4306

4.

7314

84

5,

828.

054

5,77

7.17

25,

740.

396

29.9

6057

3,16

4.99

7 3,

068.

826

3,02

7.12

47

.281

63

Page 23: Mohammed M.S. El-Kholany and Hisham M. Abdelsalam* cuckoo search algorithm; non-dominated cuckoo search. Reference to this paper should be made as follows: El-Kholany, M.M.S. and Abdelsalam,

840 M.M.S. El-Kholany and H.M. Abdelsalam

Table 5 Comparison of the results when nests are 40 with changing in other parameters

Bene

fit

Cos

t Ti

me

Lowe

r bo

und

Upp

er

boun

d Pr

obab

ility

of

mut

atio

n M

ax.

Mea

n M

in.

Std.

dev

.

Max

. M

ean

Min

. St

d. d

ev.

Max

. M

ean

Min

. St

d. d

ev.

–20

20

0.1

990.

323

987.

2743

983.

9721

2.

1671

72

5,

804.

002

5,79

0.05

25,

767.

796

11.8

6769

84,

061.

993

4,05

6.03

5 4,

046.

847

5.61

2353

–20

20

0.3

992.

4726

98

9.83

3698

7.72

78

1.42

7608

5,80

7.46

95,

794.

397

5,78

5.52

15.

9830

88

4,64

9.20

9 4,

133.

3 4,

047.

163

183.

1729

–20

20

0.5

990.

3186

98

8.50

5 98

6.60

14

1.11

0835

5,79

7.23

15,

793.

711

5,78

8.85

53.

0463

107

4,09

7.89

4,

057.

155

4,04

6.28

315

.523

61–2

0 20

0.

7 98

9.81

69

986.

7681

982.

059

2.69

0178

5,81

2.69

35,

796.

441

5,78

1.15

79.

7933

094

4,46

2.22

8 4,

155.

238

4,05

4.44

612

3.08

23–2

0 20

0.

9 98

6.05

32

979.

895

973.

5053

3.

9865

64

5,

812.

769

5,78

9.87

55,

769.

804

12.7

2196

14,

093.

296

4,03

3.98

9 4,

008.

749

25.4

019

–50

50

0.1

991.

9674

98

8.82

1298

4.60

22

1.96

3199

5,79

7.80

25,

788.

659

5,76

9.49

59.

4952

713

4,04

2.74

2 4,

034.

361

4,03

1.36

33.

2309

03–5

0 50

0.

3 99

2.79

24

989.

6892

985.

374

1.97

9109

5,80

2.92

55,

794.

23

5,78

6.43

27.

1942

518

4,04

0.20

4 3,

873.

68

3,70

1.12

15

9.39

2 8–5

0 50

0.

5 98

9.96

34

988.

3461

987.

246

0.90

1532

5,80

2.66

25,

796.

261

5,78

8.25

84.

7458

108

4,04

0.75

8 3,

834.

515

3,69

5.48

615

3.39

86–5

0 50

0.

7 99

0.83

76

985.

9545

980.

8108

2.

5870

98

5,

826.

364

5,79

3.19

25,

772.

801

15.2

7492

83,

923.

59

3,78

8.34

8 3,

701.

893

100.

0902

–50

50

0.9

987.

4219

98

1.52

4497

5.80

63

3.88

1341

5,80

5.63

55,

781.

187

5,74

6.00

216

.381

57

3,89

1.51

3 3,

753.

854

3,69

4.85

875

.649

55–8

0 80

0.

1 99

1.71

17

988.

7731

983.

6123

2.

3996

12

5,

798.

708

5,78

8.17

75,

759.

409

11.9

7316

63,

962.

657

3,78

1.46

8 3,

693.

105

89.5

8904

–80

80

0.3

989.

7307

98

8.20

6798

6.93

26

1.06

9611

5,80

3.46

15,

792.

865

5,78

3.85

17.

2219

727

85,7

87.6

1 12

,085

.21

3,70

9.95

925

896.

88–8

0 80

0.

5 99

0.54

11

988.

113

986.

6132

1.

0248

31

5,

801.

898

5,79

1.03

55,

779.

278

8.00

1781

14,

058.

443

4,03

9.46

9 4,

029.

463

8.29

7969

–80

80

0.7

989.

1051

98

6.47

5998

4.65

57

1.29

6431

5,80

6.83

15,

785.

127

5,75

7.75

913

.634

224

4,08

3.57

8 4,

053.

412

4,03

7.00

114

.735

89–8

0 80

0.

9 98

7.51

24

980.

2254

971.

7595

4.

7770

2

5,82

4.13

55,

797.

035

5,76

0.42

322

.823

754

4,20

8.79

4,

125.

136

4,05

8.56

148

.811

8

Page 24: Mohammed M.S. El-Kholany and Hisham M. Abdelsalam* cuckoo search algorithm; non-dominated cuckoo search. Reference to this paper should be made as follows: El-Kholany, M.M.S. and Abdelsalam,

Multi-objective binary cuckoo search for constrained project portfolio 841

The framework was tested first on a single objective using different parameters: number of nests (varying population size n = 10, 15, 30 and 40); lower and upper bound limits (–20, –50, –80, 20, 50 and 80); and probability of mutation (pm = 0.1, 0.3, 0.5, 0.7 and 0.9). For comparison purposes, the framework was set to stop after 400 iterations. Ten runs were conducted for each experiment (setup) statistics of results (minimum, mean, maximum and standard deviation of benefit, cost and CPU time in seconds) were reported in Tables 2 to 5.

Table 2 (population size ten nests) shows that the proposed algorithm was able to outperform that of Shakhsi-Niaei et al. (2011) with mean value of the benefit exceeding 976.2985 on 13 setups out of 15. Some instances, the proposed algorithm was able to reach a benefit value 993.0412 which is 1.714% better than that reached in Shakhsi-Niaei et al. (2011). Regarding the computational time, proposed algorithm needed 17.21 minutes on the average which 54.71% faster than the time reported in Shakhsi-Niaei et al. (2011). Increasing the population size did not improve the maximum value of benefit significantly while computational time was increased as shown in Tables 3 to 5.

4.2.1 Effect of lower and upper bound

Figures 13(a), 13(b), 13(c) and 13(d) clarify the relationship between lower and upper bound with benefit with changing of number of nests 10, 15, 30 and 40 respectively. We observed that changing of lower and upper bound has no effect on the benefit or the cost. Due to the binary nature of this optimisation problem; regardless of increasing the lower and upper bound, all values are converted to 0 or 1.

Figure 13 Graphical comparison of the objective function values with changing upper and lower limits

(a)

Page 25: Mohammed M.S. El-Kholany and Hisham M. Abdelsalam* cuckoo search algorithm; non-dominated cuckoo search. Reference to this paper should be made as follows: El-Kholany, M.M.S. and Abdelsalam,

842 M.M.S. El-Kholany and H.M. Abdelsalam

Figure 13 Graphical comparison of the objective function values with changing upper and lower limits (continued)

(b)

(c)

(d)

Page 26: Mohammed M.S. El-Kholany and Hisham M. Abdelsalam* cuckoo search algorithm; non-dominated cuckoo search. Reference to this paper should be made as follows: El-Kholany, M.M.S. and Abdelsalam,

Multi-objective binary cuckoo search for constrained project portfolio 843

Figure 14 Graphical comparison of the objective function values with changing of probability of mutation

(a)

(b)

(c)

Page 27: Mohammed M.S. El-Kholany and Hisham M. Abdelsalam* cuckoo search algorithm; non-dominated cuckoo search. Reference to this paper should be made as follows: El-Kholany, M.M.S. and Abdelsalam,

844 M.M.S. El-Kholany and H.M. Abdelsalam

Figure 14 Graphical comparison of the objective function values with changing of probability of mutation (continued)

(d)

4.2.2 Effect of probability of mutation

Probability of mutation has largest share in influencing as it was observed in Figure 14; best benefit obtained with probability of mutation 0.1 and 0.3. On the contrary, increasing probability of mutation to 0.7 and 0.9 decreases the quality of results.

4.2.3 Effect of nest size

The size of the nests has an effect mainly on computational time. In Figure 15, the best number of nests achieving maximum benefit is 40 despite the few differences between the benefit of nests 30 and 40 and between 20 and 50 upper bound. Lower and upper bound are –80 and 80 and nest size 30 achieves the maximum benefit with 0.1 and 0.3 probability of mutation as shown in Figure 15(c).

Figure 15 Graphical comparison of the objective function values with changing number of nests

(a)

Page 28: Mohammed M.S. El-Kholany and Hisham M. Abdelsalam* cuckoo search algorithm; non-dominated cuckoo search. Reference to this paper should be made as follows: El-Kholany, M.M.S. and Abdelsalam,

Multi-objective binary cuckoo search for constrained project portfolio 845

Figure 15 Graphical comparison of the objective function values with changing number of nests (continued)

(b)

(c)

4.2.4 Solution improvement

As shown in Figure 16, the benefit with best parameters through first 100 iterations are plotted to clarify the improvement of the PF. Using the same experiment, the benefit is stored per 40 iterations through 400 iterations to clarify the improvement of the results with time shown in Figure 17.

Based on the above analysis, we may conclude that the best combination of parameters that maximises benefit is 0.3 probability of mutation through nests 10, 15, 30 and 40.

Page 29: Mohammed M.S. El-Kholany and Hisham M. Abdelsalam* cuckoo search algorithm; non-dominated cuckoo search. Reference to this paper should be made as follows: El-Kholany, M.M.S. and Abdelsalam,

846 M.M.S. El-Kholany and H.M. Abdelsalam

Figure 16 Benefit of 40 nests for first 100 iteration

400

500

600

700

800

900

1000

1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58 61 64 67 70 73 76 79 82 85 88 91 94 97 100

Figure 17 Benefit every 40 iterations over 400 iterations

940

950

960

970

980

990

1 2 3 4 5 6 7 8 9 10

4.3 Performance of the PF compared to GA

The PF was used to solve the same PPS problem with different scales:40, 80 and 150 projects. The best parameters in the previous experiments were run ten times. As the PF is based on a meta-heuristic technique, the objective was to evaluate its performance against another meta-heuristic technique that was presented recently by Shakhsi-Niaei et al. (2015). The results were compared to GA that originally had a better performance in the comparison with DEA. Moreover, GA demonstrated proficiency in terms of the practical application by selecting a better portfolio of projects and consuming lower amount of budget.

Page 30: Mohammed M.S. El-Kholany and Hisham M. Abdelsalam* cuckoo search algorithm; non-dominated cuckoo search. Reference to this paper should be made as follows: El-Kholany, M.M.S. and Abdelsalam,

Multi-objective binary cuckoo search for constrained project portfolio 847

Figure 18 shows a box plot diagram representing the performance of the PF compared to that of the GA in relation to a three-problem set: 40 projects, 80 projects and 150 projects. As shown in the smallest set (20 projects), there exists almost no difference in the results. However, as the number of projects increases, GA finds difficulties reaching good results compared to the PF. GA could not find a feasible solution with the 150 projects because the penalty function used to handle the segmentation failed to find a feasible solution. The results showed that the PF outperforms GA.

Figure 18 Performance of the PF compared to GA

4.4 Multi-objective optimisation results

The results showed that it is important to deal with the problem as a multi-objective optimisation problem by considering each criterion as a separate objective. In this dataset, there are five objective functions, namely: cost; methodology; abilities of personnel; scientific and actual capability; and technical capability. All objectives are normalised in range from 1 to 100 and the project with the minimum cost has the maximum normalised coefficient for cost objective. The problem aims to achieve the following objective functions:

The first objective function is intended to minimise the total cost of selected projects represented by equation (10).

Page 31: Mohammed M.S. El-Kholany and Hisham M. Abdelsalam* cuckoo search algorithm; non-dominated cuckoo search. Reference to this paper should be made as follows: El-Kholany, M.M.S. and Abdelsalam,

848 M.M.S. El-Kholany and H.M. Abdelsalam

1

Minn

i ii

C c x=

=∑ (10)

The second objective function is used to maximise the efficiency level of selected project planning shown in equation (11).

1

Max n

i ii

M m x=

=∑ (11)

The third objective function is intended to maximise the experience of selected project team represented in equation (12).

1

Max exp expn

i ii

x=

=∑ (12)

The fourth objective function is proposed to maximise the level education for the team of selected project shown in equation (13).

1

Max n

i ii

Cap cap x=

=∑ (13)

Finally, the objective function (5) is designed to maximise the technical facilities for selected projects as shown in equation (14).

1

Max n

i ii

T tech x=

=∑ (14)

In equations (10–14), ci, mi, expi, capi and techi are the performance values for each project in respect of cost, methodology, abilities of personnel, scientific capability and technical capability respectively. Each performance value for each project follows a uniform distribution with a different range. So, we applied the normalisation concept in order to unify the evaluation of the projects. The PF was applied to the problem at hand and the results were compared with the MOPCS that was developed by Yang and Deb (2013). MOPCS was selected as a basis for such comparison since it was reported to show the best performance on a set of well-chosen test functions compared to several other algorithms.

For the sake of comparison, the two algorithms (MOPCS and the proposed MOCS framework) were set to run ten times with the best parameters selected for each algorithm; from Yang and Deb (2013) for the MOPCS and those from the sensitivity analysis in this paper for the PF. Results of both algorithms were joined together in one set and then, all Pareto sets were ranked. Figure 19 shows the distribution of solutions through the ranks of domination. The figure shows that solutions obtained by the proposed MOCS framework representing approximately 75% from all combined solutions and they exist in rank 1 and rank 2. On the other side, MOPCS results represent 25% and only 5% was in rank 1.

Page 32: Mohammed M.S. El-Kholany and Hisham M. Abdelsalam* cuckoo search algorithm; non-dominated cuckoo search. Reference to this paper should be made as follows: El-Kholany, M.M.S. and Abdelsalam,

Multi-objective binary cuckoo search for constrained project portfolio 849

Figure 19 Distribution of solutions through ranks of domination

0%

20%

40%

60%

80%

100%

Rank 1 Rank 2 Rank 3 Rank 4 Rank 5

MOP CS

Proposed

In Figure 20, results of the proposed MOCS framework were compared with those of the MOPCS in each rank separately. In rank 1, more than 90% of solutions are obtained by the proposed MOCS framework and only 10% or less of solutions are obtained by MOPCS. In ranks 3–5, solutions of the proposed MOCS framework have low percentage compared to the solutions of MOPCS. Figure 21 shows that around 70% of the solutions of the proposed MOCS framework are in rank 1 and 28% in rank 2 and only 2% of these solutions are between ranks 3 and 4. On the other hand, only 18% of MOPCS solutions are in first rank and around 60% in ranks 2 and 3.

Figure 20 Percentage of solutions of PF compared to MOPCS in each rank separately

0%

20%

40%

60%

80%

100%

Rank 1 Rank 2 Rank 3 Rank 4 Rank 5

MOP CS

Proposed

Page 33: Mohammed M.S. El-Kholany and Hisham M. Abdelsalam* cuckoo search algorithm; non-dominated cuckoo search. Reference to this paper should be made as follows: El-Kholany, M.M.S. and Abdelsalam,

850 M.M.S. El-Kholany and H.M. Abdelsalam

Figure 21 Percentage of solutions of (PF and MOPCS) separately through ranks

0%

20%

40%

60%

80%

100%

Rank 1 Rank 2 Rank 3 Rank 4 Rank 5

MOP CS

Proposed

As the Pareto optimal set is not known, we applied a measurement named relative efficiency measure to evaluate the performance of our PF against MOPCS by counting the Pareto solutions, identified by first algorithm, dominated by those identified by the second algorithm (Nicoară, 2007).

OP1∗ is the Pareto solutions identified by the PF

OP2∗ is the Pareto solutions identified by MOPCS

OP∗ the Pareto optimal solutions found by both methods

Comm the Pareto set common to both methods

N1 the set of solutions in OP1∗ which have no dominance with solutions in OP2

N2 the set of solutions in OP2∗ which have no dominance with solutions in OP1

Dom1 be the solutions sets in OP1∗ that dominate the solutions in OP2

Dom2 be the solutions sets in OP2∗ that dominate the solutions in OP1

The contribution of our PF relative to MOPCS is the ratio of the solutions in OP∗ produced by the PF in the following equation (15).

1 1

1 1 2 2

1 1

2(Proposed/MOPCS)

2

Comm Dom NCont

C Dom N Dom NComm Dom N

OP∗

+ +=

+ + + +

+ +=

(15)

If the two methods provide the same solution, then the result will be 12

and if the

solutions provided by MOPCS are dominated by solutions produced by our PF, then we found that Cont(MOPCS / Proposed) = 0.

Page 34: Mohammed M.S. El-Kholany and Hisham M. Abdelsalam* cuckoo search algorithm; non-dominated cuckoo search. Reference to this paper should be made as follows: El-Kholany, M.M.S. and Abdelsalam,

Multi-objective binary cuckoo search for constrained project portfolio 851

After applying this measurement on our problem we found that Cont (Proposed / MOPCS) = 0.931 and Cont(MOPCS / Proposed) = 0.073.

A qualitative measures based on approximations of the Pareto optimal set was proposed by Nicoară (2007). It was shown that the PF strongly dominates MOPCS because the solutions provided by MOPCS are either equal or dominated by the solutions produced by the PF. It can be concluded that the proposed MOCS framework is more efficient than the MOPCS proposed by Yang and Deb (2013) because the PF has the opportunity to keep the best solutions for the next iteration. Let us assume that the current iteration is t and there are 40 nests and in iteration t + 1, 40 nests are generated. The selection of nests for the next generation is based on combining the nests from the current and previous iterations and ranking them using NSGA II and then selecting the first 40 nests. In the MOPCS, the selection of nests is based on comparing each nest in iteration against the corresponding nest in iteration t + 1.

5 Conclusions and future work

This paper introduced a framework that integrates a new binary CS optimisation algorithm with MC simulation to solve a constrained project portfolio problem with uncertainty consideration. Two functions were added to binary CS to avoid being trapped in local optimal solutions and to decrease the needed population size so, accordingly, decreasing computational time. When compared to published results using a single objective approach, the results of the PF outperformed those reported by PROMETHEE (Shakhsi-Niaei et al., 2011) on a large size (40 projects) and also, outperformed reported results by GA (Shakhsi-Niaei et al., 2015) on large-scale problems as well. For the multi-objective case, the results arrived at by the proposed algorithm proved to dominate those obtained by MOPCS (Yang and Deb, 2013).

There are several ways to encourage further exploration of this work in the future. One way is to extend the mathematical model to consider time windows and multi-point planning instead of the single planning unit currently considered. Another way is to enhance the concept of the CS algorithm by allowing it to accept solutions with worse results in order to enhance its ability to explore and get global optimal solutions. Finally, recently developed optimisation algorithms that shares some similarities with CS and that showed successful implementation when applications relevant to PPS – e.g., Wang and Zheng (2017) – can be compared with the algorithm presented here.

References Archer, N.N.P. and Ghasemzadeh, F. (1999) ‘An integrated framework for project portfolio

selection’, International Journal of Project Management, Elsevier, Vol. 17, No. 4, pp.207–216.

Arratia, M.N.M., Lopez, I.F., Schaeffer, S.E. and Cruz-Reyes, L. (2016) ‘Static R&D project portfolio selection in public organisations’, Decision Support Systems, Vol. 84, pp.53–63.

Boros, E. and Hammer, P.L. (2002) ‘Pseudo-Boolean optimisation’, Discrete Applied Mathematics, Vol. 123, Nos. 1–3, pp.155–225.

Ceyda Güngör, Ş. and Erkan Can, G. (2011) ‘A simulation based optimisation methodology for information system project selection problem’, in Trends in the Development of Machinery and Associated Technology, pp.241–244.

Page 35: Mohammed M.S. El-Kholany and Hisham M. Abdelsalam* cuckoo search algorithm; non-dominated cuckoo search. Reference to this paper should be made as follows: El-Kholany, M.M.S. and Abdelsalam,

852 M.M.S. El-Kholany and H.M. Abdelsalam

Civicioglu, P. and Besdok, E. (2013) ‘A conceptual comparison of the Cuckoo-search, particle swarm optimization, differential evolution and artificial bee colony algorithms’, Artificial Intelligence Review, Vol. 39, No. 4, pp.315–346.

Deb, K., Pratap, A., Agarwal, S. and Meyarivan, T. (2002) ‘A fast and elitist multiobjective genetic algorithm: NSGA-II’, IEEE Transactions on Evolutionary Computation, Vol. 6, No. 2, pp.182–197.

Doerner, K., Gutjahr, W.J., Hartl, R.F., Strauss, C. and Stummer, C. (2004) ‘Pareto ant colony optimisation: a metaheuristic approach to multiobjective portfolio selection’, Annals of Operations Research, Vol. 131, Nos. 1–4, pp.79–99.

El-kholany, M.M.S. and Abdelsalam, H.M. (2015) ‘Optimal project portfolio selection using binary cuckoo search algorithm’, in MIC 2015: The XI Metaheuristics International Conference.

Feng, Y., Jia, K. and He, Y. (2014) ‘An improved hybrid encoding cuckoo search algorithm for 0-1 knapsack problems’, Computational Intelligence and Neuroscience, Vol. 2014, p.1.

Gandomi, A.H., Yang, X.S. and Alavi, A.H. (2013) ‘Cuckoo search algorithm: a metaheuristic approach to solve structural optimization problems’, Engineering with Computers, Vol. 29, No. 1, pp.17–35.

George, M., Mavrotas, G. and Pechak, O. (2013) ‘The trichotomic approach for dealing with uncertainty in project portfolio selection: combining MCDA, mathematical programming and Monte Carlo simulation’, International Journal of Multicriteria Decision Making, Inderscience, Vol. 3, No. 1, pp.79–96.

Gutjahr, W.J. and Reiter, P. (2010) ‘Bi-objective project portfolio selection and staff assignment under uncertainty’, A Journal of Mathematical Programming and Operations Research, Vol. 59, No. 3, pp.417–445.

Huang, X., Xiang, L. and Islam, S.M.N. (2014) ‘Optimal project adjustment and selection’, Economic Modelling, Elsevier B.V., Vol. 36, pp.391–397.

Khalili-Damghani, K., Tavana, M. and Sadi-Nezhad, S. (2012) ‘An integrated multi-objective framework for solving multi-period project selection problems’, Applied Mathematics and Computation, Elsevier Inc., Vol. 219, No. 6, pp.3122–3138.

Layeb, A. (2011) ‘A novel quantum inspired cuckoo search for knapsack problems’, International Journal of Bio-Inspired Computation, Vol. 3, No. 5, p.297.

Layeb, A., Lahouesna, N. and Kireche, B. (2013) ‘A multi-objective binary cuckoo search for bi-criteria knapsack problem’, International Journal of Information Engineering and Electronic Business, Vol. 5, No. 4, pp.8–15.

Medaglia, A.L., Graves, S.B. and Ringuest, J.L. (2007) ‘A multiobjective evolutionary approach for linearly constrained project selection under uncertainty’, European Journal of Operational Research, Vol. 179, No. 3, pp.869–894.

Nicoară, E.S. (2007) ‘Performance measures for multi-objective optimization algorithms’, Buletinul Universităţii Petrol–Gaze din Ploieşti., Seria Matematică-Informatică-Fizică, Vol. 59, No. 1, pp.19–28.

Ouaarab, A., Ahiod, B. and Yang, X.S. (2014) ‘Discrete cuckoo search algorithm for the travelling salesman problem’, Neural Computing and Applications, Vol. 24, Nos. 7–8, pp.1659–1669.

Perez, F. and Gomez, T. (2016) ‘Multiobjective project portfolio selection with fuzzy constraints’, Annals of Operations Research, Vol. 245, Nos. 1–2, pp.7–29.

Rabbani, M., Aramoon Bajestani, M. and Baharian Khoshkhou, G. (2010) ‘A multi-objective particle swarm optimisation for project selection problem’, Expert Systems with Applications, Elsevier Ltd., Vol. 37, No. 1, pp.315–321.

Raychaudhuri, S. (2008) ‘Introduction to Monte Carlo simulation’, 2008 Winter Simulation Conference, pp.91–100.

Rocha, M. and Neves, J. (1999) ‘Preventing premature convergence to local optima in genetic algorithms via random offspring generation’, International Conference on Industrial, Engineering and Other Applications of Applied Intelligent Systems, May, No. 1611, pp.127–136, Springer Berlin Heidelberg

Page 36: Mohammed M.S. El-Kholany and Hisham M. Abdelsalam* cuckoo search algorithm; non-dominated cuckoo search. Reference to this paper should be made as follows: El-Kholany, M.M.S. and Abdelsalam,

Multi-objective binary cuckoo search for constrained project portfolio 853

Roy, S. and Sinha Chaudhuri, S. (2013) ‘Cuckoo search algorithm using Lèvy flight: a review’, International Journal of Modern Education and Computer Science, Vol. 5, No. 12, pp.10–15.

Sardou, I.G., Nazari, A., Ghodsi, E. and Bagherzadeh, E. (2015) ‘Optimal Portfolio selection using multi-objective fuzzy-genetic method’, International Journal of Econometrics and Financial Management, Vol. 3, No. 2, pp.99–103.

Shakhsi-Niaei, M., Shiripour, M. and Iranmanesh, S.H. (2015) ‘Application of genetic and differential evolution algorithms on selecting portfolios of projects with consideration of interactions and budgetary segmentation’, International Journal of Operational Research, Vol. 22, No. 1, pp.106–128.

Shakhsi-Niaei, M., Torabi, S.A. and Iranmanesh, S.H. (2011) ‘A comprehensive framework for project selection problem under uncertainty and real-world constraints’, Computers and Industrial Engineering, Elsevier Ltd., Vol. 61, No. 1, pp.226–237.

Stewart, T.J. (2016) ‘Multiple objective project portfolio selection based on reference points’, Journal of Business Economics, Springer Berlin Heidelberg, Vol. 86, Nos. 1–2, pp.23–33.

Tofighian, A.A. and Naderi, B. (2015) ‘Modeling and solving the project selection and scheduling’, Computers and Industrial Engineering, Elsevier Ltd., January, Vol. 83, pp.30–38.

Wang, L. and Zheng, X. (2017) ‘A knowledge-guided multi-objective fruit fly optimisation algorithm for the multi-skill resource constrained project scheduling problem’, Swarm and Evolutionary Computation, pp.1–21.

Yang, X.S. and Deb, S. (2009) ‘Cuckoo search via Lévy flights’, In Nature & Biologically Inspired Computing, NaBIC 2009, World Congress on, December, pp.210–214, IEEE.

Yang, X.S. and Deb, S. (2013) ‘Multiobjective cuckoo search for design optimisation’, Computers and Operations Research, Elsevier, Vol. 40, No. 6, pp.1616–1624.

Yang, X.S. and Deb, S. (2014) ‘Cuckoo search: recent advances and applications’, Neural Computing and Applications, Vol. 24, No. 1, pp.169–174.