A QoS Driven Web Service Composition Method Based on ESGA (Elitist Selection Genetic Algorithm) with an Improved Initial Population Selection Strategy

With more and more web services being applied, the quality of service (QoS) becomes an important criterion in a service selection. We propose a UDDI process with QoS extension to support quality requests. Service providers can send functional and QoS information to the UDDI registry. As a component of the UDDI registry, the QoS calculator calculates the QoS value of each service to decide the optimal service and send the information back to the UDDI registry. After receiving the requestor's feedback, the QoS calculator re-calculates QoS of the service. In a service composition, component services and the composed service should satisfy local and global restrictions respectively. The QoS of component services aggregate to QoS of the composed service according to an aggregation rule. The QoS parameters may conflict with each other, so this problem is actually a multi-objective optimization. A service selection can be seen as a path formation and each node of the path is a service class. A genetic algorithm can be used to solve complicated global optimization problems. It is proved that a simplex genetic algorithm cannot converge to optimal global solution but the elitist selection genetic algorithm (ESGA) can. So we use ESGA to solve this problem. We use integer encoding as the encoding rule. A composed service can be seen as a chromosome and a gene is an integer that represents a service number in its service class. We use an initial population selection strategy instead of the random initial population creation method. In the strategy, if the fitness of a new composed service is worse than the average fitness of the selected composed services, it should be abandoned, otherwise it should be kept. We coordinate these objectives by assigning a weight to each parameter and the fitness function is the weighted sum of QoS parameters. In the stage of genetic operation, the penalty function is subtracted from the fitness of the composed service if it does not satisfy the restrictions. We use the roulette wheel selection method, single point crossover operator, and uniform mutation operator as genetic operators. It is shown that this method has better performance than the method using ESGA through an experiment.