Anda di halaman 1dari 8

2013 IEEE 20th International Conference on Web Services

An Improved Artificial Bee Colony Approach to QoS-Aware Service Selection

Xianzhi Wang, Zhongjie Wang, Xiaofei Xu


School of Computer Science and Technology
Harbin Institute of Technology
Harbin, China
{xianzhi.wang, rainy, xiaofei}@hit.edu.cn
solution ensures that the non-functional application
requirements can be satisfied at a feasible price.
The main challenge concerning SSP is the confliction
between pursuit for higher composition efficiency and the
ever-expanding search space. To satisfy service consumers
requirements on the fly, SSP algorithms should be able to
incorporate an unpredictable amount of requirements at realtime. While the proliferation of traditional Internetaccessible services poses perpetual challenges to SSP, the
rapid development of cloud-based services in recent years
further deteriorates the situation.
Regarding this challenge, heuristic algorithms, especially
swarm-based algorithms, are widely employed to solve SSP.
Among them, the artificial bee colony algorithm (ABC) has
drawn increasing attention for its distinctive simplicity and
prominent performance in solving numerical optimization
problems [1] (A survey of swarm-based algorithms is shown
in Table I). Though several efforts have been contributed to
applying ABC to SSP, a fundamental issue remains
unresolved. In particular, the advantages of ABC largely
depend on its local search ability, which requires the search
space comply with what we call optimal continuity property
of the solution space, i.e., similar variable values (or
neighboring solutions) should result in similar objective
values (or evaluation results). Unfortunately, we will show
that this property is not possessed by SSP. Such situation
impedes the advantages of ABC to be fully leveraged in
solving SSP.
Further, investigations reveal that existing approaches for
improving ABC commonly require introducing new
parameters. The consequence is increased control complexity
of ABC. More importantly, the core competitiveness of ABC,
i.e., simplicity, is unpreserved.
In this paper, we formally define the concept of optimal
continuity, and aim at resolving the mentioned problems
while preserving the simplicity of ABC. We find that the
cure lies in better neighborhood search strategies. We
propose an approximation-based approach with a greedy
neighborhood search strategy for ABC, so as to obtain a
search space analogical to that of continuous functions, so
that optimal continuity can be achieved with the simplicity of
ABC preserved. Two algorithms with different neighborhood
measures are presented based on this approach. To our best
knowledge, this is the first to identify the concept of optimal
continuity and use it consciously for improving ABC.

AbstractAs available services accumulate on the Internet,


QoS-aware service selection (SSP) becomes an increasingly
difficult task. Since Artificial Bee Colony algorithm (ABC) has
been successful in solving many problems as a simpler
implementation of swarm intelligence, its application to SSP is
promising. However, ABC was initially designed for numerical
optimization, and its effectiveness highly depends on what we
call optimality continuity property of the solution space, i.e.,
similar variable values (or neighboring solutions) result in
similar objective values (or evaluation results). We will show
that SSP does not possess such property. We further propose
an approximation approach based on greedy search strategies
for ABC, to overcome this problem. In this approach,
neighboring solutions are generated for a composition greedily
based on the neighboring services of its component services.
Two algorithms with different neighborhood measures are
presented based on this approach. The resulting neighborhood
structure of the proposed algorithms is analogical to that of
continuous functions, so that the advantages of ABC can be
fully leveraged in solving SSP. Also, they are pure online
algorithms which are as simple as canonical ABC. The
rationale of the proposed approach is discussed and the
complexity of the algorithms is analyzed. Experiments
conducted against canonical ABC indicate that the proposed
algorithms can achieve better optimality within limited time.
Keywords-QoS-aware service selection; artificial bee colony
algorithm; neighborhood search; approximation algorithms

I.

INTRODUCTION

Service Oriented Computing (SOC) represents a


paradigm where business functionalities are encapsulated
into interoperable services and reused directly for building
web-based applications through a standard publishing,
discovery, and composition process. As a key benefit of SOC,
the philosophy of service composition involves dynamic
selection and orchestration of Internet-scale available
services to provide composite services on demand. Such
composite services are capable of satisfying complex
requirements that cannot be fulfilled by individual services,
thus achieving higher-level business value.
Due to the existence of services with equivalent
functionality yet differed Quality of Service (QoS), QoSaware service selection (SSP) becomes crucial to business
success. By identifying an appropriate set of component
services for a specific composite workflow, an optimal SSP
978-0-7695-5025-1/13 $26.00 2013 IEEE
DOI 10.1109/ICWS.2013.60

395

TABLE I. A SUMMARY OF SWARM-BASED ALGORITHMS


Algorithm

Solution carrier

Optimization method

Control parameters

particles

particle position

using self-experiences and swarm


experiences to amend each particle move

SN, w, c1 , c2 , Vmax , Vmin ,

Ant colony
optimization

ants

path of ants

Simulated annealing

molecules

molecule position

Particle swarm
optimization

Searching carrier

using historical paths of the swarm to guide


