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,
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
818 European J. Industrial Engineering, Vol. 11, No. 6, 2017
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]
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
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
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.
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.
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
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
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)
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)
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).
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
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+ ≤
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
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
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
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)
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.
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.
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} 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.
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
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.
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.
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
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
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
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
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)
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)
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)
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)
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.
846 M.M.S. El-Kholany and H.M. Abdelsalam
Figure 16 Benefit of 40 nests for first 100 iteration
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.
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).
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.
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
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.
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.
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
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.