A Hybrid Multiobjective Discrete Particle Swarm Optimization Algorithm for a SLA-Aware Service Composition Problem

service Concrete service Prob distribution and QoS measures Cost Prob (%) Throughput Latency


Introduction
Service-oriented architecture (SOA) is an emerging style of software architecture that reuses and combines loosely coupled services for building, maintaining, and integrating applications in order to improve productivity and cost effectiveness throughout the application life cycle [1].In SOA, each application is often designed with a set of services and a workflow (or business process).Each service encapsulates the function of an application component.Each workflow defines how services interact with each other.When a serviceoriented application operates, it is instantiated as a workflow instance that deploys each service in the application as one or more service instances.Each service instance follows a particular deployment plan; different service instances operate at different quality of service (QoS) levels.When an application is intended to serve different categories of users, it is instantiated with multiple workflow instances, each of which is responsible for offering a specific QoS level to a particular user category.
In SOA, a service-level agreement (SLA) is defined upon a workflow instance as its end-to-end QoS requirements such as throughput, latency, and cost (e.g., resource utilization fees).In order to satisfy the given SLAs, application, developers are required to optimize a composition of service instances, service composition, for each user category by considering which service instances to use for each service and how many service instances to use for each service.This decision-making problem, called the SLA-aware service composition (SSC) problem, is a combinatorial optimization problem that searches the optimal bindings between each service and its service instances.
Although a large number of research work have leveraged linear programming [2,3] to solve the SSC problem, they suffer from high computational costs.To address the issue of high computational costs, several heuristicsz [4,5] have been studied, but they just convert a multiobjective optimization problem into a single-objective optimization problem and do not take SLAs into account.Until 2012 Wada et al. [6] began to convert SSC problem into a multiobjective optimization problem with multiple SLAs and proposed algorithms MOGA and NSGA-II.But there are several problems in these two algorithms.Firstly, the service model for SSC problem associated with those two algorithms contains too many objectives, which include all QoS attributes of service composition in all SLAs.In this way, the number of objectives will remarkably rise with the increase of the number of service composition's QoS attributes and the number of SLAs.Secondly, in the existing algorithms, when generating new populations, the chromosomes are used to make crossover and mutation by selection of the uniformly random manner, which cannot make some promising candidates to be selected more frequently.Furthermore, for the evaluation of the candidates in the environmental selection process, only the strength of a candidate being dominated is considered, but how many candidates it dominates is not considered.These make the existing algorithms for this problem converge slowly, easily fall into local optimum, and are hard to get satisfying solution sets when problem scale is relatively large.
To tackle these problems, we redefine the service model for this SSC problem and propose algorithm HMDPSO to solve it.Our algorithm combined genetic operators and particle swarm optimization algorithm (PSO), which is a widely used swarm intelligence algorithm [7][8][9] and has the merits like easy realization, high precision, and fast convergence, and so on.
In this algorithm, a particle updating strategy is designed by introducing the crossover operator in genetic algorithm based on the exchange of candidate services; a particle mutation strategy is proposed to increase particle swarm's diversity by introducing new information and then increase the particle swarm's global searching capacity; in order to distinguish small differences among particle positions, a finegrained domination value assignment method is used to calculate the fitness value of particles which will guide the particles' optimization process more accurately; in order to accelerate the process of obtaining feasible service composition and optimize it, an improved version of algorithm HMDPSO+ incorporated with a local search strategy improving the particle position from its candidates is designed.In the end, the evaluation of these two algorithms including their parameters turning and comparative studies based on 4 different cases is given.

Multiobjective Optimization Model for Service Composition
The SLA-aware service composition problem is a combinational optimization problem for searching the optima bindings between each service and its service instance, which is a NP-hard problem [6].A workflow is modeled in Figure 1.
It consists of a series of abstract services and each abstract service has several concrete services to realize its function.
Concrete services can be bound to an abstract service in parallel and it need to make sure that at least one concrete service is bound to an abstract service.When every abstract service has deployed with concrete services, it forms a service composition.Multiple service instances can be bound to an abstract service in parallel for improving the service's throughput and fault tolerance, which are called redundant parallel.In order to satisfy multilevel