individual ants path seeking
time-varying probability of accepting
inferior new positions
selection, crossing, and mutation of
individuals

MCN
SN,

D , E , U , K , MCN

SN, T0,

O,E

, MCN

chromosome
SN, D , E , MCN
Genetic algorithm
individuals
coding
Artificial bee colony
food source
foraging bees
exploration and exploitation to food sources
SN, SQ, MCN
algorithm
position
* SN is the size of searching carriers, MCN stands for the termination condition. The meaning of other parameters can be found in related books.

The remainder of this paper is organized as follows.


Section II introduces the background knowledge. Section III
discusses the proposed approach and presents related
algorithms. Section IV experimentally studies the proposed
algorithms in comparison with canonical ABC and discusses
the experimental results. Section V introduces the related
work. Finally, Section VI concludes the paper and remarks
future work.
II.

The basic process of ABC is shown below. In this


description, we replace the original termination condition,
MCN, with GSQ. Similar to SQ, GSQ is an integer indicating
that ABC terminates only when no better solution has been
found after GSQ cycles of consecutive iterations.
1: Set condition for sending scout bees, SQ
Set algorithms termination condition, GSQ
Set number of food sources, SN
2: /* initialization phase */
Initialize SN food sources
Evaluate the fitness of the food sources
3: WHILE (MSQ has not been reached)
4: /* employed bee phase */
FOR (each employed bee bee) // totally SN employed bees
produce a new food source position, namely bee*, by Eq.(1)
evaluate the fitness of bee*
keep the better one of bee and bee*, while abandon the other
END FOR
5: Calculate probability P for each food source by Eq.(3)
6: /* onlooker bee phase */
FOR (each onlooker bee bee) // totally SN onlooker bees
send bee to one of the food sources depending on P
produce a new food source, namely bee*, by Eq.(1)
evaluate the fitness of bee*
keep the better one of bee and bee*, while abandon the other
END FOR
7: /* scout bee phase */
IF(SQ has been reached for current food sources FS)
find the one with lowest fitness of FS, namely fs
send scout bee to find a random new food source by Eq.(2)
replace fs with the new food source
END IF
8: Memorize the best food source position achieved so far
END WHILE
9: RETURN the best food source position achieved

BACKGROUND

The following description of ABC and SSP in Section


II.A-B is based on existing literatures [2][3][4].
A. Artificial Bee Colony Algorithm (ABC)
ABC is a nature inspired algorithm introduced by D.
Karaboga in 2005 for solving multimodal multi-dimensional
numerical problems [2]. It achieves swarm intelligence by
simulating the foraging behavior of honey bees. Compared
with peering approaches, it requires less control parameters
and follows simpler steps, thus is intuitively easier to
implement. Extensive applications and comparative studies
show its high performance and accuracy [5][6], especially in
solving numerical optimization problems [1][7][8].
The basic concepts ABC involves food source and bee
colony, where the position of food sources represent possible
solutions. There are three parameters of ABC, i.e., the
number of food sources (SN), and the maximum cycle of
iteration (MCN), and the condition for sending scout bees
(SQ). Three types of bees exist in the colony, i.e., employed
bees, onlooker bees and scout bees. Employed bees are
responsible for exploiting (i.e., searching within the
neighborhood of) each current food source of interest to
perform local search. Onlooker bees exploit the current food
sources of interest probabilistically depending on evaluation
to the food sources, so as to enable evolution. Usually,
employed bees and onlooker bees each take half of the
population, and scout bees occur only when a food source
has been exploited consecutively for SQ cycles without
better food source found. Under such condition, this food
source would be abandoned and a scout bee would be sent to
explore a random new food source as replacement. Scout
bees ensure that ABC can jump out of local optimality.
Role transformation of bees is a unique characteristic of
ABC. For more details about role transformation, reader may
refer to [1][2][3].

In ABC, a neighboring food source is generated by


modifying a random parameter of the current food source
position according to the following equation:
vi , j xi , j  rand [1,1] ( xi , j  xk , j ) ,
j {1,2,..., D} , k z j and k {1,2,..., SN }
(1)
where xi is the i-th food source, vi is the resulting neighbor,
xk is a random food source different from xi, rand is a
random decimal generator within to specified range, and D
is the dimensionality of the problem.
A random new food source is generated as follows:
vi , j x min
 rand [0,1] ( x max
 x min
j
j
j ),

396

for all j 1,2,..., D


where vi is the resulting food source, x

(2)
max
j

and x

min
j

However, current ABC-based solutions for SSP generate


