Accepted Manuscript Networked correlation-aware manufacturing service supply chain optimization using an extended artificial bee colony algorithm Shuai Zhang, Song Xu, Xiaoling Huang, Wenyu Zhang, Mingzhou Chen
PII: DOI: Reference:
S1568-4946(18)30697-5 https://doi.org/10.1016/j.asoc.2018.12.009 ASOC 5235
To appear in:
Applied Soft Computing Journal
Received date : 13 December 2017 Revised date : 6 December 2018 Accepted date : 11 December 2018 Please cite this article as: S. Zhang, S. Xu, X. Huang et al., Networked correlation-aware manufacturing service supply chain optimization using an extended artificial bee colony algorithm, Applied Soft Computing Journal (2018), https://doi.org/10.1016/j.asoc.2018.12.009 This is a PDF file of an unedited manuscript that has been accepted for publication. As a service to our customers we are providing this early version of the manuscript. The manuscript will undergo copyediting, typesetting, and review of the resulting proof before it is published in its final form. Please note that during the production process errors may be discovered which could affect the content, and all legal disclaimers that apply to the journal pertain.
*Highlights (for review)
Highlights:
A networked correlation-aware manufacturing service composition model is proposed.
A matrix-based coded artificial bee colony (ABC) algorithm is proposed.
The biogeography-based optimization algorithm is combined with the ABC algorithm.
Four sets of experiments are implemented to verify our proposed method.
*Manuscript(clean copy) Click here to view linked References
Networked correlation-aware manufacturing service supply chain optimization using an extended artificial bee colony algorithm Shuai Zhang, Song Xu, Xiaoling Huang, Wenyu Zhang*, Mingzhou Chen Shuai Zhang, Wenyu Zhang*, Mingzhou Chen School of Information Zhejiang University of Finance and Economics No.18 Xueyuan Street, Xiasha, Hangzhou 310018, China
[email protected], *Corresponding author:
[email protected],
[email protected] Song Xu Business School Nankai University No.94 Weijin Road, Tianjin 300071, China
[email protected] Xiaoling Huang School of International Education Zhejiang University of Finance and Economics No.18 Xueyuan Street, Xiasha, Hangzhou 310018, China
[email protected]
Abstract Manufacturing service supply chain (MSSC) optimization has been intensively studied to find an optimal service composition solution with the best quality of service (QoS) value. However, traditional MSSC optimization methods usually assume that candidate services are independent of one another. Therefore, potentially better MSSC solutions may have been neglected by not considering the positive influence of correlations between services on the QoS value. This study proposes a novel networked correlation-aware manufacturing service composition (NCMSC) mathematical model to characterize the influence of vertical and horizontal correlations between services on the QoS value of MSSC solution. To solve the NCMSC model, an extended artificial bee colony (ABC) algorithm is proposed to find a near-optimal solution with the best QoS value. The specific improvements to the original ABC algorithm include the following: (1) a new matrix-based encoding scheme is proposed to describe the MSSC solution in which each column contains a vertical composite structure and collaborative services for each subtask; (2) the migration operator of a biogeography-based optimization algorithm is combined with the original ABC algorithm to address the discrete
MSSC optimization problem and improve the performance of the original ABC algorithm. The results of the experiments illustrate the importance of networked correlations between services, better practicality, effectiveness, and efficiency of the extended ABC algorithm in solving the optimization problem of MSSC. Keywords: Manufacturing service supply chain; manufacturing service composition; networked correlations between services; artificial bee colony algorithm
1. Introduction With the increasing development of service-oriented architecture (SOA), cloud computing, and the Internet of Things (IoT), distributed manufacturing resources can be encapsulated as manufacturing services. Since the past decade, manufacturing service recommendation methods [1-3] have been widely used to select one optimal manufacturing service for achieving one single manufacturing task. However, when faced with a complex manufacturing task, consumer enterprises are more likely to obtain a manufacturing service supply chain (MSSC). For example, one manufacturing task of wheel gear usually consists of several subtasks, including forging and normalizing. Each subtask has a respective candidate service set in which the candidate services are functionally equivalent, but have different non-functional (quality of service (QoS)) performances [4]. An MSSC solution is a combination of a series of candidate services, which are selected from their respective service sets and composed to achieve the overall manufacturing task of wheel gear. Therefore, enterprises prefer to obtain an optimal MSSC with best QoS value, rather than obtain individual service for achieving one single subtask (forging or normalizing). Owing to the increasing complexity of manufacturing tasks and the growing scale of manufacturing services, it is difficult to select a proper manufacturing service from the candidate service set for each subtask to compose an optimal MSSC to achieve the complex task. Our prior work [5-6] and that of others [7] mainly focused on a one-to-one mapping-based
composition
approach
to
solve
MSSC
optimization
problems.
Population-based algorithm is usually employed to find the MSSC solution with the best QoS value. However, there are two drawbacks that need to be addressed. First, researchers consistently assumed that only one appropriate service is employed to achieve each subtask, while other functionally equivalent services available to the same subtask are unutilized [8]. If several functionally equivalent services are selected to collaboratively complete one subtask, the composite time and cost can be significantly reduced. Second, candidate services were usually considered independent of one another. Potentially better MSSC solutions may neglected by not considering the positive influence of correlations between services on the QoS value. Even though some scholars proposed a few effective models to alleviate either the
first limitation or the second one in recent years, their models cannot overcome the two drawbacks simultaneously. As a result, potentially better MSSC solutions continue to be neglected. To address the aforementioned challenge, we consider correlations between candidate services in both vertical composition and horizontal composition, and propose a networked correlation-aware manufacturing service composition (NCMSC) mathematical model to characterize the MSSC optimization problem. The vertical composition is used to combine several functionally equivalent candidate services and form a vertical composed service group (VCSG). The VCSG is composed with a choice or parallel structure to achieve a corresponding subtask. If the vertical correlations between the candidate services are strong, the services are more likely to be composed to form a better VCSG. The horizontal composition is used to select a proper candidate service or VCSG for each subtask and composite it to form the MSSC solution. If the horizontal correlations between VCSGs are strong, the correlative VCSGs are more likely to form a better MSSC solution with a higher QoS value. The MSSC optimization problem is an NP-hard problem, and it is usually solved by population-based algorithm, such as genetic algorithm (GA) [5] and particle swarm optimization (PSO) [9, 10]. An artificial bee colony (ABC) algorithm [11] is a population-based algorithm to simulate natural food foraging behavior of a honeybee colony. The performance of the ABC algorithm is better than other classic population-based algorithms, such as PSO, in solving multi-variable engineering problem [12]. The NCMSC optimization problem which can be decomposed into several subtasks is also one of the multi-variable engineering problems. Furthermore, Karaboga and Akay [13] compared the ABC algorithm with other algorithms, and concluded some advantages of the ABC algorithm, including shorter search time and better global search ability. Therefore, the ABC algorithm is employed to solve the MSSC optimization problem. However, the one-dimensional encoding scheme of the traditional ABC algorithm cannot be directly used to describe the complex construction of an MSSC solution. Therefore, we propose a new matrix-based encoding scheme that represents the MSSC solution in an efficient, quantitative, and computable form. In each column of the matrix, the first element denotes the composite structure of a VCSG, and the other elements denote the selected elementary candidate services for collaboratively achieving the corresponding subtask. In addition, to improve the performance of the original ABC algorithm, the migration operator of a biogeography-based optimization (BBO) algorithm [14] is combined with the ABC algorithm to find a better MSSC solution. Finally, we design experiments to demonstrate the importance of the correlation between services, improved practicality, effectiveness, and efficiency of the extended ABC (EABC) algorithm in solving the optimization problem of MSSC. The results of experiments are based on multiple
comparisons with the original ABC algorithm, GA, and PSO. The remainder of this paper is organized as follows. Related work is discussed in section 2. A new NCMSC mathematical model is presented in section 3, and an EABC algorithm is proposed to find a near-optimal MSSC solution in section 4. Experiments are designed and their results analyzed in section 5. The main contributions of this study are presented and suggestions for future work are proposed in the final section.
2. Related work In this section, the prior literature that are closely related to this study will be reviewed and discussed, including QoS-aware service composition, correlation-aware service composition, and the ABC algorithm.
2.1 QoS-aware service composition In the past decade, QoS-aware web service composition has been intensively studied. For example, Zeng et al. [15] presented QoS-aware middleware platform for web service composition and established a weighted model with five QoS attributes to evaluate the solution, including execution price, execution duration, reputation, successful execution rate, and availability. Li et al. [16] extended Zeng et al.’s [15] model and integrated generic, domain-specific, and user-perceived QoS attributes to characterize the utility function. Furthermore, they [16] proposed a heuristic approach to select and compose trustworthy services, and efficiently obtained near-optimal solution. However, these two literature [15, 16] assumed that candidate services were independent of each other. As a result, potentially better composition solutions may be neglected because the positive influence of correlations between services is ignored. The same challenge exists in manufacturing service composition. For example, Tao et al., [9] studied a multi-objective model about manufacturing service composition and selection with three QoS attributes (i.e., time and cost, and reliability) and employed an improved PSO algorithm to find the near-optimal solution. Zhang et al. [6] extended Tao et al.’s [9] model and proposed a complex two-dimensional (both selection and sequence) allocation model and obtained the near-optimal solution using an extended teaching-learning-based optimization (TLBO) algorithm. Considering a fuzzy manufacturing environment, Zhang et al. [17] investigated a fuzzy multi-objective model with four QoS attributes and four composition structures to characterize the service composition. To improve the efficiency of service composition, Liu and Zhang [8] combined the multiple functionally equivalent manufacturing services into a synergistic elementary service group, and extended GA to solve the composition problem. Similarly, Xue et al. [18] explored a networked collaboration pattern in
manufacturing service composition. According to the literature [6, 8, 9, 15-18], researchers have made efforts to improve service composition models and the performances of algorithms, such as GA [8], PSO [9] and TLBO [6]. However, the potential better solutions continued to be neglected because the influence of correlations is ignored. Therefore, we extend the traditional mathematical model by considering networked correlation between candidate services.
2.2 Correlation-aware service composition In recent years, a few scholars have proposed correlation-aware service composition. For example, Lecue and Mehandjiev [19] considered semantic similarities between outputs and inputs of candidate services in service composition. The semantic similarities of services can be regarded as functional correlations between candidate services. Similarly, Chattopadhyay and Banerjee [20] presented a set of abstractions and corresponding refinements with the same function to form service groups. The composition solutions were implemented in the abstract service space to address the complexity. The abstract service space is used to collect functionally equivalent services to form candidate service set for each subtask, thus reducing the search space significantly. However, the above literature [19, 20] focused on influence of functional correlations, but ignored the influence of non-functional (QoS) correlations. To overcome the limitation, Tao et al. [21] considered the influence of correlations on six QoS properties. To improve the diversity of correlations, Guo et al. [22] investigated composable correlation, business entity correlation, and statistical cooperative correlation. Specifically, composable correlation refers to the correlation between output of former service and input of latter service; business entity correlation is represented as the correlation among providers of the composite services; statistical cooperative correlation refers to how often two or more services are composed to achieve one subtask [22]. Subsequently, they integrated the three kinds of correlations to build a new correlation-aware QoS model to evaluate candidate solutions. Chen et al. [23] also introduced QoS dependencies into service composition, and determined good and highly-efficient solutions using the Pareto set model and vector ordinal optimization. Mehdi et al. [24] improved on Li et al.’s model [16] and presented a hybrid service composition model that considered the influence of both trustworthiness and correlations between candidate services on the QoS values of solutions. Deng et al. [25] considered the influence of QoS correlations on the performance of composition solutions, and presented an effectiveness and efficiency method called the correlation-aware service pruning method to solve service composition problems. According to the aforementioned literature [19-25], we find that the correlations between candidate services play an important role in service composition. However, they only focused
on horizontal correlations because they assumed that one subtask can be achieved by only one candidate service. Other literature [8] and [18] proposed that several functionally equivalent services can be selected to collaboratively complete one subtask, while the influence of both vertical and horizontal correlations between candidate services was ignored on the QoS values of MSSC solutions. As a result, potentially better MSSC solutions continue to be neglected. Therefore, to overcome these limitations, we propose a novel NCMSC mathematical model to comprehensively consider both VCSG and networked (vertical and horizontal) correlations in MSSC optimization problem.
2.3 The ABC algorithm The ABC algorithm, first proposed by Karaboga [11], is a swarm intelligence-based algorithm to simulate natural food foraging behavior of a honeybee colony. Karaboga and Basturk [12] investigated the performance of ABC algorithm compared with other algorithms, such as PSO, and found that ABC algorithm is better in solving multivariable engineering problems. The proposed NCMSC optimization problem which can be decomposed into several subtasks is one of the multivariable engineering problems. However, different from the general multivariable engineering problem in literature [12], NCMSC model has integrated multiple correlative services to form VCSG that collaboratively achieves the subtask. Thus, we compare the performance of EABC algorithm with PSO in solving NCMSC model in Section 5. In addition, Karaboga and Akay [13] concluded other advantages of ABC algorithm, such as shorter search time and better global search ability. Therefore, ABC algorithm were widely employed and extended to solve optimization problems. For example, to solve real-parameter optimization problems, Akay and Karaboga [26] investigated frequency and magnitude of the perturbation to modify the original ABC algorithm. The results showed that the modified ABC algorithm performed better on hybrid functions than did state-of-the-art algorithms. To address the discrete optimization problem, Li and Ma [27] proposed a multi-objective discrete ABC algorithm to solve the sequence-dependent setup times multi-objective permutation flowshop scheduling problem to minimize makespan and total flowtime. Similarly, Gao et al. [28] proposed a two-stage artificial bee colony algorithm to solve the flexible job shop scheduling problem with fuzzy processing time and new job insertion. Szeto et al. [29] proposed an enhanced ABC algorithm to solve the capacitated vehicle routing problem. According to the aforementioned literature [26-29], the ABC algorithm has better performance at addressing parameter optimization problems [26], flexible job shop scheduling problems [27, 28], and vehicle routing problem [29]. Recently, ABC algorithm is also used to solve service composition problems [30, 31, 32], and it is found that the performance of ABC
algorithm is also better than other population-based algorithms, such as GA and PSO. Therefore, we select the ABC algorithm to solve MSSC optimization problem. However, the traditional one-dimensional solution encoding scheme of the ABC algorithm cannot be directly used to describe the complex construction of the MSSC solution. This is because that each element of one-dimensional solution can describe only one candidate service, but cannot simultaneously describe a vertical composite structure or multiple collaborative services. Therefore, we present a matrix-based encoding scheme of ABC algorithm to describe the complex construction of the MSSC solution. In addition, the important solution information shared from the employed bee phase in addressing the discrete MSSC optimization problem cannot be taken full advantage of by means of the strategy of onlooker bee phase. Therefore, the performance of the ABC algorithm needs to be improved further to find a better MSSC solution. The specific improvements over the original ABC algorithm will be presented in subsection 4.2.
3. Novel NCMSC modeling In this section, we first present notations and definitions which are used in this study. Then, we present an example of the MSSC optimization problem and propose a new NCMSC mathematical model to evaluate the overall QoS value of the MSSC solution. The overall QoS value is the combination of all individual QoS values of each candidate MSSC solution involving both vertical composition and horizontal composition.
3.1 Notations and definitions Notations and three definitions are used to build the NCMSC mathematical model.
3.1.1 Notations I
number
of
subtasks
decomposed
from
a
complex
manufacturing task
sti
ith subtask, i = 1, …, I
CSSi
ith candidate service set including some candidate services with equivalent functional performance for
Ji
number of candidate services in
msij
jth candidate service in
CSSi
sti
CSSi
, j = 1, …,
Ji
Q ijg3
QoS matrix with g QoS attributes and three steps for j
performing msi , with detailed explanation shown in Definition 1
sti
VCSGi
vertical composed service group for achieving
VQig2
QoS matrix with g QoS attributes and two steps for performing
VCSGi ,
with detailed explanation shown in
Definition 2
CorSevice(mslk , msij )
k
j
one pair of correlation services msl
and msi , with
detailed explanation shown in Definition 3
CorType(mslk , msij )
k
j
correlation type between msl and msi ; 0: no correlation; 1: the two services provided by the same supplier; 2: the two services provided by different suppliers
CorDeg (mslk , msij )
correlation degree between msl and msi
VCorInf (VCSGi )
global vertical correlation influence on
k
j
VCSGi
(see
formula (3))
ik / i j
binary variable; 1: select msi / msi ( k j ) to form the k
j
VCSGi ; 0: otherwise n
pair number of correlations between services in
TCom(VCSGi )
composite time of
TTr (VCSGi )
transportation time of
i j
choice probability of each selected elementary candidate service in
VCSGi
VCSGi
VCSGi
(see formula (4))
VCSGi
(see formula (5))
with choice structure, and the sum of all
choice probabilities is equal to 1 j
j ts (msij ) / te ( msi ) / tt ( msi )
setup time / execution time / transportation time for performing msi
j
VCSGi
CCom(VCSGi )
composite cost of
CTr (VCSGi )
transportation cost of
cs (msij ) / ce (msij ) / ct (msij )
setup cost/ execution cost/ transportation cost for performing
(see formula (6))
VCSGi
(see formula (7))
msij ACom(VCSGi )
composite availability of VCSGi (see formula (8))
ATr (VCSGi )
transportation availability of VCSGi (see formula (9))
as ( msij ) / ae (msij ) / at ( msij )
setup availability/ execution availability/ transportation availability for performing msi
HCorInf (VCSGi )
j
influence of horizontal correlation on VCSGi (see formula (10))
T ( HC )
total time of horizontal composition (see formula (11))
C ( HC )
total cost of horizontal composition (see formula (12))
A( HC )
total availability of horizontal composition (see formula (13))
CorTypei
correlation type between VCSGi 1 and VCSGi ; 1: existing CorType(msi 1 ,msi ) 1 ; 2: otherwise k
j
i
binary variable; 1: CorTypei 1 ; 0: CorTypei 2
qg / qg
normalization of negative / positive gth QoS attribute
q g ()
calculated value of gth QoS attribute.
max qg () / min qg ()
maximum / minimum values of gth QoS attribute of candidate services in the same service set
1 / 2 / 3
preference weights of the three QoS attributes, summed up to 1.
T0
budget time of the MSSC solution
C0
budget cost of the MSSC solution
A0
allowed minimum availability of the MSSC solution
Q
overall QoS value of the MSSC solution
3.1.2 Definitions ij
ij
Definition 1 (QoS attribute matrix Q g3 ). Q g3 represents a QoS attribute matrix with g j
QoS attributes and three important steps for performing the service msi . The QoS attribute ij
matrix Q g3 is shown as follows:
setup exec transp Qijg3
q1 q11 q2 q21 qg qg1
q12 q22 qg 2
q13 q23 , qg 3
(1)
ij
where the three column heads of Q g3 represent the setup, execution, and transportation j
steps for performing the service msi , respectively. In this study, we consider three important QoS attributes: time, cost, and availability, that is, q1 time, q2 cost , and q3 availability . ij
Contents in each column of Q g3 denote the values of g QoS attributes in a certain step for j
performing the service msi . i
i
Definition 2 (QoS attribute matrix of ith VCSG VQ g2 ). VQ g2 denotes a QoS matrix i
with g QoS attributes and two steps for performing the VCSGi . The QoS matrix VQ g2 is shown as follows.
VQig2
comp q1 q11 q2 q21 qg qg1
transp q12 q22 , qg 2
(2)
where the first column head comp represents the composition of setup and execution steps for performing the VCSGi , and the second column head transp represents the transportation ij
step. Its g QoS attributes are consistent with that of Q g3 . Contents in each column of
VQig2 denote the values of g QoS attributes in the composition of setup and execution steps or transportation step for performing the VCSGi . k
j
Definition 3 (Correlation services CorSevice(msl , msi ) ). The vertical and horizontal correlations between two elementary candidate services are represented as a two-tuple
CorSevice(mslk , msij ) (CorType, CorDeg ) . There are three scenarios that occur in horizontal correlations. First, if the two candidate services are provided by the same supplier, the correlation type can be represented as CorType(msi , msi 1 ) 1 . Second, if two k
j
candidate services are provided by two different suppliers, and the suppliers cooperate with one another, the correlation type is represented as CorType(msi , msi 1 ) 2 . The correlation k
j
degree between the two services provided by the same supplier is higher than that between the two services provided by two different suppliers. Therefore, the correlation degree corresponding to CorType(msi , msi 1 ) 1 is set within the range (0.5, 0.8], and the k
j
correlation degree corresponding to CorType(msi , msi 1 ) 2 is set within the range [0.2, k
j
0.5]. Third, if two candidate services are provided by two different suppliers, but the suppliers do not cooperate with each other, the correlation type and correlation degree are both set to zero. For the vertical correlation, we assume that all the candidate services in the same service set are provided by different suppliers. Therefore, there are two scenarios in vertical correlations, either CorType(msi , msi ) 2 or CorType(msi , msi ) 0 . The present k
j
k
j
work focuses on the correlations between suppliers of the composite services, but the correlations in the specific processes, such as setup, teardown and execution can also be taken into account in the future work.
3.2 Problem definition An example of an NCMSC model is shown in Figure 1 wherein one complex manufacturing task can be decomposed into five subtasks. Each subtask has 10 candidate services with equivalent functional performance but different QoS performances.
Decomposition
S
st2
st3
st4
st5
ms11
ms12
ms31
ms14
ms51
ms12
ms22
ms42
ms52
ms110
ms10 2
ms310
ms10 4
ms510
ms12
msI21
msI2
2 2
msI41
msI4
9 2
ms
msI51
msI5
msI81
ms12
ms14 ms15
Vertical Composition
ms12
0.3
Horizontal Composition (Solution) Legends:
S
0.4 0.4
ms
msI91
ms25
ms18
ms10 2
10 3
ms
Choice
Parallel
Single
2 (0.3) 8 (0.7)
5 10
10
st1
st2
st3
Correlation between services
0.7
0.2
E
Candidate Manufacturing Service Set
st1
Parallel 2 4 8 5 9
st4
0.4
msI2
0.6
msI7
Choice 2 (0.4) 7 (0.6)
E
st5
Service set of corrsponding subtask
Sequence of subtasks
Figure 1: An example of an NCMSC model.
Vertical composition is used to select several functionally equivalent candidate services to form a VCSG for collaboratively achieving the corresponding subtask. The VCSG is composed with a choice or parallel structure. If the vertical correlations between candidate services are stronger, the correlative services are more likely to be composed in the vertical 2
4
composition. As shown in Figure 1, in the first candidate service set, ms1 and ms1 can be composed into a candidate VCSG with parallel structure to achieve the subtask st1 , and we 2
4
2
assume that the composite QoS value of VCSG ( ms1 and ms1 ) is 0.65. ms1 (0.3) and
ms18 (0.7) can be composed into another candidate VCSG with choice structure to achieve the subtask st1 too, with choice probabilities being 0.3 and 0.7, respectively, and we assume 2 4 its composite QoS value is 0.85. Because the QoS value of VCSG ( ms1 and ms1 ) is lower 2 8 than that of VCSG ( ms1 (0.3) and ms1 (0.7)), the latter is selected to achieve st1 .
However, one single candidate service can also be selected for independently achieving the
10
subtask. For example, single service ms3 is selected to achieve st3 . Horizontal composition is employed to select a proper candidate service or VCSG for each subtask and combine it to obtain the best overall QoS value of an MSSC solution. If the horizontal correlations between candidate services or VCSGs are stronger, the correlative services or VCSGs are more likely to be composed with higher QoS value. For example, the candidate MSSC solution i.e., [2(0.3), 8(0.7)]-[5, 10]-[10]-[2, 4, 5, 8, 9]-[2(0.4), 7(0.6)] is the result of horizontal composition for achieving the overall manufacturing task. We build a new NCMSC mathematical model to calculate the overall QoS values of candidate MSSC solutions. The QoS of the service for the latter subtask depends on the service for the former subtask, and therefore, there is no cycle in horizontal correlations [25]. In the current work for horizontal composition, we only consider the horizontal correlations between adjacent candidate services or VCSGs, while leave the scenario of horizontal correlations of nonadjacent candidate services or VCSGs for the future work.
3.3 Vertical composition In this section, vertical composition is proposed to form the VCSGs to prepare for the subsequent horizontal composition. We consider two composite structures: choice and parallel [8] and three QoS attributes in the vertical composition. We explore the global vertical correlation influence on
VCSGi ,
and the formula is
shown as follows.
1 Ji 1 Ji k j k j 1 ln n 4 i i CorDeg (msi , msi ) if n 1, VCorInf (VCSGi ) n k 1 j 2 (3) 0 if n 0. where variable
1 select msik for VCSGi ,
ik
0 otherwise,
services selected to form the
msik and msij are two correlative
;
VCSGi and k j ; J i denotes the total number of candidate
services in the ith service set; n denotes the total number of correlations between services in
VCSGi ; CorDeg (msik , msij ) represents the correlation degree between msik and
the
msij . An example of vertical composition with a choice structure is shown in Figure 2. Three 1
2
10
elementary candidate services msi , msi , and msi composition with respective probabilities of
are selected from CSSi for vertical
i1 0.2 , i2 0.3 , and i10 0.5 to
collaboratively achieve
VCSGi
,
that
sti . There are three correlation pairs between the three services in the CorSevice(msi1 , msi2 )
is,
CorSevice(msi2 , msi10 ) .
The
three
CorSevice(msi1 , msi10 )
,
correlation
degrees
between
,
and
them
are
CorDeg (msi1 , msi2 ) 0.6 , CorDeg (msi1 , msi10 ) 0.7 , and CorDeg (msi2 , msi10 ) 0.5 , respectively. According to formula (3), the global vertical correlation influence on
VCSGi
is
calculated as VCorInf (VCSGi ) 0.67 . VCSGi
CSSi
msi1
msi1
i1 0.2 0.6
0.6
msi2 3 i
ms
0.7
i2 0.3
0.5
0.7
Subtask
msi2
i10 0.5
sti
0.5 msi10
msi10
Figure 2: An example of vertical composition with choice structure.
(1) The time of vertical composition The vertical composite QoS value and transportation are independently considered in the QoS evaluation of the vertical composition, because the different types of correlation have different influences on transportation in the subsequent horizontal composition. The composite time and transportation time of
VCSGi
with choice and parallel structures,
respectively, are shown as follows:
Ji j ts (msij ) te ms ( ij ) j i i 1 VCorInf (VCSGi ) j 1 TCom(VCSGi ) Ji j j 2 1 j (ts (msi ) te (msi )) i 1 VCorInf (VCSGi ) j 1 Ji j tt (msij ) j i i 1 VCorInf (VCSGi ) j 1 TTr (VCSGi ) Ji 1 j 1 VCorInf (VCSGi ) i (tt (msij )) 2 j 1 where
(choice ) , (4)
( parallel ).
(choice), (5)
( parallel ).
i j denotes the choice probability of each selected elementary candidate service in
VCSGi with choice structure (see an example in
Figure 2), and the sum of all choice
j
j
j
probabilities is equal to 1; t s ( msi ) , te ( msi ) , and tt ( msi ) denote the setup time, execution
time,
and
transportation
time
for
performing
msij ,
respectively;
VCorInf (VCSGi ) can be calculated with formula (3). (2) The cost of vertical composition The principle of calculating vertical composition time is similar to that of cost calculation. The cost of each elementary service is divided on the basis of its time efficiency. Therefore, the composite cost and transportation cost of
VCSGi
with choice and parallel
structures, respectively, are shown as follows:
Ji j cs (msij ) ce (msij ) j [ ] (choice), i i 1 VCorInf (VCSGi ) j 1 CCom(VCSGi ) J j j i j cs (msi ) ce (msi ) TCom(VCSGi ) ( parallel ). i 1 VCorInf (VCSGi ) ts (msij ) te (msij ) j 1 Ji j ct (msij ) j i i 1 VCorInf (VCSGi ) j 1 CTr (VCSGi ) J i ct (msij ) TTr (VCSGi ) j i j 1 1 VCorInf (VCSGi ) tt (msij ) j
j
(6)
(choice), (7)
( parallel ).
j
where cs (msi ) , ce (msi ) , and ct (msi ) denote the setup cost, execution cost, and j
transportation cost for performing msi , respectively. (3) The availability of vertical composition The availability of vertical composition is also divided into three steps, including setup availability as ( msij ) , execution availability ae (msij ) , and transportation availability at ( msij ) . The composite availability and transportation availability of VCSGi with choice and parallel structures, respectively, are shown as follows:
Ji j (1VCorInf (VCSGi )) j j j ) (choice), i i [as (msi ) ae (msi )] (1 log10 j 1 ACom(VCSGi ) J (8) i (1 VCorInf ( VCSG )) j j j [a (ms ) a (ms )] (1 log i ) ( parallel ). i s i e i 10 j 1 Ji j (1VCorInf (VCSGi )) j j ) (choice), i i at (msi ) (1 log10 j 1 ATr (VCSGi ) J i j a (ms j ) (1 log (1VCorInf (VCSGi )) ) ( parallel ). t i 10 j 1 i
(9)
3.4 Horizontal composition Horizontal composition is conducted to find the best MSSC solution according to the prior step of vertical composition. We only consider the sequence structure of decomposed subtasks in the horizontal composition because other composite structures (i.e., choice, parallel, and loop) can be transformed into sequence structures [21]. Different types of correlations between candidate services have different influences on transportation of the horizontal composition. Therefore, we formulate the correlation influence of the former VCSG on the latter VCSG, and subsequently build the horizontal composition mathematical model for evaluating the overall QoS values of MSSC solutions. According to the results of the vertical composition, there are four kinds of correlations between the VCSGs or candidate services, that is, (a) one to one, (b) many to one, (c) one to many, and (d) many to many, as shown in Figure 3.
sti 1
sti
sti 1
(a) One to One
VCSGi
msij
msij1
msij
VCSGi 1
Single service
msik1
VCSGi
Single service
Single service
VCSGi 1
Single service
sti
sti 1
sti
sti 1
sti
(b) Many to One
(c) One to Many
(d) Many to Many
Figure 3: Four kinds of correlations between the candidate services or VCSGs.
One single candidate service can still be selected for independently achieving the subtask. To facilitate the calculation, the single candidate service is considered as a particular VCSG in the process of horizontal composition. Therefore, the formula for the influence of horizontal correlation on the latter VCSG is shown as follows.
CorDeg (msik1 , msij ) J i 1 (1 ln n ) 1 k CorDeg (ms k , ms j ) i 1 i 1 i 4 n k 1 HCorInf (VCSGi ) ln n 1 Ji k (1 ) i CorDeg (msij1 , msik ) 4 n k 1 ln n 1 Ji1 Ji k (1 ) i 1 il CorDeg (msik1 , msij ) 4 n k 1 j 1
(a ), (b), (c),
(10)
(d ).
In this study, we assume that if any of horizontal correlations between the two adjacent
candidate services belongs to CorType(msi 1 ,msi ) 1 , the horizontal correlation type k
j
between the VCSGi 1 and VCSGi is also regarded as CorTypei 1 . Otherwise, the horizontal correlation type between the
VCSGi 1 and VCSGi
is regarded as
CorTypei 2 . (1) The time of horizontal composition Different types of correlation between elementary candidate services have different influences on composite QoS value and transportation of horizontal composition. If
CorTypei 1 ,
the saved transportation time of horizontal composition is more significant
than the setup time and execution time. However, if
CorTypei 2 , the saved transportation
time of horizontal composition is similar to the other two steps. Therefore, the formula of calculating the time of horizontal composition is shown as follows: I
T ( HC ) [ i i 1
TCom(VCSGi ) e HCorInf (VCSGi ) TTr (VCSGi )] 1 HCorInf (VCSGi )
TCom(VCSGi ) TTr (VCSGi ) [(1 i ) ]. 1 HCorInf (VCSGi ) i 1 I
(11)
1 CorTypei 1, ; I represents the total number of decomposed subtasks; 0 CorType 2, i
where i
TCom(VCSGi ) and TTr (VCSGi ) denote the composite time and transportation time of
VCSGi , and are calculated with formulas (4) and (5), respectively; HCorInf (VCSGi ) can be calculated with formula (10). (2) The cost of horizontal composition The cost calculation of horizontal composition is similar to that of the time calculation. If
CorTypei 1 ,
the saved transportation cost of horizontal composition is more significant
than the saved setup cost and execution cost. However, if
CorTypei 2 ,
the saved
transportation cost of horizontal composition is similar to the other two steps. Therefore, the formula for calculating the cost of horizontal composition is shown as follows: I
C ( HC ) [ i i 1
CCom(VCSGi ) e HCorInf (VCSGi ) CTr (VCSGi )] 1 HCorInf (VCSGi )
CCom(VCSGi ) CTr (VCSGi ) [(1 i ) ]. 1 HCorInf (VCSGi ) i 1 I
(12)
1 CorTypei 1, ; CCom(VCSGi ) 0 CorTypei 2,
where i
and
CTr (VCSGi ) represent the
composite cost and transportation cost of VCGSi , and can be calculated with formulas (6) and (7), respectively; HCorInf (VCSGi ) can be calculated with formula (10). (3) The availability of horizontal composition The influence of horizontal correlations between VCSGs on availability is different with regard to the time and cost, since horizontal correlations between VCSGs improve, rather than reduce the availability. If
CorTypei 1 ,
the improved transportation availability is more
significant than the setup availability and execution availability. However, if
CorTypei 2 ,
the improved transportation availability is similar to the other two steps. Therefore, the formula for calculating the availability of horizontal composition is shown as follows: I
A( HC ) [ i ACom(VCSGi ) (1 log10(1 HCorInf (VCSGi )) ) i 1
ATr (VCSGi ) (1 ln(1 HCorInf (VCSGi ))]
(13)
[(1 i ) ACom(VCSGi ) ATr (VCSGi ) (1 log10(1 HCorInf (VCSGi )) )]. where
ACom(VCSGi ) and
ATr (VCSGi )
represent
composite
availability
and
transportation availability of VCSGi , and can be calculated with formulas (8) and (9), respectively.
3.5 Objective function of the overall QoS value The objective of this study is to find a better MSSC solution with the best QoS value. However, different QoS attributes cannot be directly integrated into QoS utility functions because time and cost are negative QoS attributes and availability is a positive QoS attribute. Therefore, the values of different QoS attributes should be normalized to evaluate the overall QoS value of the MSSC solution. The formulas for normalization of negative and positive QoS attributes, respectively, are shown as follows:
( max qg () qg () 1) max qg ()min qg () if max q () min q (), g g qg e 1 if max qg () min qg ().
(14)
( qg () min qg () 1) max qg () min qg () if max q () min q (), g g qg e 1 if max qg () min qg ().
(15)
where max qg () and min qg () represent the maximum and minimum values of the gth QoS attribute for candidate services in the same service set, respectively; q g () denotes the calculated value of the gth QoS attribute. The total time and cost of the MSSC solution must be less than the budget time cost
T0
and
C0 , respectively; the total availability must be greater than the allowed availability A0 .
The QoS utility function for evaluating the MSSC solution is shown as follows.
Q max{1 T ( HC ) 2 C ( HC ) 3 A( HC )} T ( HC ) T0 , Subject to : C ( HC ) C0 , A( HC ) A . 0 where
(16)
1 , 2 , and 3 represent the preference weights of the three QoS attributes,
respectively. The sum of the three weights is equal to 1.
4. An EABC algorithm to solve the MSSC optimization problem In this section, we design an EABC algorithm to solve the MSSC optimization problem. First, the standard ABC algorithm is presented to analyze its advantages and disadvantages. Next, we propose a new matrix-based encoding scheme to logically describe the candidate MSSC solution. Furthermore, we adapt the original operations of the ABC algorithm based on the matrix-based candidate MSSC solution, and combine them with the migration operator of the BBO algorithm to improve its performance.
4.1 The standard ABC algorithm The standard ABC algorithm [11] is inspired from food searching behaviors of bee colony. It contains four phases: initialization, employed bee, onlooker bee, and scouter bee. Initialization phase: A food source is regarded as a candidate solution and evaluated by fitness function. The pth candidate solution with D decision variables can be represented as
X p ( X p1 , X p 2 , , X pd , , X pD ) . Each initial solution is randomly generated according to the following formula [13]:
X pd =X dmin rand (0,1)( X dmax X dmin ), max
where X d
min
and X d
(17)
represent the upper and lower bounds of the dth search space,
respectively; rand (0, 1) is a random number within the range [0, 1]. Employed bee phase: Each employed bee is assigned a candidate solution to explore a better one according to the following formula [11]:
new old old X pd X pd rpd ( X pd X vdold ),
(18)
where d represents the dth component of the corresponding solutions, respectively; v is randomly selected from the range [1, D] and v p ; rpd is a random number within the range [-1, 1]. Subsequently, greedy selection is used to keep the better solution. After all the employed bees complete the explorations of new solutions, they return to their hive and share the information with other bees for further exploration. Onlooker bee phase: The onlooker bee selects a better solution based on the fitness value of the solutions returned from employed bee phase, and the formula of selection is shown as follows [11]:
pro p
fit p
M
fitk k 1
,
(19)
where fit p denotes the fitness of the pth solution; M represents the total number of employed bees. Then, the strategy of formula (18) is used again for exploration in the onlooker bee phase. Scouter bee phase: If the solution X p failed to improve after successive limitp trails, the employed bee abandons the solution X p and becomes a scouter. The scouter will randomly search to escape from the local optima by using the formula (17). If the new solution is better, it will replace the previous one. Finally, the near-optimal solution will be obtained until the termination condition is reached. 4.2 The proposed EABC algorithm The standard ABC algorithm can be used to solve one-dimensional continuous optimization problems. However, the one-dimensional encoding scheme of the traditional ABC algorithm cannot be directly used to represent the complex MSSC solution. To overcome this barrier, we propose a new matrix-based encoding scheme to reasonably describe the complex MSSC solution. Furthermore, we adapt the original operations of the ABC algorithm based on the matrix-based candidate MSSC solution, and combine them with migration operator of the BBO algorithm to improve the performance of the original ABC algorithm.
4.2.1 Encoding scheme To describe the complex MSSC solution, a new matrix-based encoding scheme of the ABC algorithm is proposed. The matrix-based scheme includes two segments of information:
vertical composite structure and elementary candidate services. The pth candidate solution can be formed as a 6 I matrix X 6 I . The first row of p
X 6p I denotes the vertical composite structures for each subtask, including one single candidate service, choice, and parallel structures. We define three integer numbers to represent the three kinds of vertical composite structures, respectively, shown as follows:
1 one single candidate service, si 2 choice, 3 parallel.
(20)
p
The latter five rows (from the second to the sixth row) of X 6 I represent the elementary candidate services that are selected to collaboratively achieve the corresponding subtask. For simplicity, we define the maximum number of vertical composite services as five. If the number of vertical composite services is less than five, zero is used to fill up the p
remaining vacancies. An example of the matrix-based encoding scheme X 65 with five decomposed subtasks is shown as follows:
1 3 p s15 0 X6p5 p m55 0 0 0
2
3
3
3(0.3) 5(0.5) 6(0.2) 0 0
1 3 4 6 7
4 5 0 0 0
2
2(0.2) 3(0.1) , 7(0.3) 9(0.4) 0
(21)
3
where the first column indicates that only the candidate service ms1 is selected to achieve 3
5
6
the first subtask; the second column indicates that ms2 , ms2 , and ms2 with choice probabilities of 0.3, 0.5, and 0.2, respectively, are selected to form a VCSG to collaboratively achieve the second subtask, and so on in other columns. 4.2.2 Initialization phase The
number
of
population
size
is
set
as
P.
Let
sip s1p I s1p , s2p , ..., sip ,..., sIp th X p p be the p solution, and the column p is a p p p m 5 I m1 , m 2 ,..., m i ,..., m I m i p
sub-solution (i.e., vertical composition solution for achieving
sti ). The elements of the first
p
row s1 I are randomly generated from a vector of integer numbers within the range [1, 3]. If the si 1 , only one elementary candidate service will be selected from the ith service set into p
p
p
corresponding column m i . If the si p
candidate services in m i
is equal to 2 or 3, the number of elementary
must be within the range [2, 5]. In addition, if si 2 (choice p
structure), the choice probabilities are randomly generated and the sum of them is equal to 1. p
After the number of elementary candidate services in m i
is determined, the elements are
randomly generated by using the formula [30]:
mijp Lb round (rand (0,1) (Ub Lb)),
(22)
p
p where mij (i.e., an element in m i ) denotes a serial number of a candidate service msi
selected from the CSSi
j
and must be limited between Lb and Ub ; Lb and Ub
represent the lower and upper bounds of the size of CSSi , respectively; rand (0, 1) is a uniform distributed function within the range (0, 1); round ( x ) is a function to obtain the rounded integer value. p
If any two randomly generated elements are the same in m i , we repeat the formula (22) until the determined number of candidate services for
sti
is satisfied. Finally, we obtain the
P size number of candidate solutions. 4.2.3 Employed bee phase In the employed bee phase, each employed bee is assigned a candidate solution to explore a better solution. We adapt the original operator for matrix-based candidate solution.
sip p , the first part si remains constant owing to random selection from p m i
For sub-solution
p
the three integer numbers. The second part m i
is composed of several (but no more than
five) serial numbers of candidate services that are selected for collaboratively achieving
sti .
p
The new matrix-based solution is generated according to m i , and the original formula (18) is adapted as follows:
mip mip round (ri (mip miv )),
(23) p
where ri is a vector composed of five random numbers. If the element in the position m i is a nonzero number, the corresponding position in
ri
is filled by a uniform random number
within the range [-1, 1]; otherwise, the corresponding position of p*
elements (besides zero) in the generated m i
ri
is equal to zero. If some
are the same, the formula (23) repeats itself
p*
until that the nonzero elements in the m i
are different from one another. Then, greedy
sip selection is used to compare the previous solution X p and the new solution m i p
sip X p* to remain a better one. After all the employed bees complete the exploration of m i p*
new solutions, they return to their hive and share the information with unemployed bees for exploring the better solutions. 4.2.4 Onlooker bee phase In the onlooker bee phase, an onlooker bee will probabilistically select a solution for further exploration. The new solution is explored and generated by using the strategy of formula (23). However, the strategy of formula (23) cannot take full advantage of important solution information shared from the employed bee phase in addressing the discrete MSSC optimization problem. Therefore, the performance of ABC algorithm still has space to be improved. The principle of the migration operator of the BBO algorithm is that a better solution is more likely to share information with other inferior solutions to improve performance. Therefore, combining the migration operator of a BBO algorithm is a suitable strategy to alleviate the limitation of the original ABC algorithm. According to the migration operator [14], all of the overall QoS values of solutions are first calculated and ranked in descending order. Then, a rate Pmod is assigned to determine whether the solution is selected for modification. The selected solution is then called an immigration solution and will be modified. Instead of employing the formula (23), we use immigration and emigration rates to explore a better solution. The immigration rate emigration rate
p and
p of the pth solution X p are calculated according to the following
formulas [14]:
p Ig (1
k ( p) ), P
p Eg (
k ( p) ), P
(24)
where Ig and Eg denote the maximum immigration and emigration rates, respectively;
k ( p ) represents the ranking serial number of the pth solution; P denotes the population size. The emigration solution Xe is selected by using the roulette wheel selection strategy [33] according to the emigration rate
e , and it helps other inferior solutions to evolve into
better ones. The migration operator is implemented as X p X e , based on the immigration rate
p , and generates a new solution X p* . Then, greedy selection is used to compare the
QoS values of X p and X p* , and the better one is reserved. Owing to the matrix-based candidate solution, the original migration operation cannot be directly used to explore a new solution. Therefore, a binary mask string is employed to adapt the migration operator. An example of a matrix-based migration operator is shown in Figure 4. Migration
Xp st1 st2 st3 st4
e
X st1 st2 st3 st4 3
1
2
5
2
st5
st5
X p* st1 st2 st3 st4
1
3
1
2
3
3
2
2(0.1) 2
3
3
3(0.3)
1
4
2(0.2)
4
0 3(0.2) 0
6
0
5(0.5) 3
5
3(0.1)
5
0 5(0.7) 0
0
0
6(0.2) 4
0
7(0.3)
6
0
0
0
0
0
0
6
0
9(0.4)
0
0
0
0
0
0
0
7
0
0
Mask
p
0
1
1
0
st1 st2 st3 st4
1
1
3
5
2
st5
3
3
2(0.1) 4
3
0
0 3(0.2) 5
6
0
0 5(0.7) 0
0
0
0
0
0
0
0
0
0
0
0
1
st5
Figure 4: An example of a matrix-based migration operator.
As shown in Figure 4, a complex task is divided into five subtasks. The pth solution
X p is selected as an immigration object to be modified. The eth solution Xe is selected as an emigration solution, based on the emigration rate
e .
A binary mask string is
randomly generated to determine which vertical vector (VCSG) in the X p should be migrated, based on the immigration rate
p . The generated binary mask string (0-1-1-0-1)
shows that the second, third, and fifth vertical vectors in X p should be replaced by corresponding vertical vectors in Xe , including the vertical composite structure and 3
selected candidate services. Therefore, the modified result X p* indicates that ms1 and
ms25 are selected for st1 and st2 , respectively; ms32 , ms33 , and ms35 are composed with the choice structure with probabilities of 0.1, 0.2, and 0.7 for 5
and ms4 are composed with a parallel structure for
st3 , respectively; ms44
st4 .
4.2.5 Scout bee phase The scout bee phase is used to alleviate the local minimum of the ABC algorithm. We also adapt the scout bee phase by means of matrix-based candidate MSSC solution. An
example of a matrix-based scout bee searching is shown in Figure 5. st1 st2 p 15
s
1
2
3
3
2
3
3(0.3)
1
4
2(0.2)
0
5(0.5) 3
5
3(0.1)
m5p5 0 6(0.2) 4 0 0
st1 st2 st3 st4 st5
Xp st3 st4 st5
0
6
0
7
0
7(0.3)
0
9(0.4)
0
s1p5
2
1
3
3
st1 st2
2 e 15
s Mask
1
0
0
1
1
s1e5
2
2
3
1
3
2
3
1
3
1
2
3
3(0.1) 5(0.5) 3
0
6
2(0.2) 3(0.3)
m
formula (22)
0
2
mijp Lb round(rand(0,1) (Ub Lb))
Xe st3 st4 st5
e 7(0.3) 6(0.2) 55
4
0
8
9(0.4) 0
6
0
0
0
7
0
0
0
Figure 5: An example of matrix-based scout bee searching.
Assuming that X p does not improve after limit trails, the employed bee carrying X p becomes a scout bee that searches for a new solution. A binary mask string (1-0-0-1-1) is randomly generated with a rate to determine that the first, fourth, and fifth vertical composite structures should be modified. Thus, the original
s1p5 [1, 2, 3, 3, 2] is randomly
transformed to s15 [2, 2, 3, 1, 3] , and the corresponding elementary candidate services are e
randomly regenerated to achieve of
st1 , st4 , and st5 by using formula (22). As an example
st1 , the original vertical composite structure (only one candidate service) is transformed
into a choice structure. The corresponding candidate services with their choice rates are regenerated by using formula (22), and the sum of all choice probabilities is equal to 1. 2
3
7
9
Therefore, ms1 , ms1 , ms1 , and ms1 are selected for collaboratively achieving
st1
with choice rates of 0.2, 0.1, 0.3 and 0.4, respectively. If the generation of solutions stops, greedy selection is used to reserve a better one in the memory. The near-optimal solution is returned until the termination condition is reached.
5. Experiments and discussions In this section, we design five sets of experiments to compare the EABC algorithm with original ABC algorithm, GA, and PSO in solving the MSSC optimization problem, because GA and PSO have been recognized as two of most popular algorithms for solving service composition problems [10]. Figure 6 shows the overview of the experiments. In Sub-section 5.1, we first demonstrate the simulation of random QoS data setting, and then implement the experiment with an increasing population size to determine the population size setting of the four algorithms. In Sub-section 5.2, we carry out the comparison of QoS values among four different situations of correlations to evaluate the importance of correlations between candidate services. In addition,
the networked composition method is compared with the traditional one-to-one mapping-based composition approach to demonstrate the advantages of the networked composition method. In Sub-section 5.3, a real-world manufacturing task (wheel gear manufacture) is implemented by the four algorithms to evaluate the practicality of the EABC algorithm. In addition, we carry out statistical test to further verify the practicality of the EABC algorithm in solving five sets of the MSSC optimization problems. In Sub-section 5.4, we compare the average best QoS values and running time obtained by the four algorithms to demonstrate the effectiveness and efficiency of the EABC algorithm, respectively. The experiments in Sub-section 5.4 are carried out with three different combinations of weights of QoS attributes to demonstrate the influence of the weights on our model. QoS data setting
Different population sizes
5.1: Parameter design
Networked correlation
Vertical correlation
Horizontal correlation
No correlation
Comparing the average best QoS values
Part 1
Increasing number of candidate services
Part 2
Increasing number of subtasks
Three different combinations of weights of QoS attributes 5.4.1 Evaluating the effectiveness of the EABC algorithm
Networked composition method One-to-one mapping-based composition method 5.2: The importance of correlations
Wheel gear manufacture with seven subtasks Five sets of the MSSC optimization problems 5.3: The practicality of the EABC algorithm
Comparing running time
Part 1
Increasing number of candidate services
Part 2
Increasing number of subtasks
Three different combinations of weights of QoS attributes 5.4.2 Evaluating the efficiency of the EABC algorithm 5.4: The effectiveness and efficiency of the EABC algorithm
Figure 6: Overview of the experiments
The experiments are carried out using JAVA 1.8.0 on a computer with Windows 10 64-bits and quad-core Intel (R) Core i5 CPU 2.50 GHz with 8 GB RAM. In addition, these experiments are single threaded. 5.1 Parameter design The first set of experiments is implemented with an increasing population size from 5 to 120 to demonstrate the reasonable range of population size. The number of subtasks is fixed as 15, and the number of candidate services is fixed as 20 in each service set. The experiments are carried out 30 times within the same configurations to compare the average best QoS values. To make the results more objective, data sets are usually randomly generated to implement the multiple groups of experiments in the field of web service composition [23, 34]
and manufacturing service composition [6, 17]. Therefore, in this subsection, a series of subtasks are generated with a sequence structure, and then some candidate services are randomly generated to form respective candidate service sets for each subtask. About 40% of the total candidate services have correlations, including vertical and horizontal correlations. The reasonable range of QoS data about the three QoS attributes with three steps is shown in Table 1. Table 1: The range of the QoS data. Setup
Execute
Transport
Cost ($)
8-12
25-46
25-35
Time (H)
1.5-3.5
10-16
8-12
Availability
0.85-0.95
0.90-0.95
0.85-0.90
Figure 7 shows the comparison results, i.e., the average QoS values of MSSC solutions obtained by using the EABC algorithm are better than that by using the other algorithms whatever the population sizes are set. In addition, as the population size of the EABC algorithm increases from 5 to 45, the tendency of the best QoS values returned from the EABC algorithm is weakly increasing, and it remains stable when its population size exceeds 45. Though the tendencies returned from ABC algorithm and GA are similar, and remain stable when their population sizes exceed 25, the average QoS values obtained by ABC algorithm are always better than what is obtained by GA. However, the tendency returned from PSO is fluctuant with the increasing number of population size from 5 to 75, and cannot remain stable until its population size exceeds 75. The experimental results reveal that the smaller population sizes (i.e., less than 75) of the algorithms lead to premature convergence. On the other hand, if the population size is too large, the computational time tends to increase in each iteration [27]. Therefore, to make fair and efficient comparison, the population sizes of the four algorithms are set as 75. 0.866 0.863 0.860 Best QoS Value
0.857 0.854 0.851 0.848 0.845 0.842 0.839
EABC
ABC
GA
PSO
0.836 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100 105 110 115 120 Population Size
Figure 7: Best QoS value comparisons with different population sizes using four algorithms.
The terminating limit of the standard ABC algorithm is set as 100, which is consistent with literature [35]. The parameters of the migration operator in the EABC algorithm are set as follows: Pmod = 0.98, Ig= 1, and Eg= 1, which are consistent with literature [17]. The GA is employed with multi-point crossover operator, mutation operator and wheel selection strategy, and the parameters are set as follows: crossover rate = 0.85 and mutation rate = 0.05 [5]. The implementation of PSO is inspired from literature [13], and the cognitive and social components are set as 1.8; inertia weight is set as 0.6. The iteration times of the four algorithms are all set as 400. 5.2 The importance of correlations In the second set of experiments, we employ the EABC algorithm to solve an MSSC optimization problem with seven subtasks to evaluate the importance of correlations between candidate services. Each subtask has 20 candidate services. We first consider three situations about correlations in the MSSC optimization problem, including networked correlation (NetC), only horizontal correlation (HC), and only vertical correlation (VC). The proportion of the correlations is set from zero (i.e., no correlation) to 80%. Figure 8 shows that the average best overall QoS values of MSSC solutions with networked correlation are greater than that of the other two situations. It is interesting to note that compared with no correlation, NetC with 5% can boost the average QoS value by 14.86%. The results reveal that the networked correlations play an important and positive role on the MSSC solutions. Therefore, we can obtain potentially better MSSC solutions by considering the correlations between candidate services. Furthermore, the average QoS value is further slightly improved with the increasing proportion of the correlations from 5% to 85%. The main reason of such a slight improvement is that correlative services are preferentially selected to compose the MSSC solution, and the number of services is limited in vertical composition. In addition, our proposed networked composition method (NetCom) is compared with the traditional one-to-one mapping-based composition approach (OneCom) which also considers correlations. The correlations proportion of the two composition methods are both set as 40%. For ease of comparison, we use normalized values of time and cost. In other words, the higher normalized values of time and cost will mean the lower actual values of time and cost. Figure 9 shows that the normalized values of time and cost of the NetCom solution can be significantly boosted, when it is compared with the OneCom solution. The results demonstrate that our proposed NetCom method can reduce the time and cost consumption in service composition and find a potential better solution, even though the correlation is also considered in the traditional OneCom approach. The main reason is that
collaborative VCSG requires less time and cost than an individual service for achieving one subtask. 0.88
Average Best QoS Value
0.86 0.84 0.82 0.80 NetC
0.78
VC
0.76
HC
0.74 0
5
10
15
20
25
30 35 40 45 50 55 60 Proportion of correlations (%)
65
70
75
80
85
Figure 8: Comparison of QoS values among different situations of correlations. 0.94
OneCom
NetCom
Cost
QoS
0.89
0.84
0.79
0.74 Time
Figure 9: Comparison between OneCom method and our proposed NetCom method.
5.3 The practicality of the EABC algorithm We will use a real-world manufacturing task (wheel gear manufacture) to demonstrate the practicality of the EABC algorithm. The wheel gear manufacture can be decomposed into seven subtasks: {st1= forging, st2= normalizing, st3= turning, st4= hobbing, st5= gear shaving, st6= quenching, st7= grinding}. Each subtask has 20 candidate services. The vertical and horizontal correlations between the candidate services have positive influence on the MSSC solution. For an illustrative example of vertical correlation, ms11 screw press and ms12 hot die forging press, which are two functionally equivalent services for achieving st1= forging, are provided by two cooperative suppliers. These two services are more likely to be composed to form a better VCSG1 for achieving st1= forging, because the vertical composition tends to obtain a discount of the total cost. For another illustrative example of horizontal
correlation, ms11 screw press and ms12 batch-type furnace, which can achieve st1= forging and st2= normalizing, respectively, are provided by the same supplier. Service ms11 batch-type furnace is more likely to be combined with VCSG1 ( ms11 screw press and ms12 hot die forging press), because the horizontal composition tends to consume less time
and cost. Similarly, seven VCSGs with higher correlations are more likely to form an MSSC solution with higher QoS value for achieving the whole task of wheel gear manufacture. Apart from the wheel gear manufacture, other manufacturing tasks with different number of subtasks and candidate services corresponding to different real-life scenarios can be solved similarly. Figure 10 shows the evolutionary curves of the best QoS values using the four algorithms. The results illustrate that the EABC algorithm exceeds other three algorithms in solving the specific MSSC optimization problem. 0.865
Best QoS Value
0.855 0.845 0.835 EABC
0.825
ABC GA
0.815
PSO
0.805 0
20 40 60 80 100 120 140 160 180 200 220 240 260 280 300 320 340 360 380 400 Iteration Times
Figure 10: Evolutionary curves of the best QoS values using the four algorithms.
Apart from the comparison of evolutionary curves, we carry out statistical test to further verify the practicality of the EABC algorithm in solving the MSSC optimization problem. The statistical test is based on five sets of the MSSC optimization problems with different number of candidate services and subtasks solved by using the four algorithms in 30 times independently. The statistical index includes mean, best, worst, standard deviation (Std Dev), and running time (RT). According to the Figure 11, mean, best, and worst QoS values obtained by using the EABC algorithm are always better than that by using the other three algorithms for solving the five sets of MSSC optimization problems. In addition, the results of Std Dev values reveal that the EABC algorithm has better stability in solving each set of MSSC optimization problem. The running time of the EABC algorithm is slightly higher than that of other three algorithms. The main reason is that the migration operator of the EABC algorithm takes more computation effort to search for a better solution. On the other hand, the
other three algorithms tend to plunge into local optima instead of global optima, requiring less computation cost. Although we only present five sets of the MSSC optimization problems in Figure 11, the problems with different number of candidate services and subtasks corresponding to different real-life scenarios can be solved similarly. Therefore, our proposed EABC algorithm has better practicality in solving the MSSC optimization problem. 5.4 The effectiveness and efficiency of the EABC algorithm In this subsection, we implement another two sets of experiments to evaluate the effectiveness and efficiency of our proposed EABC algorithm, respectively. We also randomly generate the QoS data set to make the comparison results more objectively, and the parameter settings about the four algorithms have been demonstrated in subsection 5.1. These two sets of experiments are carried out 30 times to compare the average best QoS value and the average running time with different combination of weights of multi-objective function (16).
5.4.1 Evaluating the effectiveness of the EABC algorithm In the first part, we design the experiments with an increasing number of candidate services for each subtask within the 10 to 40 range, and the number of subtasks is fixed at 15. In the second part, we design the experiments with an increasing number of subtasks within the 10 to 40 range, and the number of candidate services for each subtask is fixed at 60. These experiments are carried out with three different combinations of weights of multi-objective. According to Figures 12 and 13, we find that regardless of which combination of the weights is chosen, our proposed EABC algorithm is consistently better than the other three algorithms to solve MSSC optimization problems with different number of candidate services or different number of subtasks The results reveal that weights of multi-objective can be determined based on different preferences of decision makers, and a better MSSC solution can be obtained by using the EABC algorithm. In addition, in Figure 13, the tendencies of the best QoS values solved using the four algorithms all linearly decrease with the increasing number of subtasks. The main reason is that the MSSC composition takes more time and cost, when the number of subtasks increases. Therefore, the effectiveness of our proposed EABC algorithm is better than the other three algorithms in solving the MSSC optimization problem.
0.48
0.010
2.4
0.40
0.008
2.0
EABC EABC
1.6
ABC ABC
1.2
GA GA PSO PSO
0.32
0.006
0.24 0.16
0.004
0.8
0.08
0.002
0.4
0.00 Mean
Best
Worst
0.0
0.000
RT (s)
Std Dev
(a) 80 candidate services and 100 subtasks. 0.48
0.012
0.40
1.8 1.5 1.2 0.9 0.6 0.3 0.0
0.009
0.32 0.24
0.006
0.16
0.003
0.08 0.00
0.000 Mean
Best
Worst
EAB EABC ABC ABC GA GA PSO PSO
RT (s)
Std Dev
(b) 100 candidate services and 100 subtasks. 0.60
1.5
0.008
0.50
1.2
0.006
0.40
EABC EAB ABC ABC GA GA PSO PSO
0.9
0.30
0.004 0.6
0.20
0.002
0.10 0.00
0.3 0.0
0.000 Mean
Best
Worst
RT (s)
Std Dev
(c) 160 candidate services and 80 subtasks. 0.55
0.008
2.0
0.44
0.006
1.6
0.33
EABC EAB ABC ABC
1.2
0.004 0.22
GA GA
0.8 0.002
0.11 0.00
0.0
0.000 Mean
Best
Worst
PSO PSO
0.4 RT (s)
Std Dev
(d) 180 candidate services and 100 subtasks. 0.45
0.008
0.36
0.006
1.6
0.004
1.2
2.0
0.27 0.18
EAB EABC ABC ABC GA GA
0.8 0.002
0.09 0.00
0.0
0.000 Mean
Best
Worst
PSO PSO
0.4 Std Dev
RT (s)
(e) 200 candidate services and 120 subtasks. Figure 11: Statistical results obtained by using the four algorithms in 30 times.
Average Best QoS Value
0.865 0.860 0.855 0.850 0.845 0.840 0.835 0.830 0.825 0.820 0.815 0.810 0.805
EABC
GA
ABC
PSO
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 The Number of Candidate Services
(a)
1 0.3, 2 0.6, 3 0.1
0.770 Average Best QoS Value
0.765 0.760 0.755 0.750 0.745 0.740 0.735 0.730
EABC
GA
0.725
ABC
PSO
0.720 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 The Number of Candidate Services
Average Best QoS Value
(b)
1 0.4, 2 0.3, 3 0.3
0.825 0.820 0.815 0.810 0.805 0.800 0.795 0.790 0.785 0.780 0.775 0.770 0.765
EABC
GA
ABC
PSO
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 The Number of Candidate Services
(c)
1 0.5, 2 0.3, 3 0.2
Figure 12: Comparisons of average best QoS values with an increasing number of candidate services.
Average Best QoS Value
0.89 0.87 0.85 0.83 0.81 0.79 0.77 0.75 0.73 0.71 0.69 0.67 0.65 0.63
EABC GA ABC PSO
10
12
14
16
18
20
(a)
22 24 26 28 30 The Number of Subtasks
32
34
36
38
40
1 0.3, 2 0.6, 3 0.1
0.79 EABC GA ABC PSO
Average Best QoS Value
0.77 0.75 0.73 0.71 0.69 0.67 0.65 0.63 0.61 10
12
14
16
18
20
(b)
22 24 26 28 30 The Number of Subtasks
32
34
36
38
40
1 0.4, 2 0.3, 3 0.3
Average Best QoS Value
0.85 0.83
EABC
0.81
GA ABC
0.79
PSO
0.77 0.75 0.73 0.71 0.69 0.67 0.65 0.63 10
12
14
16
18
(c)
20
22 24 26 28 30 The Number of Subtasks
32
34
36
38
1 0.5, 2 0.3, 3 0.2
Figure 13: Comparisons of average best QoS values with an increasing number of subtasks.
40
5.4.2 Evaluating the efficiency of the EABC algorithm To evaluate the efficiency of our proposed EABC algorithm, we compare the average running times to solve MSSC optimization problems by using the four different algorithms. To make the results more objective, we use the same data set to simultaneously implement the experiments within the same configurations in Figures 12 and 13, and another data set is also shared to simultaneously implement the experiments in Figures 14 and 15. The different combinations of weights of multi-objective also have little influence on the computational time with increasing number of candidate services or subtasks. In addition, Figure 14 shows that the running time of each algorithm is always stable with the increasing number of candidate services. Figure 15 shows that the running time of each algorithm always has a linear growth with an increasing number of subtasks. The results reveal that the four algorithms have good efficiency and ability to address large scale MSSC optimization problems competently. In addition, we find that the EABC algorithm needs to spend more running time to solve the MSSC optimization problems, which is consistent with the running time shown in Figure 11. The main reason is that the migration operator of the EABC algorithm takes more computation efforts to search for a better solution. The other three algorithms tend to plunge into local optima instead of global optima, thus requiring less running time and obtaining inferior solutions. Even if our proposed algorithm needs to spend more running time to solve MSSC optimization problems, the running time always has a linear growth with an increasing number of subtasks (Figure 15) or remains stable with an increasing number of candidate services (Figure 14). This reveals that our proposed algorithm can scale well in dealing with large scale MSSC optimization problems with vast amount of subtasks and candidate services. Therefore, from the perspectives of practicality, effectiveness, and efficiency, our proposed EABC algorithm is better than other three algorithms in solving the MSSC optimization problem.
0.45 0.40
EABC ABC
GA PSO
Running Time (s)
0.35 0.30 0.25 0.20 0.15 0.10 0.05 0.00 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 The Number of Candidate Services
1 0.3, 2 0.6, 3 0.1
(a) 0.5 0.4
EABC
GA
ABC
PSO
Running Time (s)
0.4 0.3 0.3 0.2 0.2 0.1 0.1 0.0 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 The Number of Candidate Services
(b) 0.45
EABC
GA
0.40
ABC
PSO
1 0.4, 2 0.3, 3 0.3
0.35 Running Time (s)
0.30 0.25 0.20 0.15 0.10 0.05 0.00 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 The Number of Candidate Services
(c)
1 0.5, 2 0.3, 3 0.2
Figure 14: Running time comparisons with the increasing number of candidate services.
Running Time (s)
0.88 0.80 0.72 0.64 0.56 0.48 0.40 0.32 0.24 0.16 0.08 0.00
EABC GA ABC PSO
10
12
14
16
18
20
Running Time (s)
(a) 0.88 0.80 0.72 0.64 0.56 0.48 0.40 0.32 0.24 0.16 0.08 0.00
32
34
36
38
40
32
34
36
38
40
32
34
36
38
40
1 0.3, 2 0.6, 3 0.1
EABC GA ABC PSO
10
12
14
16
18
20
(b)
Running Time (s)
22 24 26 28 30 The Number of Subtasks
0.88 0.80 0.72 0.64 0.56 0.48 0.40 0.32 0.24 0.16 0.08 0.00
22 24 26 28 30 The Number of Subtasks
1 0.4, 2 0.3, 3 0.3
EABC GA ABC PSO
10
12
14
16
18
(c)
20
22 24 26 28 30 The Number of Subtasks
1 0.5, 2 0.3, 3 0.2
Figure 15: Running time comparisons with the increasing number of subtasks.
6. Conclusion In this study, we focused on the MSSC optimization problem in terms of networked correlations between candidate services, and proposed an NCMSC mathematical model to
characterize the MSSC optimization problem. From the perspectives of practicality, effectiveness, and efficiency, our proposed EABC algorithm outperforms other three algorithms in solving the MSSC optimization problem. The experimental comparisons have revealed that (1) the networked correlations have a significant influence on the solutions of MSSCs, and that our proposed EABC algorithm is a more practical alternative to solve the MSSC optimization problem; (2) the EABC algorithm is more effective at solving the MSSC optimization problem than are the other three algorithms; (3) the EABC algorithm has good efficiency and ability to address the large scale MSSC optimization problem competently. The contributions in this study can be summed up as follows:
We have proposed a new NCMSC mathematical model to comprehensively consider both vertical correlation and horizontal correlation in MSSC optimization problem.
We have proposed a new matrix-based encoding scheme of the ABC algorithm to reasonably describe the complex MSSC solution, including the vertical composite structure and selected candidate services for collaboratively achieving the corresponding subtask. In addition, we have adapted the original operators of the ABC algorithm to implement the matrix-based food sources evolution.
We have presented an EABC algorithm to solve the NCMSC model and find a better MSSC solution. The migration operator of a BBO algorithm is combined with the original ABC algorithm to address the discrete MSSC optimization problem and improve the performance of the original ABC algorithm.
However, this study continues to have some limitations that are to be improved upon in the future. For example, horizontal correlations between nonadjacent candidate services or VCSGs should be considered in the NCMSC model. In addition, the correlations in the specific processes, such as setup, teardown and execution, can also be considered in realizing the service composition. Furthermore, the effectiveness and efficiency of the EABC algorithm could be further improved by integrating other meta-heuristic algorithms.
Acknowledgement The work has been supported by National Social Science Foundation of China (No. 16ZDA053), National Natural Science Foundation of China (No. 51475410, No. 51875503, No. 51775496), and Zhejiang Natural Science Foundation of China (No. LY17E050010)
(Declarations of interest: none)
References [1] Xiang, A., Liu, L., & Luo, Q. (2008). VPeers: A peer-to-peer service discovery framework for virtual manufacturing organizations. Computers in Industry, 59(5), 411-419. [2] Zhang, W. Y., Zhang, S., Chen, Y. G., & Pan, X. W. (2013). Combining social network and collaborative filtering for personalised manufacturing service recommendation. International Journal of Production Research, 51(22), 6702-6719. [3] Zhang, W. Y., Zhang, S., & Guo, S. S. (2017). A PageRank-based reputation model for personalised manufacturing service recommendation. Enterprise Information Systems, 11(5), 672-693. [4] Chen, Y., Huang, J., Lin, C., & Hu, J. (2015). A partial selection methodology for efficient QoS-aware service composition. IEEE Transactions on Services Computing, 8(3), 384-397. [5] Zhang, W. Y., Zhang, S., Cai, M., & Huang, J. X. (2011). A new manufacturing resource allocation method for supply chain optimization using extended genetic algorithm. The International Journal of Advanced Manufacturing Technology, 53(9-12), 1247-1260. [6] Zhang, W. Y., Zhang, S., Guo, S. S., Yang, Y. S., & Chen, Y. (2017). Concurrent optimal allocation of distributed manufacturing resources using extended Teaching-Learning-Based Optimization. International Journal of Production Research, 55(3), 718-735. [7] Huang, B. Q., Li, C. H., & Tao, F. (2014). A chaos control optimal algorithm for QoS-based service composition selection in cloud manufacturing system. Enterprise Information Systems, 8(4), 445-463. [8] Liu, B., & Zhang, Z. L. (2017). QoS-aware service composition for cloud manufacturing based on the optimal construction of synergistic elementary service groups. The International Journal of Advanced Manufacturing Technology, 88(9), 2757–2771. [9] Tao, F., Zhao, D., Hu, Y., & Zhou, Z. (2008). Resource service composition and its optimal-selection based on particle swarm optimization in manufacturing grid system. IEEE Transactions on Industrial Informatics, 4(4), 315-327. [10] Jatoth, C., Gangadharan, G. R., & Buyya, R. (2017). Computational intelligence based QoS-aware web service composition: A systematic literature review. IEEE Transactions on Services Computing, 10(3), 475-492.
[11] Karaboga, D. (2005). An Idea Based on Honey Bee Swarm for Numerical Optimization, Technical Report-TR06, Erciyes University, Engineering Faculty, Computer Engineering Department. [12] Karaboga, D., & Basturk, B. (2008). On the performance of artificial bee colony (ABC) algorithm. Applied Soft Computing, 8(1), 687-697. [13] Karaboga, D., & Akay, B. (2009). A comparative study of artificial bee colony algorithm. Applied Mathematics and Computation, 214(1), 108-132. [14] Simon, D. (2008). Biogeography-based optimization. IEEE Transactions on Evolutionary Computation, 12(6), 702-713. [15] Zeng, L., Benatallah, B., Ngu, A. H., Dumas, M., Kalagnanam, J., & Chang, H. (2004). QoS-aware middleware for web services composition. IEEE Transactions on Software Engineering, 30(5), 311-327. [16] Li, J., Zheng, X. L., Chen, S. T., Song, W. W., & Chen, D. R. (2014). An efficient and reliable approach for quality-of-service-aware service composition. Information Sciences, 269, 238-254. [17] Zhang, S., Xu, S., Zhang, W. Y., Yu, D. J., & Chen, K. (2018). A hybrid approach combining an extended BBO algorithm with an intuitionistic fuzzy entropy weight method for QoS-aware manufacturing service supply chain optimization. Neurocomputing, 272, 439-452. [18] Xue, X., Wang, S. F., & Lu, B. Y. (2016). Manufacturing service composition method based on networked collaboration mode. Journal of Network and Computer Applications, 59, 28-38. [19] Lecue, F., & Mehandjiev, N. (2011). Seeking quality of web service composition in a semantic dimension. IEEE Transactions on Knowledge and Data Engineering, 23(6), 942-959. [20] Chattopadhyay, S., & Banerjee, A. (2017). QoS constrained large scale web service composition using
abstraction
refinement.
IEEE
Transactions
on
Services
Computing,
DOI:
10.1109/TSC.2017.2707548. [21] Tao, F., Zhao, D. M., Hu, Y. F., & Zhou, Z. D. (2010). Correlation-aware resource service composition and optimal-selection in manufacturing grid. European Journal of Operational Research, 201(1), 129-143. [22] Guo, H., Tao, F., Zhang, L., Su, S. Y., & Si, N. (2010). Correlation-aware web services composition and QoS computation model in virtual enterprise. The International Journal of Advanced Manufacturing Technology, 51(5), 817-827.
[23] Chen, Y., Huang, J., Lin, C., & Shen, X. (2016). Multi-objective service composition with QoS dependencies. IEEE Transactions on Cloud Computing, DOI: 10.1109/TCC.2016.2607750. [24] Mehdi, M., Bouguila, N., & Bentahar, J. (2016). Trust and reputation of web services through QoS correlation lens. IEEE Transactions on Services Computing, 9(6), 968-981. [25] Deng, S. G., Wu, H., Hu, D., & Zhao, J. L. (2016). Service selection for composition with QoS correlations. IEEE Transactions on Services Computing, 9(2), 291-303. [26] Akay, B., & Karaboga, D. (2012). A modified artificial bee colony algorithm for real-parameter optimization. Information Sciences, 192, 120-142. [27] Li, X. T., & Ma, S. J. (2017). Multiobjective discrete artificial bee colony algorithm for multiobjective permutation flow shop scheduling problem with sequence dependent setup times. IEEE Transactions on Engineering Management, 64(2), 149-165. [28] Gao, K. Z., Suganthan, P. N., Pan, Q. K., Tasgetiren, M. F., & Sadollah, A. (2016). Artificial bee colony algorithm for scheduling and rescheduling fuzzy flexible job shop problem with new job insertion. Knowledge-Based Systems, 109, 1-16. [29] Szeto, W. Y., Wu, Y., & Ho, S. C. (2011). An artificial bee colony algorithm for the capacitated vehicle routing problem. European Journal of Operational Research, 215(1), 126-135. [30] Wang, X. Z., Xu, X. F., Sheng, Q. Z., Wang, Z. J., & Yao, L. N. (2016). Novel artificial bee colony algorithms for QoS-aware service selection. IEEE Transactions on Services Computing, DOI: 10.1109/TSC.2016.2612663. [31] Zhou, J. J., & Yao, X. F. (2017). Multi-population parallel self-adaptive differential artificial bee colony algorithm with application in large-scale service composition for cloud manufacturing. Applied Soft Computing, 56, 379-397. [32] Zhou, J. J., & Yao, X. F. (2017). DE-caABC: differential evolution enhanced context-aware
artificial bee colony algorithm for service composition and optimal selection in cloud manufacturing. The International Journal of Advanced Manufacturing Technology, 90(1-4), 1085-1103. [33] Fogel, D. B. (1994). An introduction to simulated evolutionary optimization. IEEE Transactions on Neural Networks, 5(1), 3-14.
[34] Deng, S. G., Huang, L. T., Hu, D., Zhao, J. L., & Wu, Z. (2016). Mobility-enabled service selection for composite services. IEEE Transactions on Services Computing, 9(3), 394-407.
[35] Huo, Y., Zhuang, Y., Gu, J., Ni, S., & Xue, Y. (2015). Discrete gbest-guided artificial bee colony algorithm for cloud service composition. Applied Intelligence, 42(4), 661-678.