Vous êtes sur la page 1sur 15

A new discrete imperialist competitive

algorithm for QoS-aware service composition in


cloud computing
Fateh Seghir1 , Abdellah Khababa1 Jaafer Gaber2 , Abderrahim Chariete2 , and
Pascal Lorenz3
1

University of Ferhat Abbas Setif-1, Campus El Bez. Setif 19000, Algeria


seghir.fateh@gmail.com & khababa abdlh@yahoo.fr
University of Technology Belfort-Montbeliard, 90010 Belfort Cedex, France
jaafar.gaber@utbm.fr & charieteabderrahim@gmail.com
3
University of Haute Alsace, 68008 Colmar, France
pascal.lorenz@uha.fr

Abstract. In this paper, an effective Discrete Imperialist Competitive


Algorithm (DICA) is proposed to solve the QoS-aware cloud service composition problem, which is known as a non-polynomial combinatorial
problem. To improve the global exploration ability of DICA, as inspired
by the solution search equation of Artificial Bee Colony (ABC) algorithm, a new discrete assimilation policy process is proposed, and differently from the assimilation strategy of the original ICA, colonies moved
toward their imperialists by integrating information of other colonies
in the moving process. To enhance the local exploitation of DICA and
to accelerate the convergence of our algorithm, the proposed assimilation process is also applied among imperialists. The performance of the
proposed DICA is evaluated by comparing DICA with other recent algorithms, and the obtained results show the effectiveness of our DICA.
Keywords: Cloud Service Composition, Quality of Service (QoS), Optimization, Imperialist Competitive Algorithm (ICA)

Introduction

The QoS-aware Cloud Service Composition (QCSC) problem is very important


in cloud computing and service oriented architecture, which is a combinatorial
multi-objective optimization problem [1, 2]. The QCSC involves the selection
of atomic cloud services to construct a composite service in order to solve a
complex goal by simultaneously optimizing some objectives, where each objective
is related to an attributes Quality of Service (QoS) of the selected cloud services,
such as cost, response time, availability and throughput. . . etc.
Traditionally, the QCSC problem has been solved using Mixed/Integer linearProgramming (MILP) approaches [3, 4]. The MILP methods are very strong and
can obtain optimal solutions for the solved problems, but these approaches suffer from the problem of scalability entailed by the huge search space of cloud

II

services on the net, which limits the MILP methods to a certain extent. Recently, and with a view to addressing this issue, a new type of methods, namely
optimization methods have been proven to be more effective to solve the QCSC
problem. This kind of approaches can get near-optimal global solutions with a
reasonable response time, so, it has aroused the interest of academia in the past
few years. Various studies using optimization approaches have been proposed
to solve the QCSC problem, e.g. Particle Swarm Optimization (PSO) [2], Ant
Colony optimization (AC) [5], Genetic Algorithm (GA) [6]. . . etc.
In recent years, an evolutionary algorithm, the Imperialist Competitive Algorithm (ICA), has been put forward by Esmaeil and Lucas [7], which is inspired
by the sociopolitical process of imperialistic competition. It has proven to be
more effective to solve some academic and engineering optimization problems.
An overview is provided in [8]. Referring to the literature reviews, there are only
two works about the ICA for solving the QCSC problem proposed by A. Jula
et al in [9, 10]. In [9], a hybrid approach using ICA and an improved gravitational attraction search is presented to solve the QCSC problem, In the said
study only two QoS criteria are considered in the optimized objective function:
Execution time and Execution fee. In [10], a Classified Search Space Imperialist Competitive Algorithm (CSSICA) is proposed to tackle the QCSC problem.
Due to the huge search space of QCSCs problem, the cloud service repository is
classified into three categories using the PROCLUS clustering algorithm, which
is based on service time values of all provided single services. The clustering step
is extremely helpful in the ICA part of CSSICA insofar as it permits more appropriate solutions to be obtained for the QCSC problem. Compared with other
evolutionary algorithms, ICA has attracted the attention of many researchers in
the past few years, given that it has a superior performance in many applications
[8]. However, the classical ICA presents the population stagnation phenomena
caused by the imperialists absorption policy [11]. Moreover, it is developed to
resolve the continuous optimization problems, so, developing a new discrete version of ICA to solve the QCSC problem is our motivation in this study.
In this study, a new Discrete Imperialist Completive Algorithm (DICA) is
proposed to solve the QCSC problem through improving the global exploration
search of the original ICA and adjusting it to solve the QCSCs combinatorial
problem. First, the initial population is randomly generated and classified into
two classes: imperialists and countries. Next, to improve the global exploration
ability of our DICA, a novel discrete assimilation policy process is proposed.
Subsequently, with a view to enhancing the local exploitation of DICA and to
accelerate the convergence of our algorithm, the proposed absorption process is
also performed among imperialists. Finally, the experimental results show that
the DICA is more effective and can obtain near-optimal global solution with an
acceptable CPU-time compared to other recent algorithms in the literature.
The remainder of this paper is organized as follows: In section 2 the QCSC
problem is described after a succinct introduction of the canonical algorithm
ICA. In section 3, the proposed algorithm is explained in details. In section 4,