neighboring composite solutions by simply replacing a
random component service of the current solution of interest.
And the proximity of solutions is measured by the number of
identical counterpart services instead of by the closeness of
their fitness value. Fig. 1 b) shows an example where a
composite solution has eight neighbors, where {s11, s12, s13},
{s21, s22}, {s31, s32, s33} and {s41, s42, s43, s44} are candidate
services for each of the four tasks, respectively. We argue
that this neighborhood definition does not support optimality
continuity, because according to this definition, neighboring
solutions may have significantly different fitness due to the
possibly large difference between different services QoS.
This impedes the advantages of ABC to be fully leveraged in
solving SSP.
Furthermore, according to existing neighborhood
definition, the neighbor size is always equal to the candidate
service number minus one, so it cannot be manually
controlled. In studying topological structures for particle
swarm optimization (PSO), Kennedy theorized that
populations with fewer (neighborhood) connections might
perform better on highly multimodal problems, while highly
interconnected populations would be better for unimodal
problems [10]. If this theory were applicable to ABC, ABC
may not be suitable for multimodal problems when service
size is large and unimodal problems when it is small. The
dilemma is resulted by the uncontrollable neighbor size. To
achieve a controllable neighbor size, new neighborhood
definition is required.

are the

maximum and minimum value of j-th dimension,


respectively.
ABC employs Roulette Wheel Selection (RWS)
mechanism to determine destination food sources for
onlooker bees. The probability of each food source to be
selected is calculated by the following equation:
n
pi fiti / j 1 fit j , i {1,2,..., n}
(3)
where fiti is the fitness value of i-th employed bee and is
calculated as follows:
1  fi  f i t 0

1 / (1  abs ( fi )), f i  0

fiti

(4)

where fi is the objective function for i-th employed bee.


B. QoS-Aware Service Selection Problem
SSP is commonly recognized as a combinatorial
optimization problem which is NP-hard. Zeng et al. [4] did
some early studies and defined the basic concepts. Now SSP
is widely presented in a Mixed Integer Programming (MIP)
model for selecting services based on a predefined workflow.
Let M be the number of functionalities/task involved in
composite process, {wsu1 , wsu2 ,..., wsuN (u ) } be candidate services
for u-th task. The MIP model of SSP can be presented as:
D
N (u )
Maximize i 1 wi * Nor ( fi ( EP,{ v 1 puv wsuv |1 d u d M }))
s.t. fi ( EP,{ v

N (u )

D
i

puv wsuv |1 d u d M }) t Li , i 1,2,..., D ,

III.

w 1 , puv {0,1} , 1 d u d M , 1 d v d N (u ) ,
1 i

N (u )
v 1

puv 1 , 1 d u d M

Before introducing our approach, we formalize the


concept of optimality continuity in continuous functions as:
for any given 'y ! 0 , there exists a 'x | xi  x j | , satisfying

(5)

where wi is weight for the i-th attribute, { fi } are QoS


aggregation functions specific to the workflow. Nor is the
normalization function, and puv indicates whether or not the
v-th service is selected for the u-th task. For simplicity, we
consider only positive QoS attributes [9], single execution
path, i.e., EP, and single optimization objective in the model.

| f ( xi )  f ( x j ) | 'y , where f is a continuous function, xi and

xj are two variable values, xi , x j and 'x are vectors if f is


multidimensional.
Our approach is based on an approximation of above
definition. We formalize optimality continuity in SSP as:
given a predefined threshold 'y (! 0) , any given neighboring
solutions xi and xj satisfy | f ( xi )  f ( x j ) | 'y , where f is the

C. The Problem with Adopting ABC in SSP


As the basic principle of local search, the optimality
continuity property is well acquired by continuous functions
and ensures that ABC can achieve high convergence speed in
numerical optimization. For example, in Fig. 1.a), by finding
similar values {x1, x2} of x, function values similar to f(x),
i.e., f(x1) and f(x2), can be obtained.
f(x)
x

s11 s21 s32 s44

x2

x1

a) Continuous function

s13 s21 s32 s42


s13 s21 s32 s44

evaluation function, xi and x j are vectors if f is


multidimensional.
The approximation is realized by a greedy neighborhood
search strategy. Since a composite solution comprises
multiple tasks, the idea is to generate neighboring composite
solutions based on neighboring component services, i.e.,
given a composite solution CS composed by services {s1,
s2, , sM}, suppose NSi is the set of neighboring services of
si (i=1, 2, , M). The neighboring solutions of CS are a
cross product, i.e., NS1NS2NSM.

s13 s21 s32 s41

s12 s21 s32 s44

s13 s22 s32 s44

IMPROVED ARTIFICIAL BEE COLONY ALGORITHMS

s13 s21 s32 s43

s13 s21 s31 s44

A. The Rationale
We prove the rationale of our approach by providing
analogies to continuous functions.

s13 s21 s33 s44

b) SSP

Figure 1. Different neighbor search strategies of ABC

397

TABLE II. EXAMPLES IN CONTINUOUS FUNCTIONS

1) Is our approach correct in principle? Continuous


