A Parameter Adaptive Genetic Algorithm Based Service Compositions

. How to select and combine many services with similar functions reasonably and efficiently to provide users with better service is the main challenge in the service composition problem. This is thorny when the number of the candidate Services is huge. Recently, researches transform the service compositions problem as a multi-objective optimizing task, and then the genetic algorithm is commonly used to tackle this issue. However, the fixed crossover probability and mutation probability settings in genetic algorithm usually result to it falls into a local optimal. To improve the performance of the genetic algorithm in the service composition task, this paper proposes an adaptive parameter adjust strategy, which can adjust the crossover probability and mutation probability automatically. The experiment result shows our method has greatly improved the maximum fitness of the final solutions of traditional genetic algorithm.


Introduction
Service composition is to combine a large number of atomic services into a combination services with certain function. As the advance in the Internet, the number of the web service has becoming very large, and due to the complexity of customer needs, the select of a composition service which can meeting the customer's requirement becomes a challenging work. Recent literature tackles this issue by transform it into a multiobjective optimization problem. The main task in this problem is to find out a composition service which has a best QoS performance and meeting the user's functional requirement. However, the QoS constrain based service selection problem is a NP-hard problem, it cannot be solved by the trivial methods. Thus, it is naturally for researches resort to some intelligence optimize algorithm, such as Genetic Algorithm [1,2], Simulated Annealing Algorithm [3] and Ant Colony Algorithm [4,5] and so on. Due to the simplicity of genetic algorithm, it gradually becoming the most popular method in tackle the service composition issue. For instance, Vanrompay Y et al. propose use the Genetic Algorithms to search the best service variant in the current context, and they argue that the Genetic Algorithms can meets some main functional demanded by services running on mobile systems [6]. Lin et. at., focus on utilizing the genetic algorithm to find out the optimal cloud web service composition [7]. Gao et al., proposed a Tree-coding genetic algorithm for QoS-aware service composition task, and they confirm that the Tree-coding based genetic algorithms run faster than the one-dimensional coding genetic algorithm [8]. However, the genetic algorithm used in these works also fall into some local optimal when the search space of is very huge [9,10].
To fill this gap, this paper proposes an improved genetic algorithm, which utilizing the non-linear neuron activation function and the information entropy to realize the adaptive crossover probability and mutation probability settings, the experiment result shows our method has significant performance improvement than the existing used genetic algorithm.

Problem description
Web service providers, service requirements, and Service agency are the three major players in the Web services technology architecture. The service agency's responsibility is to select an optimal service composition according the user's needs. Typically, a composition service is consisting of a series of different service class, the service class is a group of services that can satisfied a particular function needs, only multiple service classes work together can meet the user's entire functional needs. And each service class is consisting of a lot of atomic service, these atomic services have the same functionality and different QoS [11]. Usually, different users have different attribute requirements for QoS. The research problem of service composition is to select the optimal composition service which can meets the custom's QoS requirement [12]. Suppose that R =  [13,14], the structure of the composition service in this paper is sequential structure.

Parameter adaptive genetic algorithm
Genetic Algorithm (GA) is a most used near-optimal solution find method [15]. Which can find a nearoptimal solution in large search spaces by continue iteration. The inspiration of the genetic algorithm comes from the Darwin's theory of evolution, eg. "Survival of the fittest". In Genetic Algorithm, the candidate solutions of the question are called individual, generally, which is represented as a sequence of variables called chromosomes. We evaluated the fitness of each individual in each generation to filtrate individuals thus make sure that the individual which have good fitness value are retained and poor one are eliminated [16]. In genetic algorithm, selection and evolution are two main operation to generate the new individuals. The evolution contains the crossover and mutation operations. The selection process is based on the fitness of each new individual, but don't entirely rely on it, because simply selecting individuals with high fitness will likely result in the algorithm converging to a local optimal solution. Thus the main principle of genetic algorithm is the higher the fitness is, the higher the chance of being chosen is, and the lower the fitness the lower the chance of being chosen is. In the selection step, a predefined number of chromosomes is generated to form the initial generation. After that, the selected individuals will enter the mating process, typically in this step, an invariance crossover probability is set to decide the probability of two selected individuals will mating. Suppose that the mating probability is 0.6 that means 60 percent of the selected "couples" will have offspring. The chromosomes of the mating parent will exchange to generate new chromosomes. A cut-off points it randomly chosen to separate the parent's chromosomes into top and bottom parts. Each individual's chromosome is consisting of the different part of its parents. The mutation operation is another way to generate new individuals, generally, the mutation probability of genetic algorithm is also fixed, based on this probability, a random mutation in the chromosome of a new individual usually changes one byte of the chromosome (0 to 1, or 1 to 0). After the selection, crossover and mutation, the new generation of individuals is generated, those new individuals inherit the information of their parents, and better. These operations repeat circularly until the termination of the conditions are or the maximum number of iterations are reaches [17].

