You are on page 1of 6

An AllToOne Self Organizing Migrating Algorithm for Qos based web Service slection

The find, bind, and execute paradigm allows the consumer of a service to ask a third-party registry for the service that matches its criteria. If the registry has such a service, it gives the consumer a contract and an endpoint address for the service. SOA consists of the followingsix entities configured together to support the find, bind, and execute paradigm. ///There are three important issues must to deal with: (1) how to define the parameters and operations in SOMA to make it suitable for QoS-based Web Service Selection; (2) how to prevent the prematurity phenomenonwhich may cause local optimum to the optimization problem, (3) how to improve convergence speed affected by strategies for overcoming prematurity. /////// SOMA is a stochastic optimization algorithm that is modelled on the social behaviour of cooperating individuals [5]. It is based on the self-organizing behavior of groups of mammals in the social environment. It was chosen because it has been proven that the algorithm has the ability to converge towards the global optimum. SOMA works on a population of candidate solutions in loops called migration loops. Fig. 4 shows pseudo code of the algorithm. The population is initialized randomly distributed over the search space at the beginning of the search. In each loop, the population is evaluated and the solution with the highest tness becomes the leader L (Fig. 5). Apart from theleader, in one migration loop, all individuals will traverse the input space in the direction of the leader (Fig. 6). An individual will travel a certain distance (called the path length) towards the leader in n steps of de ned length. If the path length is chosen to be greater than one, then the individual will overshoot the leader. In this work, its performance is compared in this research with simulated annealing [2,3] and differential evolution (DE). No new generations of individuals are created in this algorithm but only the positions of the individuals in the search space are changed during a generation, called a migration loop . Individuals are generated randomly according to the principle of Specimen of the Individual principle. One can classify SOMA as an EVOLUTIONARY ALGORITHM, because the final result, after one migration loop, is equivalent to the result from one generation derived by the classical EA algorithms. The SOMA is working on the population of individuals which can be viewed as a matrix of size N M where the columns represent the individuals. Each individual in turn represents a candidate solution i.e a set of arguments for the cost function. Associated with each individual there exists the so called cost value(The system response to the input vector). The cost value represents the fitness of the evaluated individual. It does not take part in the evolutionary process but guides the search process.

CV P1 P2 P3 P4 P5 P6

I1 204,92 3, 06 2, 51 46,75 72, 49 6, 32 73, 79

I2 93,75 -46, 64 54, 04 51,28 15, 08 57, 16 -37, 17

I3 163,80 5, 02 85,10 11, 35 2, 92 58, 83 0, 57

I4 121,73 38, 72 0,29 3, 08 3, 67 26, 61 49, 35

I5 107,53 35, 82 24,11 24, 66 5, 81 12, 44 4, 68

I6 I7 121,06 120,21 0, 07 23, 76 4, 29 20, 38 60, 24 33, 44 4, 54 4, 05 23, 89 4, 23 28, 03 34, 35

Population an example, P- Population, I-individual, CV- cost value A population is usually randomly initialized at the beginning of the evolutionary process. DEFINITION OF THE SPECIMEN: Specimen={{Real,{Low,High}},{Integer,{Low,High}}, .}. It defines the parameter type and the allowed range of values for that particular cost function parameter.

PARAMETERS: Parameter Name PathLength Step PRT Dim PopSize Migrations MinDiv Recommended Range <1.1, 3> <.11, PathLength> <0, 1> Given by Problem <10, up to user > <10, up to user > < arbitrary negative, up to user > Remark Controlling parameter Controlling parameter Controlling parameter Number of arguments in the cost function Controlling parameter Stopping parameter Stopping parameter

PathLength <1.1, 3>: This parameter defines how far an individual stops behind the leader. If PathLength = 1 then it stops at the leader s position and PathLength=2 then it stops behind the leader s position and so on. If it is smaller than 1 then the leader s position is not overshotted, which carries the risk of premature convergence. In this case, the SOMA may get trapped in the local optimum.

Recommended value is 3. y Step <.11, PathLength> : The step size defines the granularity with what the search space is sampled. For greater diversity of population, it is better if the distance between the start position of an individual and the leader is not a multiple of the step parameter. Recommended value is 0.11. PRT <0, 1>: PRT stands for perturbation. The PRT determines whether an individual will travel directly towards the leader, not. The optimal value is near 0.1. When the value of PRT is increased, the convergence speed of SOMA increases as well. Dim: The dimensionality(the number of optimized arguments of the cost function) is given by the optimization problem. PopSize <10, up to user >: This is the number of individuals in the population. It may be chosen to be 0.2 to 0.5 times of the dimensionality of the given problem. It is recommended to use atleast 10 individuals, because if the population size is smaller than that, SOMA will strongly degrade its performance to the level of simple and classic optimization methods. Migrations <10, up to user > : This parameter represents the maximum number of iterations. Migrations is a stopping criterion. It tells the optimizing process when to stop. MinDiv < arbitrary negative, up to the user > : The MinDiv defines the largest allowed difference between the best and the worst individual from actual population. If the difference is too small then the optimizing process will stop. It is recommended to use small values. In the worst case, the search will stop when the maximum number of migrations is reached. In this case, the stop condition for SOMA will not get satisfied and thus SOMA will pass through all migrations. OPERATORS OF SOMA: 1. PERTURBATION 2. MIGRATION