functions inherently possess optimality continuity property,
while SSP does not, due to the discrete characteristic of its
solution space. However, by defining greedy neighborhood
search strategy for SSP, an approximation to this continuity
can be achieved. So the optimization principle of continuous
functions and SSP are basically the same. The only
difference is that, in continuous functions, the continuity
inherently exists, while in SSP, the continuity is manually
constructed.
2) Is our approach theoretically inferior? Our approach
employs a greedy neighborhood search strategy, and
identifies neighbors as solutions with similar fitness rather
than those with similar coding. Obviously, under greedy
search strategy, not all solutions with sufficiently similar
fitness values with that of a current solution will be
identified as its neighbors. For example, suppose solution x
is represented by three dimension values {v1(x), v2(x), v3(x)},
3
and f ( x) i 1 vi ( x) is the fitness function. For x={9, 14,
20} and a difference vector 'x (2,2,2) , x1(10, 15, 22)
would be identified as xs neighbor because |9-10| d 2, |1415| d 2 and |20-22| d 2, while x2(6, 20, 19) would not because
|9-6|>2 and/or |14-29|>2, though its fitness is actually more
similar to that of x, i.e., f(x1)=47>f(x2)=45>f(x)=43.
The above fact might be frustrating. However, the
interesting point is, continuous functions face the exact same
fact. For general non-monotone functions, both unimodal
and multimodal, two very different variable values may
result in very similar function values, and this characteristic
cannot be captured by traditional local search. Table II
provides some examples verifying this point.
We argue that, in both continuous function optimization
and SSP, the complexity of finding the most similar solution
of a given solution using ABC is close to that of finding the
globally optimal solution, which is the original problem itself,
so greedy-based approximation is necessary for ABC to
avoid this complexity in solving SSP.
Based on above analysis, our approximation-based
approach is essentially the same as continuous function
optimization in term that not all solutions satisfying the
neighborhood definition are identified as neighbors.
However, our neighborhood definition has already achieved
optimal continuity in an approximation sense analogical to
that of continuous functions, so that the advantages of
canonical ABC can be fully leveraged in solving SSP.
We present two algorithms based on this approximation
approach. They share several common modifications to ABC,
yet differ in the specific neighborhood search methods used
for finding neighboring component services.

Continuous function

f ( x) 100  x , | x | 10
2

f ( x) 2 x 2  ( x  4) 2 , | x | 10

Numerical example

| f (2)  f (2) || f (1)  f (2) |


but | ( 2)  2 |!|1  2 |
| f (0)  f (2) || f (3)  f (2) |
but | 0  2 |!| 3  2 |

To be in detail, in step 4 and 6, neighbors of a given food


source CS=(s1, s2, , si) are obtained from the cross product
of CSs component services neighbors as follows:
CS * NS ( s1 ) u NS ( s2 ) u ... u NS ( sM )
(6)
*
where CS is the resulting neighbor, si is i-th component
service of CS, and NS(si) is a set of neighboring services of si.
In step 7, a random new solution is also a member of a
cross product:
CS * AS1 u AS2 u ... u AS M
(7)
*
where CS is the new solution, ASi is the set of all candidate
services for i-th task.
In both above equations, the neighbors of a composition
are formed by the combination of each component services
neighbors of the composition.
C. Threshold-based Algorithm (TBA)
TBA is a straight implementation of Definition 2 based
on greedy search principle. The rationale is that any gap in
compositions QoS can be achieved by sufficiently small
deviations in its component services QoS. It uses predefine
threshold to identify neighbors for component services.
Suppose s j is an arbitrary candidate service for j-th task.
In TBA, s*j is identified as a neighbor of sj if and only if:
| si , j  si*, j | TDi , j , for all i 1,2,..., D

(8)

*
i, j

where si , j and s are i-th attribute value of sj and s*j ,


respectively, TDj is a D-dimensional threshold for j-th task,
and TDi,j is i-th attribute value of TDj.
To unify the measurement for different attributes and
different tasks, TBA defines a common ratio E , so that
min
max
TDi,j= E | simax
and simin
, j  si , j | , where si , j
, j are the maximum
and minimum value of i-th dimension of j-th task,
respectively.
TBA requires one-pass scan to candidate services to
identify neighbors for a given service, so the time complexity
for each neighborhood search is O(ND), where N is the
number of functional-equivalent candidate services and D is
the dimensionality. On this basis, the complexity of TBA can
be presented as O( MCN (2SN  1) N D ) O ( MCN SN N D ) ,
where MCN is the expected maximal cycle of iteration,
2SN+1 is the maximal time for neighborhood/random search
during each cycle of iteration.

B. Common Modifications to Canonical ABC


Canonical ABC is for numerical optimization. To adapt it
to SSP, we code possible solutions following existing
method in [11], i.e., by M-dimensional vectors, where each
dimension represents a component service of the
composition. We also replace Eq. (1) and (2) with Eq.(6) and
(7), respectively.

D. Distance-based Algorithm (DBA)


Instead of identifying neighbors according to predefined
thresholds, DBA considers a fixed number of neighbors, i.e.,
k-nearest neighbors, each time. Given a component service s,
its neighbors are identified as the services with the same
functionality and top-k shortest distances with it, i.e.,

398

TABLE III. NOTATIONS FOR EXPERIENTIAL PARAMETERS

