A Novel Distributed Genetic Algorithm Implementation with Variable ...

0 downloads 0 Views 590KB Size Report
generation progresses, islands are created or erased based on the convergence status ..... When the global minimum is found in all trials, the average number of ...
A Novel Distributed Genetic Algorithm Implementation with Variable Number of Islands ∗

Takuma Jumonji∗ , Goutam Chakraborty∗∗ , Hiroshi Mabuchi∗∗ , Masafumi Matsuhara∗∗ in the graduate school of Software and Information Science, Iwate Prefectural University, Takizawa, Japan. ∗∗ in the department of Software and Information Science, Iwate Prefectural University, Takizawa, Japan.

Abstract— Genetic Algorithm (GA) has some inherent drawbacks which become apparent while trying to solve complex multimodal problems. They are slow and the efficiency depends on parameter values. Some methods were proposed for alleviating these problems. But they did not address all the drawbacks. In this work, we propose a new distributed implementation strategy named Variable Island GA (VIGA), where the number of islands vary. In VIGA, where the number of individuals in every island is 2, the parameter population size in an island is fixed. Other parameters like number of islands, crossover/mutation probabilities, also need not be set. As the generation progresses, islands are created or erased based on the convergence status of searching in each island. Experiments were done with different function optimization problems. For all experiments VIGA delivered better or at least as good results as obtained by other competitive algorithms, at the expense of less computation and communication costs.

I. I NTRODUCTION Genetic Algorithm (GA) [1] is the searching method based on biological evolution at gene level. It is known to be able to solve wide varieties of problems and the performance is better than other competitive methods [4]. But it has some latent drawbacks which become apparent while trying to solve complex multimodal problems. The main problems are the computation load of fitness calculation, the occurrence of early convergence and the difficulty to set parameter values properly [5]. In standard GA (SGA), the population size remains the same throughout all generations. The calculation cost is high, because all chromosomes are evaluated throughout all generations. In addition, it has many parameters to be set, and the optimum values of parameters are problem dependent and difficult to ascertain. To reduce the computation load of genetic search, a lot of methods for searching in parallel and distributed manner have been proposed [6][7][8]. In Parallel Distributed GA (PDGA), GA runs in parallel in two or more subgroups of population called islands, and searching is executed independently in each island. Time to time individuals migrate between islands. PDGA can avoid early convergence by maintaining diversity in population using migration. PDGA has better performance and the computation time is shorter than SGA [9]. But, the number of parameters to set in PDGA is more than SGA, like partition number, island size and migration parameters. The optimal values of these parameters are different depending on the target problem. Though the search performance is better and the computation time shorter, the setting of parameters values is more complex.

To simplify parameter setting, Dual-Distributed GA (DuDGA) [12] is proposed. In DuDGA, the number of parameters need to be set has been reduced by fixing the size of the population in an island to two. However, the entire setting can not necessarily be the best for each problem because some parameters still need to be set, like number of islands and migration parameters, and the result depends on the proper setting of these parameters. On the other hand, a lot of researches are done to find proper parameter values in SGA, or tune the parameters as generations progress. These researches can be categorized into two classes. One such strategy [14][15][16] is to optimize the parameter values by using GA. This techniques are called meta-GA [13]. But this strategy have a problem of huge computation load. The other strategy [17][18][19] is where GA automatically adjusts or updates the parameter values from the knowledge of the search status or result. This strategy is lower in computation load (compared to metaGA). Yet the parameter setting problem is not completely solved. In Parameter-free GA (PfGA) [20] parameters like population, crossover rate, mutation rate, etc. are not needed to be set. It has high searching performance due to its unique selection strategy, and the calculation load is low because it always searches using a small number of individuals. Yet, it is shown [21] that the number of islands and the migration strategy do affect the results. Therefore, in PDGA it is important that the number of islands is dynamically changed according to the feature of the problem and the status of search, and no work in our knowledge is yet reported to address this issue. In this work, we propose a novel parallel distributed implementation of genetic algorithm which is efficient, involves low communication among processors, could achieve global optimum and robust to setting of parameter values. As the number of islands vary, we named it Variable Island Genetic Algorithm (VIGA). Every island size (i.e., the number of individuals in an island) is two, and the number of islands is increased or decreased depending on the convergence status of searching. This we call resizing operation. Thus VIGA does not need to set parameters like population size or number of islands. Also, the computation load is low because we have only two individuals in an island, and the number of islands always varies within a small range. We describe related works, namely DuDGA and PfGA, in section II. In section III, we describe our proposed VIGA. We