III

our experimental results are shown. Finally, the conclusion and the future works
are given in section 5.

2
2.1

ICA and the QCSC problem formulation


The imperialist competitive algorithm (ICA)

ICA is a novel evolutionary search algorithm that simulates the process of sociopolitical behavior of countries [7], which has been applied to solve several
optimization problems [8]. At the beginning of the algorithm, an initial population of countries is randomly generated, after that, each country which represents
a unique solution to the solved problem is calculated according to its cost function. Next, some of the best countries are chosen in population as imperialists,
whereas the other countries are considered as colonies of theses imperialists.
The colonies are dispersed among the mentioned imperialists to construct empires by using a simple assignment procedure. The number of assigned colonies
for an imperialist is defined according to its power, where the best imperialist
has greater number of colonies compared to weak imperialist. After distributing
all colonies among imperialists, each colony starts to move toward its related
imperialist. This process of moving is called the assimilation or absorption
process. To prevent the population falling into local optimum, like the mutation
operator in GA, ICA has a revolution process, in which some of colonies for
each empire are affected by making a change of their sociopolitical characteristics. During the movement of colonies, it may be the case that a colony gets the
best position (best cost) compared to its relevant imperialist. So a swapping of
positions between that colony and its imperialist is applied. This process of exchanging positions between imperialists and their colonies in ICA is referred to
as the updating positions process. The imperialistic competition process
augments the survival chance of powerful empires through possession of other
colonies whilst it leads to the collapse of the weakest empires through loss of
their colonies. During the competition process, the larger empires experience an
increase in their power with a concomitant decrease in the power of the weaker
ones, and when the latter lose all their colonies, the collapsing process is invoked by eliminating these empires. All mentioned processes are repeated for
each evolution (i.e. iteration) until the ending criterion of the ICA is satisfied.
2.2

The QCSC problem formulation

The following notations are used in the rest of this paper:


ACSC = {T1 , T2 ,. . ., Tn }, denotes an abstract cloud service composition,
where Ti(i=1,2,...n) are the elementary tasks that comprise it and its size is n
abstract services. For each task Ti , a set Si =(CSi1 , CSi2 , . . ., CSim ) of m
concrete services having the same functionalities with different QoS values
is associated to it, where CSij represents the jth cloud service in the set Si .

IV

The set QoS = {q1 , q2 ,. . . qr } of r proprieties for each cloud service CS


can be categorized into two sub-sets: positive and negative QoS parameters,
denoted as QoS + and QoS respectively, where for each positive QoS, larger
values indicate higher performance (e.g. throughput) while for negative QoS,
smaller values indicate higher performance (e.g. response time).
The set GCst = {Cstq1 , Cstq2 , . . . , Cstqk } represents the global constraints
defined by the end-user, where Cstqt with t k and k r is the global QoS
constraint over the QoS criterion qt . eg. The response time of the optimal
composite cloud service must be less than 20 ms (i.e. CstRes T ime = 20 ms).
For each attribute qt QoS, a related users preference wqtPis given, which
r
is representing the weight value of qt , with wqt [0, 1] and t=1 wqt = 1.
Since several QoS attributes must be optimized simultaneously, the objective
of QCSC aims to find the best Composite Cloud Service CCS = (CS1j1 , CS2j2 ,
. . . , CSnjn ) which can maximize the overall positive QoS attributes and minimize
the negative QoS attributes by selecting each concrete cloud service CSiji (ji
[1, m]) associated to each task Ti from the set Si , where these selected services
satisfy the global QoS constraints GCst. From such a perspective, the QCSC can
be formulated as a multi-objective optimization problem. In our study the multiobjective QCSC problem is modeled as a single-objective optimization one by
using the Simple Additive Weighting (SAW) [12] method which can be written
as follow:
Pr
max : Score(CCS)
= t=1 Q(CCS)qt wqt