Neighbors(s)={s| d(s, s)>k-th minimal value of { d(s, any


functional equivalent s*)}. The distance between services s
and s* is measured as follows:
d ( s, s* ) max(| s1  s1* |,| s2  s2* |,...,| sD  sD* |)
(9)

Notation
M
N
k

where d(s, s*) is the resulting distance, si and si* are


normalized i-th attribute value of s and s*, respectively, i=1,
2, , D.
Because only one neighbor would be actually selected
from the k nearest neighbors each time, instead of finding all
the top-k nearest services, DBA only identifies the l-th
nearest service (l=rand[1, k]) each time by employing
BFPRT, i.e. the median of medians algorithm [12]. BFPRT
achieves a time complexity of O(ND) in the worst case, the
time complexity of DBA is O( MCN SN N D ) .
Though multiple component services of a given solution
be replaced at the same time to derive a neighboring solution
for TBA and DBA, the resulting time complexity is severe,
i.e., O ( MCN SN N D M ) . Thats why in above
description, both TBA and DBA change only one random
component service each time to derive a neighboring
solution.
IV.

Opt ( Al )

Meaning
Number of tasks
Number of candidate services per task
Predefined neighbor size for DBA
Threshold ratio for TBA

Maximum _ fitness _ achieved _ by ( Al )


Optimal _ fitness _ of _ reference

(10)

Based on our modification to the termination condition,


the algorithms terminate only when they converges, so RoC
is measured by the computation time as follows:
RoC ( Al ) exp(  | terminate _ time( Al )  start _ time( Al ) |) (11)
Stability represents the algorithms consistency in terms
of Opt and RoC among multiple executions, and is defined as
inversely proportional to standard deviation (or STDEV for
short). In experiments, we evaluate stability by measuring
the opposite, i.e., STDEV of Opt and RoC, respectively.
C. Experimental Results
For comparative studies, in Figure 2, we compare the
performance of TBA, DBA and ABC with respect to N,
under M=10, k=50 and E 0.7 . The results indicate that
TBA outperforms ABC and DBA in optimality consistently,
but takes slightly more computation time than ABC under
N<500. The computation time of TBA approximately
doubles that of ABC when N reaches 1000. However, TBA
is nearly as stable as ABC in both Opt and RoC. In contrast,
DBA almost always achieves the worse optimality and
stability with the longest computation time in experiments.
In Figure 3, the three algorithms are further compared
with respect to M, under N=100, k=50 and E 0.7 . The
results show that TBA achieves apparent better optimality
and less computation time, while ABC and DBA have very
similar performance. The results also indicate that ABC
behaves more stable in Opt, and TBA in RoC.
To explore the impact of algorithm-specific parameters to
the proposed algorithms, we study the performance of TBA
under different values of E (from 0.1 to 1), and DBA under
different value of k (from 10 to 100), both under M=10 and
N=100. The results are shown in Figure 4 and Figure 5,
respectively. It can be seen from Figure 4 that, the optimality
of TBA climbs rapidly to the peak when E reaches 0.4, yet
slightly declines as E continues growing. The latter two
charts of Figure 4 indicate that there is an interval of E , i.e.,
[0.5, 0.7], where the stability of TBA stays steady and high.
Figure 5 shows that both optimality and computation
time of DBA increase as the value of k grows. However, the
stability in Opt tends to decrease while that in RoC tends to
be stable as the value of k grows.
To study the impact of different distance measures, DBA
implemented based on different distance measures are
compared under different values of k. The results in Figure 6
show that the optimality achieved by the three methods is
approximately the same. However, the currently adopted
distance measure, i.e., the Min-value based one represented
by Eq. (9), apparently does not lead to the best RoC.

EXPERIMENTS AND DISCUSSION

In this section, we present the experiments to evaluate


our approach in comparison with canonical ABC (we will
hereafter call it ABC for short), as well as study how the
parameters impact the proposed algorithms.
A. Experimental Setting
All experiments are conducted on Microsoft Windows
XP Pro., Intel Core Dual CPU 1.83 GHz and 1.00GB
RAM. The program is implemented based on the java
version of basic ABC provided by D. Karaboga et al. [13].
To ensure impartiality of results, 10,000 services are
generated to form a sufficiently large dataset (This size is
competitive to major datasets appeared in peering works),
where each service has four QoS attributes (i.e., response
time, reliability, throughput, and price). The attribute values
ranges arbitrarily from 1 to 1000.
We simulate generic composite processes of different
sizes by randomly combining parallel and sequence
structures [4] into embedded workflows, and create test cases
by assigning random values for global constraints. First, the
average value of each attribute is calculated for each task
based on the generated services. Then the average values are
obtained by aggregating those values using methods in [4].
Finally, a global constraint is defined for each attribute to
specify its upper/lower bounds, either ranging randomly
from 0.9 to 1.1 times of the aggregated average value.
The notations to be used are listed in Table III.
B. Evaluation Criteria
The algorithms are evaluated in terms of Optimality
(Opt), Rate of Convergence (RoC) and Stability (Stb).
The theoretical highest fitness value is calculated as an
optimal fitness of reference for each parameter setting. On
this basis, the Opt of Al { ABC , TBA, DBA} is defined as:

399

Figure 2. Performance w.r.t the number of services

Figure 3. Performance w.r.t. the number of tasks

Figure 4. TBAs performance w.r.t ratio E

Figure 5. DBAs performance w.r.t. neighbor size k

Figure 6. DBAs performance w.r.t. the specific distance measurement method used

400

TABLE IV. COMPARING OE OF ALGORITHMS

D. Further Discussion
The superior optimality achieved by TBA in both Figure
2 and 3 verifies that the property of optimality continuity
helps in improving the optimality of ABC. Both TBA and
DBA have theoretically higher time complexity than ABC.
However, experimental results indicate that, in many cases,
e.g., as shown by the second chart of Figure 3, TBA exhibits
significantly higher and more stable performance than ABC.
The reason is that TBA often requires less cycle of iterations
to converge due to the possession of optimality continuity.
To verify the tradeoff led by increased per-cycle cost and
improved convergence speed, we further define optimization
efficiency (OE) as Opt/Computation time. Table IV shows
that each algorithms OE value with respective to task
number, and presents an improvement measure of TBA over
ABC by calculating IMP=(OE(TBA)-OE(ABC))/OE(ABC).
As can be seen from Table IV, TBA consistently
achieves at least 20% higher OE than ABC, meaning under
different thresholds of acceptable time defined in the
experiments, TBA can obtain better results. This reveals that
TBA is not sensitive to task number and is especially suitable
for solving complex problems with multiple decision points.
In contrast to TBA, the undesirable outcome of DBA in
the experiments does not necessarily suggest it is incorrect in
principle. The reason for DBAs inferior performance might
be that all the implemented distance measures are unsuitable
for DBA. Hopefully a new distance measurement method
can totally reverse the situation.

Task#
ABC
DBA
TBA
IMP

10
22
23
44
1

20
35
35
49
0.4

30
45
41
58
0.3

40
48
40
59
0.2

50
48
41
59
0.2

60
44
45
62
0.4

70
44
44
59
0.3

80
46
43
61
0.3

90
47
44
56
0.2

100
41
42
57
0.4

Above operators are applied to single food sources. As a


contrary, Yan et al. [3] borrow single point crossover
operator from GA into ABC, where new solutions are
produced by crossing existing solutions. Wang et al. [29]
further introduce mutation operators for job-shop scheduling.
Rahimi-Vahed et al. [30] use three different neighborhood
structures sequentially to improve ABCs local search ability.
More recently, Zhang et al. [31] propose a multi-exchange
neighborhood structure, where all existing food sources are
involved in generating new food sources each time.
2) Defining population topology structures: the effect of
various population topologies on PSO has been introduced
by Kennedy et al. [10] since 2002. In [32], they introduce
three types of topologies, i.e., Gbest, Lbest and Von
Neumann, where each individual has population_size-1, two
and four neighbors, respectively. Zou et al. [33] did some
preliminary work on using Von Neumann topology in ABC
for numerical optimization.
3) Defining adjustable neighborhood scale: Pisinger et
al. [34] and Prescott-Gagnon et al. [35] use different metaheuristics to achieve adaptive-large neighborhood search
(ALNS), respectively, so as to improve neighborhood search.
As a summary, existing ABC-based algorithms for SSP
simply borrow the neighborhood search from canonical ABC,
which leads to degraded optimality of ABC due to lack of
optimality continuity. Though several methods have been
proposed to improve the neighborhood search of ABC, they
are either too generic to leverage the unique characteristic of
SSP (e.g., VNS, ALNS, and crossover operator), or too
problem-specific to be applied to SSP (e.g., swap and
insertion operators). In comparison, the population topologybased approach defines neighborhood connections explicitly.
However, the utilization requires repetitive retrieval of the
connections and lacks theoretical supports. A common point
of all existing efforts is that the fundamental problem
concerning optimality continuity remains unresolved.