QoS
Aggregation function requirements from SSC problem, a solution representing multilevel service composition has to be designed.
In order to judge whether a service composition satisfies a given SLA, it is required to examine its end-to-end QoS by aggregating QoS measures of individual service instances.Suppose a two-dimensional vector  = ( 11 , . . .,   ) representing all concrete services, where  denotes the quantity of abstract services included in an abstract workflow and  denotes the quantity of concrete services related to each abstract service, and a three-dimensional vector  = (cs 1 , . . ., cs  ) = ( 111 , . . .,  1 , . . .,  11 , . . .,   ) representing a solution of SSC problem, where  denotes the quantity of levels included in the problem.The component cs  in solution  means a service composition which satisfies the th level of SLA constraint, and component   means the number of instances for concrete service   in service composition cs  , where  ∈ [1, ],  ∈ ;  ∈ [1, ],  ∈ ;  ∈ [1, ],  ∈ .In order to be consistent with the former settings, we denote a vector cs  = (cands 1 , . . ., cands  ) to represent service composition cs  , and its component is defined as follows.
Definition 1 (candidate service).A part vector of solution  associated with one abstract service, cands  = ( 1 , . . .,   ), is defined as a candidate service if and only if this part vector represents a deployment of concrete services associated with the same abstract service  in level  and it is not equal to zero.
QoS attributes of service composition such as throughput, latency, and cost are represented by  1 ,  2 , and  3 , respectively.The end-to-end QoS attributes of a service composition are calculated by aggregating QoS measures of every service instances based on their structure.Each abstract service is interpreted as a collection of concrete services in redundant parallel and the aggregate functions are shown in Table 1.QoS attributes of a candidate service are calculated by aggregating QoS measures of corresponding redundant parallel concrete instance.
Table 2 shows aggregation functions among abstract services for different structure, and the notations ∏  , ∏  , and ∏  represent aggregation functions of throughput, latency, and cost, respectively.
Suppose there are three level user categories: platinum, gold, and silver users, so the quantity of levels is three, which is  = 3; and denote cs 1 , cs 2 , and cs 3 to represent three service compositions for platinum, gold, and silver user, respectively.
Suppose each abstract service is associated with three concrete services that operate at different QoS measures which are high-end (high throughput/latency and high cost), lowend (low throughput/latency and low cost), and intermediate (intermediate throughput, latency, and cost), so quantity of concrete services related to each abstract service is three, which is  = 3.According to the supposition, QoS attributes of three level service compositions are calculated as follows: A vector of the SLA QoS constraints is  = ( 1 , . . .,  7 ), which represents the multilevel constraint and is expressed in terms of a vector of upper or lower bounds for different QoS criteria.In SSC problem, there are a worst case throughput and latency for platinum and gold users, and there are a worst case and a cost limit on silver users; in addition there is a limit on the total costs incurred by all three user categories.And the SLA constraints are expressed in detail as follows: SSC problem optimized in terms of three objectives; there are total throughput, latency, and cost incurred by all three user categories, which are expressed in detail as follows: 1 () =  1 (cs 1 ) +  1 (cs 2 ) +  1 (cs 3 ) ,  2 () =  2 (cs 1 ) +  2 (cs 2 ) +  2 (cs 3 ) ,  3 () =  3 (cs 1 ) +  3 (cs 2 ) +  3 (cs 3 ) . ( Definition 2 (SLA-aware service composition).For a given abstract workflow  and the SLA QoS constraints, SLA-aware service composition is to find solutions related to three level user categories, which satisfy the global QoS constraints and optimize total three objectives.

Hybrid Multiobjective Discrete Particle Swarm Optimization
In order to use particle optimization algorithm to solve SSC problem, algorithm HMDPSO defined particle update strategy by introducing crossover operator to make global search of the solution space; it designed mutation strategy to prevent particles swarm from premature convergence; and the complete algorithm will be given in detail.In addition, in order to accelerate the process of obtaining feasible solution, algorithm HMDPSO+ was also be designed which was combined local-search strategy and algorithm HMDPSO.

The Design of Particle Position.
Figure 2 shows an example of particle position that represents a solution of SSC problem.Each component encodes the number of instances for each concrete service.In this example, a workflow consists of four abstract services,  = 4; according to the assumption of SSC problem, every abstract service has three concrete services (4 * 3 = 12 components for one service composition) and a solution representing three service compositions for platinum, gold, and silver users (12 * 3 = 36 components).

3.2.
Particle Update Strategy.The particle update includes particle velocity and particle position update, and in accordance with the characteristics of the SSC problem, HMDPSO introduces the crossover operator to redefine the way of particle velocity update in particle update strategy, as shown in Figure 3. Particle velocity updated through crossover among three particle positions is particle's individual best position, particle's global best position, and particle's current velocity.Every position will be divided into three parts by two intersection points, which are abstract service nodes, and also bounded to separate every candidate service.The new velocity is made up by three parts from three different particle positions.The new current position is obtained by crossover between the particle's current position and particle's new velocity.
It can be inferred from the particle update strategy that, like the traditional PSO algorithm, the behaviors of particle in particle update strategy of HMDPSO are affected by the current momentum, cognitive component, and social 3 0 1 0 0 0 2 0 1 1 4 2 3  2 0 0 1 2 3 2 2 9 0 3 0 1 0 0 0 0 2 4 0 2 1 2 0 0 0 2 1 0 0 0 0 4 0 1 0 2 0 0 1 0 4 4 0 9 0 3 0 1 0 0 0 0 2 4 0 2 1 2 0 0 0 3 0 1 0 0 0 4 1 0 1 Crossover point 1 Crossover point 2 component; and algorithm HMDPSO also possesses merits of algorithm PSO like easy calculating, fast convergences, and so on.Furthermore, this particle update strategy is also accordant with the feature of our problem model, since our crossover point will maintain the integrity of candidate services which is the minimum unit and represents the QoS attributes of abstract service.If the crossover point is in the middle of abstract service, some better candidate services will be destroyed and even changes on components of candidate service will happen in the mutation operator.Equations for particle updating are shown as follows: where symbol ⊗ denotes crossover operator; (4) represents particle's velocity update equation and particle's position update equation, respectively.

Particle Mutation Strategy.
It is known from the particle update process that every particle's move follows its individual best position and global best position, so the HMDPSO possesses the merits of quick convergence and simple computation.But the particle's current position will quickly approach the individual best position and global best position, namely, its three positions are the same and algorithm HMDPSO falls into local optimal solution.The reason for particles' falling into local optimal position is that the energy of particle swarm is decreasing and useful information is continuously lost; as a result, particles do not have the ability to jump out of local optimum [10].Consequently, swarm diversity indicator has been defined.
Definition 3. The swarm diversity indicator is calculated by summation of particles' energy in a swarm.And for a given particle   ,  ∈ [0,  − 1],  ∈ , its energy is computed as follows: energy where   () is the th component of particle   , and The value of swarm diversity indicator is the summation of every particle's energy: It can be inferred that, to a certain extent, the swarm diversity indicator can reflect the global search capability possessed by current particle swarm.When the swarm diversity is decreasing during iterations and its value is lower than the threshold , it will induce a mutation on particles' individual best position.And the mutation operator is shown as follows: New information is introduced into particle swarm through particle position mutation: it will increase particle swarm diversity, guide particles search the area that they never been, and prevent premature and earlier convergence.

HMDPSO.
Procedure 1 shows the optimization process in HMDPSO.Particle swarm  0 and global particle swarm  0 best are randomly initialized in the beginning; namely, particles in  0 randomly initialize their current position   (0), velocity   (0), and individual best position  best (0); and particles in  0 best randomly initialize their current position.In each iteration, swarm diversity indicator of   is calculated firstly, and then swarm particle updates and every new particle's individual best position will be added to particle swarm   ; after that fitness of particles in   ∪   best is computed by function Assign Fitness Value( ) and top  particles with respect to their fitness value used to update   best .When   best is replaced by  (+1) best , one iteration is ended, and HMDPSO repeats the above iteration for  max times.
For particle , swarm particle update can be divided into three parts; the first, when swarm particle diversity is lower than , components of particle 's individual best position are randomly altered by mutation( ); the second,  V () is selected with binary tournaments from  best , as combined with particle 's velocity and individual best position  best (), particle 's new current position   ( + 1) is produced according to the particle update strategy; the third, it needs to make a comparison between   ( + 1) and  best () about constraint domination [4], when  best () is said to be constraint domination of   ( + 1),  best () stays the same; when  best () is said to dominate   ( + 1) or they are nondominated,  best ( + 1) is replaced by   ( + 1) and  best ( + 1) is added to particle swarm   .
In fitness function, every particle can get its domination rank through constraint domination [11], and domination rank of 1 means the nondominated particles, and higher domination rank means being dominated by more particles.Domination value for particle  in HMDPSO is assigned by the summation of number of particles in its domination rank, the number of particles in the higher domination rank, and the number of particles it dominates, which is detailed in Figure 4.
Fitness values are assigned in the way of Procedure 2; for any feasible particle position satisfying SLA constraint, HMDPSO assigns the product of a domination value, distance from the worst point and sparsity as its fitness value; for any infeasible particle position not satisfying SLAs, the minus value of the individual's SLA violations divided by domination value as its fitness value is assigned.In practice, it uses a fine-grained domination value assignment strategy which incorporates individual's dominating information.
The way particle domination value is obtained in our algorithm is the same as that in NSGA-II [11], so both of their complexity are ( 2 ), where  is the number of objectives and  is the size of the particle swarm.Distance from the worst point and sparsity both need () computations, so the complexity of fitness function is ( 2 ) + 2 * () = ( 2 ).And function mutation, random selection, and BT selection in swarm particle update all need () computations.Consequently, the overall complexity of the algorithm now is  max (( 2 ) + ()) = ( 2  max ).Since algorithm HMDPSO has the same fitness function with MOGA, the complexity of algorithm MOGA is ( 2  max ) too.When the iteration number of NSGA-II is  max , its complexity is also ( 2  max ); therefore, complexity of algorithm HMDPSO, MOGA, and NSGA-II is the same.

Local Search Strategy.
In order to speed up the process of obtaining the feasible particle position and optimization process, a local search strategy is proposed based on candidate service domination and incorporated into the algorithm HMDPSO.And it updates particle position by updating every candidate service to accelerate improvement of its constraint satisfaction and optimize their objectives.Because there is need for seven in-equations to satisfy for a feasible solution in SSC problem when the workflow structure becomes complicated, infeasible solutions tend to be nondominated and it is difficult to obtain a feasible solution.Local search strategy updates every candidate service in a solution through candidate service domination to alleviate particles' evolutionary pressure and speed up the process of solution obtaining.
In SSC, every candidate service in a solution has QoS attributes like throughput, latency, and cost.According to the characteristic of aggregation functions in Table 1, for throughput, the service composition's throughput will satisfy its constraint only when its every candidate service's throughput satisfies its constraint; for latency and cost, when the value of these two QoS attributes of each candidate service is as small as possible, service composition related to candidate services will be easier to satisfy its constraints about these two QoS measures.Therefore, a candidate service  is said to dominate a candidate service  when any of the following conditions hold: (1) throughput of candidate service  satisfies its constraint; (2) value of candidate service 's latency is lower than that of candidate service ; (3) value of candidate service 's cost is lower than that of candidate service .In algorithm HMDPSO+, global best solution is randomly selected from particle swarm  best , and it has been updated by comparison with mutated individual best particle position according to local search strategy.In addition, local search needs () computations, where  is the number of abstract service, so complexity of algorithm HMDPSO+ is also ( 2  max ).

Experimental Design
To verify the effectiveness of the algorithm, this section will test the proposed algorithm HMDPSO and HMDPSO+ on four different scale-test cases and discuss the influence of parameters swarm size and swarm diversity threshold  and then compare and analyze them with algorithms NSGA-II [11] and MOGA [4].Experiments will evaluate how algorithms optimize service compositions, which is based on the objectives performances and index of hypervolume [12].All algorithms are implemented in c language and executed on a core (TM) 2, 2.00 GHz, 3 GB RAM computer.

Test Cases.
Three different structures of abstract workflow are been designed in this paper, which are related to four different test cases.For each test case, a set of solutions lying near Pareto-optimal front from both algorithms HMDPSO+ and HMDPSO will be compared with that solution sets from both algorithms NSGA-II and MOGA.
Because complexity of all compared algorithm is the same, the termination condition for all algorithms on each test case is set based on the maximum fitness-function evaluation number, which is set as Level * Length * 10 4 , where Level is the total level number and Length is the total abstract service number in all levels.
The first abstract workflow includes four abstract services, which is associated with Case 1, and its structure is shown as in Figure 1.And each abstract service is associated with three concrete services that operate at different QoS measures in Table 3: high-end (high throughput/latency and high cost), low-end (low throughput/latency and low cost), and intermediate (intermediate throughput/latency and low cost).Date set for Case 1 includes the concrete services and their distribution associated with the former four abstract services.
The SLA for Case 1 is illustrated in Table 4, and platinum and gold users have SLA on their throughput and latency; silver users have SLA on their throughput and cost; and there is a SLA on their total cost.Objective functions of Case 1 are obtained according to its workflow structure as in Figure 1, and objective formula (3); in the same way, SLA constraint functions are obtained according to SLA constraint for Case 1 in Table 4 and constraint formula (2).Termination condition of Case 1, the maximum fitness function evaluation number, is set as 1.2 * 10 5 .All results are the average of 10 independent runs.
The second abstract workflow includes seven abstract services, which is related to Case 2 and its structure, including branch structure, as shown in Figure 5.This branch structure means that when one abstract service execution is completed, only one of several abstract services connected with it will be executed.Each abstract service in Case 2 is also associated with three concrete services operating at different QoS measures, and date set and SLA constraint are shown in Tables 3 and 5, respectively.In the same way, objective functions of Case 2 are obtained according to its workflow structure as in Figure 4, and objective formula (3); SLA constraint functions are obtained according to SLA constraint for Case 2, as in Table 5, and constraint formula (2).Termination condition for Case 2, the maximum fitness function evaluation number, is set as 2.1 * 10 5 .All results are the average of 10 independent runs.
The third abstract workflow consists of a sequence of various numbers of abstract services, which is related to Case 3, and Case 4; and Case 3 includes 10 abstract services while Case 4 includes 15.In Case 3 and Case 4 each abstract service is associated with 3 concrete services whose QoS measures are constant as in Table 6.SLA constraint for Case 3 and Case 4 is shown in Table 7, where  represents the number of abstract services included in the third abstract workflow.Objective functions of Case 3 and Case 4 are obtained according to their workflow structure and objective formula (3); SLA constraint functions are obtained according to SLA constraint for Case 3 and Case 4 as in Table 7 and constraint formula (2).Termination conditions for Case 3 and Case 4, the maximum fitness function evaluation number, are set as 3.0 * 10 6 and 4.5 * 10 6 , respectively; all results are the average of 10 independent runs.
Assume that each concrete service has at most 10 instances, so a service composition for one user category has a search space of (10 3 − 1)  , and the search space is expanded to (10 3 − 1) 3 ≈ 1 × 10 9 for a solution representing three categories of users.This number indicates the total number of possible combinations of service instances.The search space of the workflow in Case 1 is approximately 1×10 36 , the search space of the workflow in Case 3 is approximately 1×10 90 , and the search space of the workflow in Case 4 is approximately 1 × 10 135 .This analysis shows that the SSC problem tends to have a huge search space even if small numbers of abstract and concrete services are involved.

Parameter Turning and Convergence Analysis.
In our proposed algorithms HMDPSO and HMDPSO+, the main parameters are particle swarm size   and the swarm diversity threshold .The influence of parameter   on the algorithms' performance is obvious if the complexity is not taken into account, and when   is larger than a certain value, the particle swarm will be difficult to converge and reduce the performance of algorithms.The range of parameter   is set to be from 50 to 200 with an increment of 25.Parameter  is more sensitive than   , so its range is set to be from 0.1 to 0.4 with an increment of 0.05 and its default value is set as  = 0.35.
In order to perform parameter exploration studies, all four test cases, associated with four different data sets, are involved.But the hypervolumes of solution sets obtained from these test cases are not of the same order of magnitude, so they will be converted into -values using the following formula according to different test cases: where    is the hypervolume of solution set obtained from algorithm HMDPSO, when it runs on case  and the parameter  is set as the th value, and  ∈ {1, 2, 3, 4},  ∈ {1, 2},  ∈ [1,7],  ∈ .When  and  stay the same for all the possible valueS of , we can get the maximum    , namely, max  (   );   (max  (   )) represents the quantity level of max  (   ); for example, the quantity level of 0.005 is 0.001.
In this process of parameter turning, swarm-size   will be turned first and then the parameter .For the parameter   , we vary its value one at a time, while setting the value of parameter  to its default value; for the next unturned parameter , we vary its value one at a time, while setting the value of turned parameter   to the obtained most appropriate ones.During the process, the algorithm HMDPSO with each parameter configuration runs 20 times on each used test case; the result is converted by formula (9) and shown in Figure 6.From Figure 6 when   = 100; and algorithm HMDPSO has the similar value in Case 4 for   = 100 and   = 125.The maximum -value for all cases is obtained when  = 0.30 as shown in Figure 6(b).So the comparatively better settings for these parameters are   = 100 and  = 0.30 for the algorithm HMDPSO.
At each run, the hypervolume of sets of solution lying near Pareto-optimal front obtained during each interval is recorded.Then the hyper-volume values achieved at the corresponding time intervals in the 20 runs of algorithm HMDPSO on four test cases are averaged.In order to compare these averaged hypervolume values in similar order of magnitude, they are all converted into -values by formula (9).By this way, the obtained convergent lines for algorithm HMDPSO on all cases are shown in Figure 7, which depicts the averaged -value and reflects the effect of the algorithm's hyper-volume.We can see that algorithm HMDPSO has different convergent performances on different test cases.In Cases 1 and 2, the algorithm achieves convergent value faster than that in Case 3 and Case 4; that is because compared with Cases 1 and 2, Cases 3 and 4 in Section 4.1 are more complicated, like including more abstract services, and have relatively more strict SLA constraints.
At the same time, hypervolumes of algorithm HMDPSO on all test cases have fluctuations before they get their convergent values, because particles' behaviors are affected by different strategies and fitness function, and all their effects cannot fit perfectly with the effects of hypervolume's computation rule on solution sets.Furthermore, hypervalue obtained from algorithm HMDPSO on test cases are converged to a certain value after 3000 iterations.

Compared with Recently Proposed Algorithms.
For SSC problem, both algorithms HMDPSO (hybrid multiobjective discrete particle optimization algorithm) and HMDPSO+ (hybrid multiobjective discrete particle optimization algorithm incorporated with local search) are compared with recently proposed algorithms MOGA and NSGA-II on four cases which are constructed in former section with different abstract workflow structures.The parameters of the algorithms HMDPSO+ and HMDPSO and termination conditions of all these algorithms are set as in Section 4.1.Experiment was displayed into two parts: the first part displays how objectives are optimized by all compared algorithms, and the solution set distribution is shown in Figure 7; the second part compares hyper-volume of all algorithms on different test cases which are shown in Figure 9.
(1) Objective Optimization.In this part, solution sets obtained from algorithms HMDPSO+, HMDPSO,NSGA-II, and MOGA are compared on four different cases set as before.The 100-solution sets are selected with largest hyper-volume among the results in 20 independent runs on four different cases, and every solution is associated with three objectives which are normalized and the larger, the better.All the statistical experiment results of the mean (mean) and standard deviation (STD) of all three objectives associated with solution sets are summarized in Table 8 among HMDPSO+, HMDPSO, MOGA, and NSGA-II.The two-tailed -test is used to verify whether every objective of HMDPSO+, HMDPSO, MOGA, and NSGA-II has distinctive difference with 99 degrees of freedom and significance level  = 0.05.
As observed from Table 8, we can see that the items of "all three objectives" of algorithm HMDPSO+ are much better than those of algorithms HMDPSO, MOGA, and NSGA-II.The values of the test statistics between algorithms HMDPSO+ and HMDPSO and MOGA and NSGA-II are given as the -test column in the Table 8, which shows that the mean results between algorithm HMDPSO+ and algorithm HMDPSO, MOGA/NSGA-II have significant difference at the 5% level.So solutions produced by algorithm HMDPSO+ are obviously better than that produced by algorithm HMDPSO, MOGA, and NSGA-II, on all objectives and all cases, and this is further proved by Figure 7.
Solution sets with largest hypervolume are also plotted in a three-dimensional coordinate system according to different cases in Figure 8.And we can see that the effect of solution sets plotted in Figure 8 is accordant with the analysis in  8.For example in Case 1, mean of "all three objectives" of algorithm HMDPSO+ is better than those of algorithms HMDPSO, MOGA, and NSGA-II as in Table 8, and the coordinate value of solutions from algorithm HMDPSO+ is relatively larger than those of the compared algorithm.
The STD value of "all three objectives" is related to the degree of distribution concentration, since solution set from algorithm HMDSPO+ with relatively smaller STD value, solutions in that set distributes more concentrate as in Figure 8 accordingly.The -test value of "all three objectives" represents the level of significance of differences and the larger the -test value is, the bigger the difference is.The difference of "all three objectives" between algorithm HMDPSO+ and algorithm NSGA-II is the largest among all the differences of "all three objectives" between algorithm HMDPSO+ and other compared algorithms as in Table 8; accordingly, we can see that distribution of solution sets obtained from algorithm HMDPSO+ is roughly farthest from the distribution of solution sets obtained from algorithm NSGA-II.The -test values of "all three objectives" between algorithm HMDPSO/MOGA and algorithm HMDPSO+ are near as in Table 8, and distribution of solution sets obtained from algorithms HMDPSO and MOGA overlaps each other with some area, and they are relatively the same far away from the distribution of solution sets obtained from algorithm HMDPSO+.As far as other cases are considered, similar situations appear again that algorithm HMDPSO+ greatly outperforms algorithms HMDPSO, MOGA, and NSGA-II and the superiority of MDOSP+ over HMDPSO, MOGA, and NSGA-II is more and more clear.
These results indicate that algorithm HMDPSO+ with local search strategies proposed in this paper has powerful search ability and excellent convergence property when compared with algorithms HMDPSO, MOGA, and NSGA-II for SLA-aware service composition problem with different scales and different workflow structures.
(2) Hypervolume Comparison.In this part, we compare the hyper-volumes of solution sets from algorithms HMDPSO+, HMDPSO, MOGA, and NSGA-II on 4 different scale-test cases set as in Section 4.1.We run each algorithm twenty times on each test case.The maximum hypervolume, minimum hyper-volume, mean, and the coefficient of variation obtained by each compared algorithm in the twenty runs on each instance are given in Table 9. Coefficient of variation, which is dimensionless and scale invariant variance, is defined as the ratio of the standard deviation: CV = /, where  and  are the standard deviation and the mean of QoS values, respectively.Lower CV means that solutions are more equally distributed over the objective space.We can see that the maximum hyper-volume, minimum hyper-volume, and mean value obtained by the algorithm HMDPSO+ for each test case are larger than those obtained by the other compared algorithms.It also has achieved relatively the smallest CV values for all cases.Therefore, we can clearly get that the algorithm HMDPSO+ is more stable than the other compared algorithms and can perform better than all the other compared algorithms.This can be further proved by Figure 9, which explicitly shows the statistical results using the box plot based on the hyper-volume obtained by the compared algorithms on each test case.It gives the distribution of the hypervolume obtained by each algorithm, including the smallest observation, lower quartile, median, mean, upper quartile, and the largest observation.We can see that all these statistical  data obtained by the algorithm HMDPSO+ on each case are obviously larger than that of other compared algorithms.
At same time, we also can see that algorithm HMDPSO is always better than the compared algorithms except algorithm HMDPSO+ and the distribution of its statistical data is more concentrated than that of algorithms MOGA and NSGA-II, which makes algorithms HMDPSO+ and HMDPSO more stable than algorithm MOGA.Furthermore, as mentioned before, different cases are associated with different abstract workflows and different scales, and we can see that algorithms HMDPSO and HMDPSO+ have good performance on all cases.
The main reasons for algorithm HMDPSO's good performances lie in fitness function's guide effect in the optimization process and global search capacity of algorithm PSO.Compared with fitness function in MOGA, our fine-grained fitness function will assign different fitness value to particles in the same domination rank to prevent particles with better QoS attributes from being discarded and improve the accuracy of particles distinguishing.When particles represent infeasible solution, this fitness function will accelerate the feasible solution searching process; when particles represent feasible solution, it will improve the optimization effects of our algorithm.Optimization process in NSGA-II only focuses on the nondominated individuals, and its accuracy of solution distinguishing is even lower than that of MOGA, so algorithm HMDPSO performances better than these two algorithms on SSC problem.
And the reason for algorithm HMDPSO+'s better performances lies in merits inherited from algorithm HMDPSO and its incorporation with local search strategy.Local search strategy can update poor QoS attribute candidate service with better candidate service and keep the good QoS attribute candidate service for a particle; then, it will decrease the possibility of a particle with good QoS attribute candidate service to be discarded and increase the possibility of a particle with poor QoS attribute service entering next iteration to promote the optimization performance; more than that, efficiency of algorithm will not be reduced after the incorporation with local search strategy, since its complexity is ().So, we can conclude that the algorithm HMDPSO+ (algorithm HMDPSO incorporated with local search strategy) outperforms the compared methods in terms of the hypervolume and possesses competitive performance for the large scale service selection problem with all kinds of connection structures.

Conclusions
For the SLA-aware service composition problem, multiobjective discrete particle optimization algorithm (HMDPSO) is proposed and its improved algorithm HMDPSO+ which incorporates local search strategy into algorithm HMDPSO is also designed.In algorithm HMDPSO, particle update strategy is defined to search the solution space in global range.Particle mutation strategy is proposed, and together with it, indicator of swarm diversity is defined.When swarm diversity is lower than the threshold of swarm diversity , the individual best position will be mutated to introduce new information, increase the swarm diversity, and restrain particle swarm's premature convergence.And its fitness function also has positive effect on algorithm HMDPSO's optimization process.In algorithm HMDPSO+, the incorporated local search strategy improves the degree of particle position's constraint satisfaction in every abstract service, and then it accelerates the process of obtaining the feasible particle position and optimizes all the three objectives of particle positions.In the end, these two algorithms HMDPSO+ and HMDPSO are compared with recently proposed algorithms MOGA and NSGA-II on four cases with different scales and workflow structures, and the experiments illustrate that algorithm HMDPSO+ has an excellent performance in terms of powerful searching ability, excellent convergence ability, and stable performance.

Figure 1 :
Figure 1: Service composition model for SSC.

Figure 6 :Figure 7 :
Figure 6: The effects of different parameter configurations.

Figure 8 :
Figure 8: The solution sets distribution on different cases.

Figure 9 :
Figure 9: The statistical results of hypervolume of the compared algorithms on different cases.

Table 1 :
QoS aggregation function in abstract service.

Table 2 :
QoS aggregation function among abstract services.
Input: particle 's individual best solution  best to be update and Global best particle 's solution  best for updating Output:  best be updated { for each abstract service  as  best (  ) and  best (  ) in  best and  best if ( best (  ) ≺  best (  )) update  best (  ) with  best (  ) Procedure 3 shows the process of local search based on candidate service domination, in which every candidate service in both  best and  best is compared on candidate service domination relationship.When a candidate service in  best is said to be dominated by a candidate service in  best , namely,  best (  ) ≺  best (S  ), replace  best (S  ) with  best (S  ).

Table 3 :
QoS attributes of concrete services.

Table 6 :
Concrete service for Cases 3 and 4.

Table 8 :
Performance comparisons among algorithms HMDPSO+, HMDPSO, MOGA, and NSGA-II with all objectives of composite web service in different sets.The value of  with 99 degrees of freedom is significant at  = 0.05 by a two-tailed test.