y y

PERTURBATION The mutation in SOMA is different from other EA strategies. The SOMA uses a PRT parameter to achieve perturbation. This parameter has the same effect for SOMA as mutation has for GA. It is defined in the range <0, 1> and is used to create a perturbation vector (PRTVector). The PRT Vector is created before the individual starts its journey over the search space. MIGRATION The cross over operator usually creates new individuals in the standard EA s. In SOMA, sequences of new positions in the N- dimensional hyper plane are generated. They can be thought of as a series of new individuals obtained by the special cross over operation. This cross over operation determines the behavior of the SOMA. The movement of an individual is thus given as follows.

XMLNewi, j=XMLi, j, start + (XMLL, j - XMLi, j, start)t PRTVectorj Where t <0, by step to, Pathlength> And ML is actual migration loop.

The PRTVector causes an individual to move toward the leading individual in N-k dimensional space.  If all elements of PRTVectoris set to 1 then the search process is carried out in an Ndimensional hyperplane.  If some elements of the PRTVectoris set to 0, then it means that the parameters of that individual are frozen and are not changed during the search.

PROCEDURE SOMA AllToOne Begin For i :=1 to number of migrations do Generate PRT Vector Evaluate populations Select leader of population For each individual j in population do Best solution for individual j becomes the current one For k := 1 to n do Move individual j towards the position of the leader Evaluate fitness at new position If new fitness > fitness at best solution j Best solution j := new position End End Move individual j to best solution End End End

PRINCIPLES OF SOMA: It was inspired by the competitive, cooperative behavior of the intelligent creatures solving a common problem.

A group of mammals such as wolves, if they are looking for food, they usually cooperate and compete so that if one member of the group is successful then the other mammals change their trajectories towards the most successful member. If a member of this group is more successful than the previous best one then again all members change their trajectories towards the new successful member. It is repeated until all members meet around one food source. For the implementation of this approach, the following analogies are used.

y y y y y

Members of the herd/pack individuals of population, PopSize parameter of SOMA. Member with the best source of food Leader, the best individual in the population for actual migration loop. Food fitness, local or global extreme on N- dimensional hyperplane. Landscape where pack is living N dimensional plane is given by the cost function. Migrating of pack members over the landscape migrations in SOMA.

VARIATIONS OF SOMA: The variations of SOMA that exists are almost comparable with each other in the sense of finding of global optimum. 1. AllToOne :This is the basic strategy. Strategy AllToOne means that all individuals move towards the leader, except the leader. The leader remains at its position during the migration loop. 2. AllToAll : In this strategy, there is no leader. All individuals move towards the other individuals. This strategy is computationally more demanding. Interestingly, this strategy often needs less cost function evaluations to reach the global optimum than that AllToOne strategy. This is caused by the fact that each individual visits a large number of parts on the N dimensional hyper plane during one migration loop than the AllToOne strategy does. 3. AllToAllAdaptive : The difference between this and the previous version is, that individuals do no begin a new migration from the same old position( as in AllToAll), but from the last best position found during the last traveling to the previous individual. 4. AllToRandom : This is a strategy, where all individuals move towards a randomly selected individual during the migration loop, no matter what cost value this individual has. It is upto the user to decide how many randomly selected individuals should be there. Here are two substrategies y y The number of randomly selected individuals is constant during the whole SOMA process. For each migration loop, (in intervals of <1, PopSize> ) the actual number of individuals are determined randomly. Thus the number of randomly chosen individuals in the second sub strategy is different in each migration loop.

5.

Clusters : This version of SOMA with Clusters can be used in any of the above strategies. The word Clusters refer to the calculated Clusters. Each individual from the population is tested for

the cluster to which it belongs. The result is that after a cluster calculation, clusters with their Leaders are derived and each individual belongs to one cluster. By using SOMA with Clusters the user has to define the so called Cluster Distance the parameter, which says how large the cluster should be and the domain of the attraction of the local cluster leader. Using this basioc parameter, SOMA breaks itself up into more local SOMAs, each focusing on the contained leaders. Therefore independent groups of individuals are carrying out search. The local SOMAs create clusters, which can join together or split into new clusters. Other possible strategies or variations of SOMA are, for example that individuals need not move along a straight-line vectors, but they can travel on curves, etc.

You might also like