V. RELATED WORK
SSP has been solved by various swarm-based algorithms
such as simulated annealing (SA), PSO, genetic algorithms
(GA), and ant colony optimization (ACO) [14]. Though
ABC has proven superior in many problems [1][5][7][8] and
been verified by various applications [15][16][17], it is rarely
adopted to SSP. Existing related work is limited: Chifu et al.
[18] define a 1-OPT heuristic for ABC in solving semantic
web service composition problems; Kousalya et al. [11] use
Bees Algorithm (BA) to solve SSP. BA differs from ABC in
that more bees are sent to better food sources so as to
accelerate convergence. But it is more complex, with totally
seven control parameters than that of three in ABC.
Neighborhood structure plays a significant role in local
search as the time complexity of a search depends on the size
of the neighborhood and the computational cost of the moves
[19]. So a related key issue is to build an effective and
efficient neighborhood search mechanism for ABC. Existing
related work can be classified into three categories as follows:
1) Defining new neighborhood search strategies:
different operators have been proposed for ABC to obtain
neighbors in job/flow shop scheduling [20][21][22], vechile
routing [23][24] and TSP [25][26][27]. These operators
include point-to-point random swap or insertion, swap or
insertion and reversing of subsequence. Tasgetiren et al. [28]
fuse variable neighborhood search (VNS) into ABC, which
allows the neighborhood structure to change with evolution.
They further combines VNS with above operators to solve
flow shop scheduling problem [20].