4698 c 1-4244-1340-0/07/$25.00 2007 IEEE

present experimental results in section IV. We also compared results with other competitive algorithms. Conclusions and future research plans are described in section V. II. R ELATED W ORKS Closest to our works are Dual-Distributed Genetic Algorithm [12] and Parameter-free Genetic Algorithm [20] which are described in the next two subsections. A. Dual-Distributed Genetic Algorithm (DuDGA) When standard genetic operations are used, DuDGA [12] rapidly falls into the state of convergence because the island size is only two. To ensure global search, DuDGA manages to maintain diversity in each island with specially designed genetic operations. First, two randomly created individuals are placed in each island, and genetic operations are performed on each island as follows: Step 1: Perform migration at regular intervals of generations called migration interval. Step 2: Select the two chromosomes in an island as parents, and perform one-point crossover. Step 3: Perform mutation on two children. Step 4: Evaluate the children. Step 5: Retain the best two individuals out of four. Step 6: Return to Step 1. Migration strategy is as follows. The islands are ordered in a one-way ring. The sequential order of the islands is done randomly. One emigrant is selected from each island at random. Migration interval is set at 5 generations. In mutation, the flipping point is randomly selected. Care is taken only to ensure that two individuals in an island do not turn out to be identical after mutation. DuDGA manages to avoid early convergence by excluding the migrant from selection in STEP 5. DuDGA could nearly solve the drawback of parameter setting of PDGA, because it needs only two parameters, the population size and the migration interval. B. Parameter-free Genetic Algorithm (PfGA) PfGA [20] is a strategy where no parameter is needed to be set. Here, the population size is changed by the change of the fitness of chromosomes. The PfGA procedure is summarized as follows. Step 1: Create a random chromosome, and insert it in group A as initial member. Step 2: When A has only one chromosome, insert a newly generated chromosome in A. Step 3: Select two chromosomes randomly as parents from the population in a group. Let us name them as p1 and p2 . Step 4: Perform multi-point crossover on p1 and p2 , and create two children named c1 and c2 . Step 5: Perform mutation either in c1 or c2 , this selection is random. Step 6: Return one, two or three chromosomes to the next generation according to which of the following condition is satisfied.

Case 1. When the fitness of children is better than those of parents, return c1 , c2 and one parent which has better fitness. Case 2. When the fitness of parents is better than those of children, return only one parent which has better fitness. Neither of the children survives. Case 3. When the fitness of one parent is better than those of children, return that parent and the child having better fitness. Case 4. For all other conditions, return one child which has better fitness and add a newly generated chromosome with the population.

Step 7: Return to Step 2. An useful individual from the last generation is efficiently kept for the next generation by the selection strategy stated in STEP 6. On the other hand, the diversity is maintained by generating new chromosomes on the fly. In PfGA we do not need to set parameters, and the computation load is low because population size is always small. In parallel distributed version of PfGA [21], migration is an important tool for improving global searching ability. The authors showed that the optimal migration model is different according the characteristics (multimodality, dimension etc.) of the problem and the number of islands. III. P ROPOSED VIGA S TRATEGY PDGA has better performance compared to SGA, but parameter setting is difficult. Though PfGA has lower computation cost, yet it is not really parameter free as the name suggests. In VIGA we alleviate the problem of parameter setting, keep the computation cost low, and at the same time achieve a better searching performance. In Variable Island GA (VIGA), the population size is increased or decreased, based on the convergence status of chromosomes in each island. For this reason, the user does not need to set GA-parameters depending on problem complexity. The computational inefficiency of working with many individuals searching the same solution area is avoided by deletion, but the information of useful individuals for improvement of solution is left in the population. In VIGA, the number of islands, and therefore the population size, is changed adaptively according to the strategy descried in Figure 1. It does not need any manual setting or intervention. A. Initialization In VIGA, the population size of an island is set at two, and the number of islands in the beginning is just one. It is same for any problem at hand, and the user does not need to think about the proper choice of the number of islands. B. Resizing operation The main contributing idea in VIGA is the resizing operation, by which the number of islands is increased and decreased, i.e., new islands are created and some of the old islands are deleted. We name these two operations as Create and Erase, which will appear often in subsequent discussion. The decision of create or erase of an island is taken using the

2007 IEEE Congress on Evolutionary Computation (CEC 2007)

4699





67$57

5HVL]LQJRSHUDWLRQ

 ,QLWLDOL]DWLRQ

)LQLVK"



,VLVODQGZLWK XQLTXHHOLWH FRQYHUJHG"

Suggest Documents