Q(CCS)qt Cstqt if qt QoS
(1)
s.t : t = 1...k
Q(CCS)qt Cstqt if qt QoS +
where:

Score(CCS) is the global score value of the concrete CCS.


r indicates the number of QoS attributes.
wqt is the weight value for the qt , which is specified by the end-user.
k represents the number of constraints.
Q(CCS)qt is the normalized aggregate QoS of the CCS in the tth attribute.
Cstqt GCst is the user QoS specified constraint related to the tth attribute.

The normalized aggregate QoS of the CCS for the negative and positive QoS
attributes are given in (Eqs. 2 and 3) respectively:
(
agg(qtmax )agg(qt )
max
) 6= agg(qtmin )
max )agg(q min ) if agg(qt
agg(q
t
t
Q(CCS)qt =
(2)
1
if agg(qtmax ) = agg(qtmin )
(
Q(CCS)qt =

agg(qt )agg(qtmin )
agg(qtmax )agg(qtmin )

if agg(qtmax ) 6= agg(qtmin )
if agg(qtmax ) = agg(qtmin )

(3)

Where
agg(qtmax ) and agg(qtmin ) are evaluated by aggregating the maximum/minimum
values of qt for each set Si corresponding to the tasks Ti of CCS.

The overall aggregate QoS of each CCS in the tth attribute (i.e. agg(qt )) is
evaluated according to the type of interconnection structures among the atomic
cloud services of CCS (i.e. sequential, parallel, conditional and loop models) as
shown in Fig. 1. Table. 1 illustrates the aggregate formulas for some positive and
negative QoS criteria [24]. As far as simplicity is concerned, only the sequential
model is taken into account, where other type of models can be converted into
sequential ones by using techniques cited in existing studies[4].

Fig. 1. Composition models

Table 1. Aggregation formulas applied for some QoS attributes


Parameter (qt )

Type of interconnection structures among cloud services


n sequential
m parallel
call service csi
call a service

qt = Price

services
Pn j
q
i=1 P rice,i

services
P
m
j

qt = Response time

Pn

qt = Availability

j
(qAva,i
)r

qt = Reliability

M ax(qTj ime,i )
m
qj
i=1 Ava,i
m
qj
i=1 Rel,i
j
M inm
i=1 (qT hr,i )

j
(qRel,i
)r

qt = Throughput

qj
i=1 T ime,i
n
qj
i=1 Ava,i
n
qj
i=1 Rel,i
j
M inn
i=1 (qT hr,i )

q
i=1 P rice,i

with pi probability csi r times


P
m
j
j
i=1
Pm

qP rice,i pi

For the conditional call of m services csi(i=1...m) with pi probabilities:

r qP rice,i

qj
pi
i=1 T ime,i
m
j
q
pi
i=1 Ava,i
m
j
q

pi
i=1 Rel,i
j
m
M ini=1 (qT hr,i pi )

r qTj ime,i

qTj hr,i

Pm
i=1

pi = 1.

The proposed algorithm (DICA)

In this section, the components of our proposed DICA for solving the QCSC
problem are explained in details.

VI

3.1

Initialization of empires (initial population)

In the population, each individual representing a solution for the QCSC is called:
a country. A country is expressed by an array of integers. Each integer (j{j =
1 . . . m}) in the array presents the selected service (CSij ) from its related concrete
services set (Si{i=1...n} ). Fig. 2, illustrates an example of a country representing
a concrete CCS of six abstract cloud services. In this study an initial population
(i.e. initial countries) of size P opSize is generated randomly. In the generated

Fig. 2. Array integer encoding of solution

population, each country (cont) can be evaluated as follow:



0.5 + 0.5 Score(cont)
if cont is a feasible solution
Cost(cont) =
0.5 Score(cont) P n(cont) if cont is an infeasible solution
(4)
where, Score(cont) is the score value of cont, which is refer to the sum formula
given in Eq. 1 and P n(cont) is introduced in the Cost function of cont to guarantee the feasibility of countries by giving the feasible solutions more cost value
than the infeasible ones. The defined penalty function in our paper is given in
Eq. 5.

0
if all constraints are verified
Pk
P n(cont) =
2
Csts
(cont)

p
q
q
t
t If at least one constraint is not verified.
t=1
(5)
Where
Pk
pqt(t=1...k) [0, 1] is the penalty coefficient with t=1 pqt =1
Cstsqt (cont) is the amount value of the violation biased by cont for the
criterion qt which is calculated as given in Eq. 6.
( max(0,Cstq agg(qt ))
t
if qt QoS +
Cstqt
Cstsqt (cont) = max(0,agg(q
(6)
t )Cstqt )
if qt QoS
Cstq
t

VII

In Eq. 6, agg(qt ) is the value of the aggregate QoS of cont for the QoS criterion
qt where Cstqt is the positive or negative constraint value for this attribute.
After evaluating all the countries of the initial population, the best countries
of size P opImp are selected to be the imperialists and the other countries
of size P opCol where (P opCol = P opSize-P opImp) represent the colonies of
these imperialists which are distributed to those imperialists according to their
powers. In order to define the initial number of colonies for each imperialist, the
roulette wheel selection mechanism of the genetic algorithm is used to distribute
the colonies to the imperialists. By way of consequence, the best imperialists have
a greater number of colonies compared to the weaker imperialists. An empire
is formed by one imperialist and its colonies. To allocate the colonies to the
imperialists, the following pseudo-code simulating the roulette wheel selection
mechanism is applied:
Step 1.
1. Calculate the normalized cost of each imperialist impn as follow:
N Cimpn = Cost(impn ) min(Cost(imps ))

(7)

where Cost(impn ) is the cost of the nth imperialist given in Eq. 4 and
min(Cost(imps )) denotes the minimum cost value of all imperialists.
N Cimpn
.
2. Forming the vector P = [P1 , P2 , . . . , PP opImp ] where Pn = PP opImp
i=1

N Cimpi

3. Forming the vector CP = [CP1 , CP2 , . . ., CPP opImp ], where CPi is the
cumulative power of each imperialist which is defined in Eq. 8.

CP1 = P1
(8)
CPi = CPi1 + Pi
i = 2 . . . P opImp
Step 2.
For k = 1 . . . P opCol
1. Generate randomly the real number (rand) in the interval [0, 1].
2. Assign the kth colony to the ith imperialist impi , such that CPi1 <
rand CPi .
End For.
3.2

Discrete assimilation policy process

In the ICA algorithm, the assimilation process is modeled by moving colonies


of empires toward their related imperialists, the reason for this moving is to
increase the power of colonies by assimilating the culture and social-structure of
their imperialists. Thus the whole algorithm converges at high speed, as result,
the stagnation of population in a local optimum occurs with ease [11]. To improve the global search of colonies i.e. the exploration ability of our algorithm,
we perform the moving of colonies in the research space by integrating information of other colonies in the moving process of these colonies toward their
associated imperialists. Alternatively worded, colonies operate a simultaneous

VIII

assimilation of some sociopolitical information from their imperialists and the


neighbor colonies of their empires alike. This new process of moving is inspired
by the solution search equation of Artificial Bee Colony (ABC) algorithm [13].
The assimilation policy of the original ICA is developed for continuous optimization problems, but the QCSC is a combinatorial problem. So, we must
adjust the moving of colonies and make it adapt to solving our problem. The
new assimilation process in the discrete situation is given in Eq. 9. Each colony
assimilates some sociopolitical characteristics from a random selected colony in
the corresponding empire (i.e. the third term on the right-hand side of Eq. 9),
and the related imperialist (i.e. the second term on the right-hand side of Eq. 9).
e
e
e
e
e
N Colij
= Colij
+ b(impej Colij
) + (RColkj
Colij
)c

(9)

In Eq. 9, j is a dimension selected randomly from ndimensional vector j


e
[1 . . . n], n is the number of abstract services, Colij
denotes the jth element of
the ith colony attached by the eth empire e [1 . . . SE], SE is the current size
e
of empires, impej denotes the jth element of the eth imperialist, RColkj
denotes
the jth element of the kth colony attached by the eth empire (k is randomly
selected from the colonies of empire e, such that k 6= i), is the assimilation
coefficient with a value greater than 1 and close to 2, is a random number
within the range [0, 1] and is a random number between [0, 1]. The new index
e
value N Colij
representing the selected service from the candidate set Sj must be
e
an integer number. So, in order to get an integer value for N Colij
, the rounding
e
down operation b c is applied in Eq. 9. If N Colij is less than 1 or greater than
m where m is the number of concrete cloud services in the set Sj , then we will
e
set the value of N Colij
as follows:

e
1 if N Colij
<1
e
N Colij
=
(10)
e
m if N Colij
>m
The positions cost value of the assimilated colony (i.e. N Colie ) will be evaluated
using the cost function given in Eq. 4. Like the greedy selection strategy of the
ABC algorithm [13], this new colony will replace its old position (i.e. Colie ) if its
cost value is better than its previous cost; otherwise the assimilated colony will
take its former position. So, the difference between our proposed assimilation
and the classical assimilation policy process lies in the fact that the colonies
movement will be applied if the new position of the moved colony is ascertained
to give more power to its empire. The applied greedy selection strategy between
the old and new positions of colonies is described in Eq. 11.
if Cost(N Colie ) > Cost(Colie ) : Colie = N Colie and Cost(Colie ) = Cost(N Colie )
(11)
3.3

Moving of imperialists toward strongest imperialist

In the classic ICA algorithm, the assimilation policy process is performed only
for colonies toward their imperialists. There is no interaction and exchanging of

IX

socio-structure among empires. But in the real world, weak imperialists try to
improve their characteristics by assimilating some economic and sociopolitical
characteristics from other empires and in particular from the strongest one. This
imperialist assimilation policy increases the power of weak empires and increases
their survival capability during the competition process, so, the local exploitation
of the DICA is enhanced, as a result, the convergence of the proposed algorithm
to the near-optimal global solution is accelerated. In this study the proposed
discrete assimilation policy is performed for the ith imperialist (Impi ) toward
its strongest imperialist (StImp) as shown in Eq. 12 :
N Impij = Impij + b(StImpj Impij ) + (Impkj Impij )c

(12)

To accept the movement of each imperialist, the same previous greedy selection
mechanism is employed between the old position of this imperialist and its new
position.
3.4

Revolution

To prevent the population falling into a local optimum, which increases the
exploration ability of the proposed algorithm, revolution operators are performed
on some colonies which dont improve their sociopolitical characteristics (like
language and culture) through a predetermined number of evolutions (T ), i.e.
colonies not absorbed by their imperialists. The proposed revolution operator in
this study is as follows:
Step 1. For each colony (Coli ), assign to it an update iteration number (T riali )
and let T riali = 0.
Step 2. In each evolution process of our DICA, set the T riali for each Coli
as follows: if the Coli updates its position, set the T riali to zero; otherwise,
increase it.
Step 3. Find the colony which does not updated its position after T iterations
(T riali > T ), if there is more than one, select one randomly, and replace the
selected colony with a new randomly generated one.
3.5

Empires competition process

Both, the power of the imperialist country and the power of its colonies are used
to define the total power of an empire, which is evaluated by making an addition
between the power cost of the imperialist country and a percentage of average
power costs of its colonies. Eq. 13 shows the definition of the total power of an
empire Empn .
T PEmpn = Cost(Impn ) + mean(Cost(colonies of empire Empn ))

(13)

In Eq. 13, T PEmpn is the total power of the nth empire, is a number between
0 and 1, the larger the value of the higher the effect of colonies on the power
of Empn .

Fig. 3. Imperialistic competition.

In the imperialistic competition process, a competition between strong empires gets under way to secure some (usually one) of weak colonies from the
weakest empire; this process of competition improves the power of the strong
empires and decreases the power of the weak ones. When all the colonies of the
weakest empire are attracted by the strong ones, the imperialist of this weak empire will be in turn possessed by the more powerful ones, by way of consequence,
the weaker empires will collapse. Fig. 3 depicts this strategy of competition. It
can be seen from this figure that the weakest colony of the weakest empire (i.e.
empire 1) is under competition among the remaining empires (empires 2 . . . n).
The winning empire in this competition is the (empire n). In order to find the
victor empire which takes the weakest colony, we need to calculate the possession
probability of each empire, which is defined as follows:




N T Pempn


P Sempn = PP opImp
(14)


N T Pempi
i=1
where, P Sempn is the possession probability of the nth empire and N T Pempn is
its normalized total power which is described as follow:
N T Pempn = T Pempn min(T Pempi )

(15)

where T Pempn is the total power of the nth empire and min(T Pempi ) denote the
minimum total power value among all empires (i = 1 . . . P opImp).
After evaluating the possession probabilities of all empires, the same mechanism of roulette wheel selection discussed in sub-section 3.1 is applied by using
these probabilities in order to find the winning empire.
3.6

The ending criterion of DICA

Several stopping criteria can be used to end a meta-heuristic algorithm such as:
1. Fixing a specific time to stop the meta-heuristic algorithm;
2. A large number M axItr is defined as the maximum number of iterations;
3. The proposed DICA algorithm can also be terminated in the following fashion: when all empires are eliminated, except for the most powerful one, its
near-global optimal solution represents the best solution returned by the
DICA.

XI

Pertaining to our proposed DICA, the second criterion is utilized to effect its
termination.
3.7

The framework of the proposed algorithm

In the following, the running steps of our proposed DICA are detailed:
Step 1. Initialize the algorithms parameters: Population size (P opSize),
number of imperialists (P opImp), colonies average cost coefficient (), the
assimilation coefficient (), the trial number of revolution (T ) and the maximum number of iteration (M axItr).
Step 2. Generate randomly the initial population (P op), evaluate the cost
value of each country in P op and create the initial empires as discussed in
subsection 3.1.
Step 3. If the DICAs ending criterion is reached, terminate our proposed
algorithm and return the best solution; otherwise, perform steps 4 to 9.
Step 4. In order to move colonies toward their associated imperialists, apply
the proposed discrete assimilation process between each colony, a random
selected colony in the corresponding empire and its related imperialist as
discussed in subsection 3.2.
Step 5. To accelerate the convergence of the proposed DICA and enhance
the local exploitation of the DICA algorithm, apply the same discrete assimilation policy process for each imperialist toward its strongest imperialist as
discussed in subsection 3.3.
Step 6. Perform the revolution operator for colonies of empires as discussed
in subsection 3.4.
Step 7. For each colony, calculate the cost value of its new position, if it
is better than its related imperialist, exchange positions between it and its
relevant imperialist.
Step 8. For each empire, calculate its total power, find the weakest colony
of the weakest empire and make it under competition among imperialists as
discussed in subsection 3.5.
Step 9. Return to Step 3.

Experiments

Two data-sets taken into consideration to validate and illustrate the performance
of our proposed algorithm to solve the QCSC problem.
QWS data-set: it is a real data-set collected by E. Al-Masri et Q.H. Mahmoud [14], in which 2507 web service were provided. In this data-set, and
for each web service, nine QoS criteria including throughput, availability,
response time, . . . ect are used to present the QWSs QoS model. In our
study, four QoS parameters (i.e. the response time, the availability, the reliability and the throughput) are selected to perform the experiments on this
data-set.

XII

Random data-set: in order to make sure that the experimental results


obtained by our proposed algorithm are not biased for the used QWS dataset, where this QoS data-set contains only 2507 atomic services that is a small
one in some extent, a large random data-set denoted as QWR, is generated
consisting of simulating 20.000 atomic cloud services. For simplicity, each
cloud service considers four QoS attributes: the price, the response time, the
reliability, and the availability as the QoS model, where their random values
in each experiment were generated randomly in the ranges [20,1500](ms),
[2,15]($), [95,100](%) and [40,100](%) respectively.
In the following simulations, and for these two data-sets, it is easy to add or
replace the used criteria in order to extend the QoS model without modifying
the proposed service composition algorithm. The weights of the used attributes
are initialized with the same value (e.g. for a QoS model with four attributes
(wqt(t=1...4) = 0.25)) and by referring to the study in [5], the constraint violation
(Cstqt ) for each (qt ) is evaluated according to the following equation :

(agg(qtmax ) agg(qtmin )) + agg(qtmin ) if qt QoS +
Cstqt =
(16)
agg(qtmax ) (agg(qtmax ) agg(qtmin )) if qt QoS
where () denotes the severity of the global QoS constraint for qt (heare, its
value is set to 0.4).
A PC with an Intel(R) Core i3 CPU 1.9 GHz, 4 GB RAM, Windows 10 (64
bit) system and MATLAB R2013a is used to perform all experiments.
To validate the performance and the effectiveness of our DICA, we compared
it with GA [6], PSO [2] and ICA [15]. Table 2 details the initial parameter
setting of the compared algorithms. To end these algorithms, M axItr is set to
1000. Several experiments are used to verify the performance of DICA. Each
Table 2. The initial values of the algorithms parameters
Algs
GA[6]

Parameters values
P opSize=100, Pc =0.7 and Pm =0.01

PSO[2] P opSize=100, for C1 , C2 and the Inertia weight refer to [2].


ICA[15] P opSize=100, P opImp=10, Pc =0.7 , Pm =0.2 and =0.05
DICA

P opSize=100, P opImp=10, =0.05, =2 and T =100.

experiment consists of simulating a sequential ACSC with (n) abstract services,


in which the relating set of concrete services for each abstract service has (m)
concrete services. By varying the value of these parameters, the results were
collected to be analyzed where each unique combination of these two parameters
represents one simulation of the concerned experiment. The results obtained in
our simulations are average and have been repeatedly reoccurring 20 times. For
the above data-sets, Two scenarios are considered to set the values of n and m
as illustrated in Table 3.

XIII
Table 3. The values of n and m for the two scenarios in WSQ and WSR data-sets
Data-set The first scenario (SN1)
QWS
QWR

The second scenario (SN2)

m=100 and n differs from 5 to 25 n=20 and m differs from 25 to 125


with an increase of 5.
with an increase of 25.
m=800 and n differs from 5 to 25 n=20 and m differs from 200 to
with an increase of 5.
1000 with an increase of 200.

Fig. 4. Optimality comparisons.

4.1

Optimality comparisons

As shown in Fig. 4, the average best cost values of our DICA is better than
the average best cost values of the other algorithms for the two scenarios on
the both data-sests: the real and the random ones, i.e. fixing the number of
concrete cloud services and incrementing the number of abstract cloud services
as shown in Fig. 4(a)& Fig. 4(c) and vise-versa as seen in Fig. 4(b)& Fig. 4(d).
It is also observed from this figure, that when the number of abstract services
is with a large value, our DICA returns a feasible solution; whereas, the others
return infeasible ones (i.e. in Fig. 4(a) & Fig. 4(c),and for n=25, the average
cost value of DICA is greater than 0.5, by inverse, it is less than 0.5 for the
other algorithms). Moreover, the DICA presents a good stability compared to
the other approaches (i.e. In Fig. 4(b) & Fig. 4(d), when the number of abstract
services is fixed with a value of 20 the variance of the DICA is not affected
by the increasing of the number of concrete services, which is very small than
the variances of GA,ICA and PSO approaches). From these results, the DICA is
optimal than the other algorithms on the obtained near-optimal global solutions.

XIV

Fig. 5. Computation time comparisons.

4.2

Computation time comparaisons

From Fig. 5, it can be seen that the ICA algorithm is very slower compared to
the DICA, GA and PSO algorithms. Our DICA is very competitive to the GA
algorithm, where there is a negligible computation time difference among them
as shown in Fig. 5(a), Fig. 5(c) and Fig. 5(d). Except for the experiment seen
in Fig. 5(b), GA is slightly faster than DICA in four variations of the number
of concrete services per five variations, but as can be observed from their related fitness values from Fig. 4(b) of the above optimality comparisons section,
the average cost values of our DICA is more important than the average fitness
values of GA. As a result, the DICA has a good tradeoff between the quality of
near-optimal solution and its computation time compared to the GA algorithm.
The PSO algorithm has lees execution time for the two scenarios on the WSQ
and WSR data-sets, but with a very low fitness values for these scenarios.
Considering the previous comparisons results, we can conclude that our proposed algorithm is superior to the ICA, GA and PSO algorithms.

Conclusion and future works

In this study, a new Discrete Imperialist Competitive Algorithm (DICA) is proposed to solve the QoS-aware cloud service composition problem which is a nonpolynomial combinatorial problem. To prevent the DICA from converging to the
local optima, a novel discrete assimilation policy process is proposed which is
inspired by solution search equation of Artificial Bee Colony algorithm (ABC).
To improve the weak empires and furnish them with a greater chance of survival
during the competition process, the proposed absorption process is also applied
for imperialists and, by way of consequence; the local exploitation of our DICA

XV

is enhanced. Based on real-world and random datasets, our DICA is validated.


Comparison of the results of our DICA with other recent algorithms in the literature demonstrates its superiority. In our study, the QoS attributes are assumed
with fixed values. However, in real-situation, some QoS may be imprecise for
many unexpected reasons, such as network connectivity and system congestion
. . .etc. So, our future work tends to improve DICA to deal with uncertain QoS.

References
1. A. Jula, E. Sundararajan, Z. Othman, Cloud computing service composition:
A systematic literature review. Expert Systems with Applications. 41(8), 3809
3824(2014)
2. F. Tao, D. Zhao, Y. Hu, and Z. Zhou, Resource Service Composition and Its
Optimal-Selection Based on Particle Swarm Optimization in Manufacturing Grid
System. IEEE Transactions on Industrial Informatics. 4(4), 315327(2008)
3. D. Ardagna, B. Pernici, Adaptive Service Composition in Flexible Processes. IEEE
Transactions on Software Engineering. 33(6),369384(2007)
4. M. Alrifai , T. Risse, Combining Global Optimization with Local Selection for Efficient QoS-aware Service Composition . International World Wide Web Conference
Committee 2009. Madrid. Spain. pp. 881890.
5. Q. Wu, Q. Zhu, Transactional and QoS-aware dynamic service composition based
on ant colony optimization. Future Generation Computer Systems. 29, 1112
1119(2013)
6. G. Canfora, M.D. Penta, R. Esposito, M.L. Villani, An Approach for QoS-aware
Service Composition based on Genetic Algorithms. In: Proceedings of the conference
on genetic and evolutionary computation. SpringerBerlin. 106975(2005)
7. G. Esmaeil and C. Lucas, Imperialist competitive algorithm: an algorithm for optimization inspired by imperialistic competition. Proceedings of the 2007 IEEE
Congress on Evolutionary Computation. 46614667(2007)
8. S. Hosseini, A. Al Khaled, A survey on the Imperialist Competitive Algorithm metaheuristic: Implementation in engineering domain and directions for future research.
Applied Soft Computing. 24, 10781094(2014)
9. A. Jula, Z. Othman, E. Sundararajan, A Hybrid Imperialist CompetitiveGravitational Attraction Search Algorithm to Optimize Cloud Service Composition.
In: Memetic Computing (MC), IEEE Workshop. 3743(2013)
10. A. Jula , Z. Othman , E. Sundararajan, Imperialist competitive algorithm with
PROCLUS classifier for service time optimization in cloud computing service composition. Expert Systems with applications. 42, 135145(2015)
11. C.H. Chen, W.H. Chen, Bare-bones imperialist competitive algorithm for a compensatory neural fuzzy controller. Neurocomputing. 173, 15191528(2016)
12. M. Zeleny, Multiple Criteria Decision Making. McGraw-Hill. New York. 1982
13. D. Karaboga, B. Basturk, A powerful and efficient algorithm for numerical function
optimization: artificial bee colony (ABC). Journal of Global Optimization. 39, 459
471(2007)
14. E. Al-Masri, Q.H. Mahmooud, Investigating Web Services on the World Wide Web,
17th International Conference on World Wide Web (WWW), Beijing, April 2008,
pp. 795804.
15. B.M. Ivatloo, A. Rabiee, A. Soroudi, M. Ehsan, Imperialist competitive algorithm
for solving non-convex dynamic economic power dispatch, Energy, 44 ,228240(2012)

Vous aimerez peut-être aussi