VI. CONCLUSIONS AND FUTURE WORK


In this paper we propose an improved artificial bee
colony approach to QoS-aware service selection (SSP). The
approach achieves dynamically and implicitly approximate
optimality continuity based on greedy neighborhood search,
and is able to leverage the full advantage of canonical ABC
in solving SSP. Two algorithms are presented based on this
approach, which are nearly as simple as ABC. They are both
pure online algorithms, meaning no preparation work is
required to perform optimization. One of them has been
verified by experiments to have superior accuracy, and fairly
good stability and convergence speed. Both the good and bad
experiment results of the proposed algorithms are analyzed.
The experiments performed have not investigated the full
characteristics of the proposed approach yet. Currently, we
are deriving a probabilistic optimality continuity definition,

401

[17] H. Sharma, A. Verma, and J. Bansal, Group social learning in


artificial bee colony optimization algorithm, in Proc. Int. Conf. on
Soft Computing for Problem Solving, 2011, pp. 441-451.
[18] V.R. Chifu, C.B. Pop, I. Salomie, M. Dinsoreanu, A.N. Niculici, and
D.S. Suia, Selecting the optimal web service composition based on a
multi-criteria bee-inspired method, in Proc. ACM Int. Conf. on
Information Integration and Web-based Applications and Services,
2010, pp. 40-47.
[19] H.M.M. Ten Eikelder, B.J.M. Aarts, M.G.A. Verhoeven, and E.H.L.
Aarts, Sequential and parallel local search algorithms for job shop
scheduling,in Proc. Int. Conf. on Meta-heuristics, 1997, pp. 75-80.
[20] M.F. Tasgetiren, Q.K. Pan, P.N. Suganthan, and A.H.L. Chen, A
discrete artificial bee colony algorithm for the permutation flow shop
scheduling problem with total flowtime criterion, in Proc. IEEE
Congress on Evolutionary Computation, 2010, pp. 1-8.
[21] D.Y. Sha and C.Y. Hsu, A hybrid particle swarm optimization for
job shop scheduling problem, Computer and Industry Engineering,
vol. 51, no. 4, pp. 791808, 2006.
[22] H. Sang and J. Duan, An efficient discrete artificial bee colony
algorithm for total flowtime lot-streaming flowshop, in Proc. IEEE
Int. Conf. on Fuzzy Systems and Knowledge Discovery, 2012, pp.
1585-1588.
[23] W.Y. Szeto, Y. Wu, and S.C. Ho, An artificial bee colony algorithm
for the capacitated vehicle routing problem, European Journal of
Operational Research, vol. 215, no. 1, pp. 126135, 2011.
[24] S. Imich, B. Funke, and T. Grunert, Sequential search and its
application to vehicle-routing problems, Computers and Operations
Research, vol. 33, no. 8, pp. 2405-2429, 2006.
[25] L. Li, Y. Cheng, L. Tan, and B. Niu, A discrete artificial bee colony
algorithm for TSP problem, Bio-Inspired Computing and Appl., pp.
566-573, 2012.
[26] X. Liu, J. Su, Y. Han, An improved particle swarm optimization for
traveling salesman problem, LNCS 5227, 2007, pp. 803-812.
[27] K.P. Wang, L. Huang, C.G. Zhou, and W. Pang, Particle swarm
optimization for traveling salesman problem, in Proc. IEEE Int.
Conf. on Machine Learning and Cybernetics, 2003, pp. 1583-1585.
[28] M.F. Tasgetiren, O. Bulut, and M.M. Fadiloglu, A discrete artificial
bee colony algorithm for the economic lot scheduling problem, in
Proc. IEEE Congress on Evolution Computation, 2011, pp. 347-353.
[29] L. Wang, G. Zhou, Y. Xu, S. Wang, and M. Liu, An effective
artificial bee colony algorithm for the flexible job-shop scheduling
problem, Int. J. of Advanced. Manufacturing. Technology, vol. 60,
no. 1, pp. 303-315, 2012.
[30] A. Rahimi-Vahed, M. Dangchi, H. Rafiei, and E. Salimi, A novel
hybrid multi-objective shuffled frog-leaping algorithm for a bicriteria permutation flow shop scheduling problem, Int. J. of
Advanced Manufacturing Technology, vol. 41, no. 11, pp. 1227-1239,
2009.
[31] D. Zhang, X. Guan, Y.G. Tang and Y. Tang, An artificial bee colony
optimization algorithm based on multi-exchange neighborhood, in
Proc. IEEE Int. Conf. on Computational and Information Sciences,
2012, pp. 211-214.
[32] J. Kennedy and R. Mendes, Neighborhood topologies in fully
informed and best-of-neighborhood particle swarms, IEEE Trans.
Systems, Man and Cybernetics, vol. 36, no. 4, pp. 156-175, 2006.
[33] W. Zou, Y. Zhu, H. Chen, and H. Shen, Artificial bee colony
algorithm based on Von Neumann topology Structure, in Proc. IEEE
Int. Conf. on Computer and Electrical Engineering, 2010.
[34] D. Pisinger and S. Ropke, A general heuristic for vehicle routing
problems, Computers and Operations Research, vol.34, no.8, pp.
24032435, 2007.
[35] E. Prescott-Gagnon, G. Desaulniers, and L.M. Rousseau, A branchand-price-based large neighborhood search algorithm for the vehicle
routing problem with time windows, Networks, vol. 54, no. 4, pp.
190-204, 2009.