Service composition by Genetic Algorithm
When deal with the service composition problems, the chromosome in genetic algorithm represent the possible solutions for service composition. We use the onedimensional integer to encoding the chromosome, so the chromosome can be represented by an integer array, the length of the array represents the number of service classes in a composite service, the value of each element in the array represents the corresponding candidate service, and the order of the element in the array represents the order of the service class. The evolution process in the traditional genetic algorithm as show in table 2.

Improved crossover and mutation process
The crossover and mutation are two most crucial operation in the genetic algorithm optimize solving process, it is the main method to generate new individuals, the large the probability of crossover c prob , the easier to generat a new individual. The greater the mutation probability, the less likely to fall into the local optimum. However, the increase of these two probabilities will cause the convergence of the algorithm becoming slowly. So far, most of the current genetic algorithms in service composition use fixed crossover and mutation probabilities, this is unreasonable. Intuitively, this One-Fix-All parameter seting strategy certainly not suitable for all data sets, which may have a high performance on some data and poor on another data. Until now, there have no effectively rules to guide these parameter decision process, the tentative experiments are time consuming. And in practice, we hope these two parameters are adjustable in different conditions. In the initial stage of evolution, a large crossover probability and mutation probability is expect to increase the ability of generating new individual, with the increasing of the iteration, the whole population gradually becomes better, in this case we will expect a small crossover probabilities and mutation probabilities, and when the diversity of the population declines, a large crossover probabilities and mutation probabilities is needed to improving the ability of generating new individuals, correspondingly, when the diversity of the population increases, these two parameters should decrease a bit. Base on above analysis, we propose an adaptive crossover, mutation probabilities adjust strategy as show in Eq. 1 and Eq. 2.

Experiment evaluation
In this section, a series of experiments were designed to demonstrate the effectiveness of the proposed method. All the experiments are performed in Matlab (2015a) on computer with Inter Core (TM) i7-6700 CPU (3.40GHz and 8G RAM). In our experiments, the QoS attributes we focused are price, safety, reliability, response time and reputation, the service class in the composition service is set to 45, and each class has 30 candidate atomic services, the corresponding QoS value for each atomic service is generated randomly based on the parameter ranges in table 2. The parameter settings of the genetic algorithm in our experiment is followed [18] eg. crossover probability 0.7, mutation probability 0.1.
First, we investigate the changes of maximum fitness along with the iterations number of the population, the experiment result is show in figure 1, from which we can find that the improved genetic algorithm can significantly increase the maximum fitness of the population, and as the number of population iterations increases, the advantages become more obvious. In the second part of the experiment, we investigate the change of maximum fitness along with the number of candidate services, the experiment result is show in figure2.  performance is also better than traditional genetic algorithm. After that we changes the number of the services class in the composition service, to investigate the changes of maximum fitness, the experiment result as show in figure 3 It is easy to conclude from figure 3 that with the increase of number of the service class in the services combination process, the maximum fitness of improved genetic algorithms has been continuously improved, which means that even the number of service classes in the composition service is increased, it superiority of improved genetic algorithms will not decreased.

Conclusion
Genetic Algorithm is the most popular used method to solve the multi-objection optimize problem, especially in the field of service composition optimization. However, the traditional one-fix-all crossover probability and mutation probability setting strategy result it often fall into a local optimal, which has significant reduces the quality of combination service. To address this issue, this paper proposes an adaptive crossover probability and mutation probability adjust method, which can adjust these two perimeters automatically to prevent the algorithm fall into a local optimal, the experiment result shows our method have an obvious performance improvement than previous genetic algorithm. It should be noticed that the method proposed in this paper is a general one, which can be generalized to other practical applications, as long as it can be formulated as a multiobjective optimize problem.