where neighbors are identified fully depending on


probability, and the neighborhood connections can be biased
to facilitate future neighborhood search. Considering most
discrete optimization problems do not inherently possess the
optimality continuity property, similar approaches could be
derived for more generalized problems besides SSP.
ACKNOWLEDGMENT
Research works in this paper are supported by the
National Natural Science Foundation (NSF) of China (No.
61033005 and 61272187).
REFERENCES
[1]

[2]
[3]

[4]

[5]

[6]

[7]

[8]

[9]

[10]

[11]

[12]

[13]
[14]

[15]

[16]

D. Karaboga and B. Basturk, On the performance of artificial bee


colony (ABC) algorithm, Applied Soft Computing, vol. 8, no. 1, pp.
687-697, 2008.
D. Karaboga, An idea based on honey bee swarm for numerical
optimization, Technical Report-TR06, Erciyes University, 2005.
X. Yan, Y. Zhu, and W. Zou, A hybrid artificial bee colony
algorithm for numerical function optimization, in Proc. IEEE Int.
Conf. on Hybrid Intelligent Systems, 2011, pp. 127-132.
L. Zeng, B. Benatallah, A.H.H. Ngu, M. Dumas, J. Kalagnanam, and
H. Chang, QoS-aware middleware for web services composition,
IEEE Trans. Softw. Eng., vol. 30, no. 5, pp. 311-327, 2004.
D. Karaboga and B. Akay, A comparative study of artificial bee
colony algorithm, Applied Mathematics and Computation, vol. 214,
no. 1, pp. 108-132, 2009.
P.W. Tsai, J.S. Pan, B.Y. Liao, and S.C. Chu, Enhanced artificial
bee colony optimization, Int. J. Innov. Comp, Info and Control, vol.
5, no. 12, pp. 50815092, 2009.
D. Karaboga and B. Basturk, A powerful and efficient algorithm for
numerical function optimization: artificial bee colony (ABC)
algorithm, Journal of Global Opt., vol. 39, no. 3, pp. 459-471, 2007.
M.S. Kiran, H. Iscan, and M. Giindiiz, The analysis of discrete
artificial bee colony algorithm with neighborhood operator on
traveling salesman problem, Neural Computing and Applications,
2012, pp. 1-23.
S.S. Yau and Y. Yin, QoS-based service ranking and selection for
service-based systems, in Proc. IEEE Int. Conf. on Web Services,
2011, pp. 56-63.
J. Kennedy and R. Mendes, Population structure and particle swarm
performance, in Proc. IEEE Congress on Evolutionary Computation,
2002, pp. 1671-1676.
G. Kousalya, D. Palanikkumar, and P.R. Piriyankaa, Optimal web
service selection and composition using multi-objective bees
algorithm, in Proc. IEEE Int. Symposium on Parallel and
Distributed Processing with Applications Workshop, 2011, pp. 193196.
Selection Algorithm. http://en.wikipedia.org/wiki/Selection algorithm
#Linear_general_selection_algorithm-Median_of_Medians_algorithm,
accessed at 21:57 (GMT+08), Feb.15, 2013.
Artificial Bee Colony (ABC) Algorithm, http://mf.erciyes.edu.tr/abc/,
accessed at 13:20 (GMT+08), Jan.23, 2013.
C. Rajeswary, A survey on efficient evolutionary algorithms for web
service selection, Int. J. of Mgmt., IT and Eng., vol. 2, no. 9,pp. 177191, 2012.
D. Karaboga, B. Gorkemli, C. Ozturk, and N. Karaboga, A
comprehensive survey: artificial bee colony (ABC) algorithm and
applications, Artificial Intelligence Review, pp. 1-37, 2012.
K. Mukherjee and G. Sahoo, Mathematical model of cloud
computing framework using fuzzy bee colony optimization
technique, in Proc. IEEE int. Conf. on Advances in Computing
Control and Telecommunication Technologies, 2009, pp. 664-668.

402

Anda mungkin juga menyukai