Animal migration optimization (AMO) is one of the most recently introduced algorithms based on the behavior of animal swarm migration. This paper presents an improved AMO algorithm (IAMO), which significantly improves the original AMO in solving complex optimization problems. Clustering is a popular data analysis and data mining technique and it is used in many fields. The well-known method in solving clustering problems is
Data clustering is the process of grouping data into a number of clusters. The goal of data clustering is to make the data in the same cluster share a high degree of similarity while being very dissimilar to data from other clusters. It is a main task of exploratory data mining and a common technique for statistical data analysis used in many fields, including machine learning, pattern recognition, image analysis, information retrieval, and bioinformatics. Cluster analysis was originated in anthropology by Driver and Kroeber in 1932 and introduced to psychology by Zubin in 1938 and Tryon in 1939 and famously used by Cattell beginning in 1943 [
In recent years, many studies have been inspired by animal behavior phenomena for developing optimization techniques, such as firefly algorithm (FA) [
Animal migration algorithm (AMO) is a new bioinspired intelligent optimization algorithm by simulating animal migration behavior proposed by Li et al. [
The structure of the paper is as follows. In Section
The target of data clustering is grouping data into a number of clusters; Set the number of clusters Randomly choose Assign each object When all objects have been assigned, recalculate the positions of the Repeat Steps
The
The main idea is to define
Animal migration algorithm can be divided into animal migration process and animal updating process. In the migration process, the algorithm simulates how the groups of animals move from current position to a new position. During the population updating process, the algorithm simulates how animals are updated by the probabilistic method.
During the animal migration process, an animal should obey three rules:
The concept of the neighborhood of an animal.
During the population updating process, the algorithm simulates how some animals leave the group and some join in the new population. Individuals will be replaced by some new animals with a probability
( ( ( ( ( (
In Algorithm
In AMO, algorithm uses migration process and population updating process to find a satisfactory solution. The proposed algorithm used a new migration process by establishing a living area by the leader animal (the individuals with best fitness value) and animals migrate from current locations into this new living area to simulate animal migration process.
At first, there are
Animals migration process.
The
Animals begin to migrate
The
The boundary of the living area is established by
During the initialization process, the algorithm begins with initializing a set of
Animals are randomly and uniformly distributed between the prespecified lower initial parameter bound
During the migration process, because of animals hunting, foraging, or drinking in the living area, some parts of the living area are lacking food or water or climate condition change, and some animals migrate from the current living area to the new living area which has abundant food and water or climate condition suitable for living. We assume that there is only one living area, and animals out of the new living area would be migrating into the new living area, as depicted in Section
According to the fitness function, we obtain the best individual
During the population updating process, algorithm simulates some animals that are preyed by their enemies or some animals leave the group and some join in the group from other groups or some new animals are born. In IAMO, we assume that the number of available animals is fixed, and every animal will be replaced by
Specific implementation steps of the improved animals migration optimization algorithm (IAMO) can be shown as in Algorithm
(1) (2) Set the generation counter with a population of (3) Evaluate the fitness for each individual (4) (5) Establish a new living area by (6) Animals migrate into the new living area (7) (8) (9) Select randomly (10) (11) (12) (13) (14) (15) (16) Evaluate the offspring (17) (18) (19) (20) (21) Memorize the best solution achieved so far (22) (23) (24)
All of the algorithm was programmed in MATLAB R2008a, numerical experiment was set up on AMD Athlon(tm)II *4 640 processor and 2 GB memory.
The experimental results comparing the IAMO clustering algorithm with six typical stochastic algorithms including the PSO [
The distribution image of Art1.
The distribution image of Art2.
Here we set the parameters of AMO and IAMO as follows. The population size of the AMO and IAMO is 100. In IAMO, the original living area radius
For every data set, each algorithm is applied 20 times individually with random initial solution. For the Art1 and Art2 data set, once the randomly generated parameters are determined, the same parameters are used to test the performance of three algorithms. We ranked each algorithm according to the mean result. The results are kept four digits after the decimal point. The mean value, the best value, the worst value, the standard deviation, and the rank value are recorded in Tables
Results obtained by the algorithms for 20 different runs on Art1 data.
Algorithm | Mean | Best | Worst | Standard deviation | Rank |
---|---|---|---|---|---|
|
2106.6059 | 1720.7627 | 2456.0468 | 358.8518 | 7 |
PSO | 1991.3796 | 1721.6508 | 2448.1993 | 192.7566 | 5 |
CPSO | 1860.5699 | 1718.6937 | 2417.5543 | 305.7752 | 4 |
ABC | 1718.5496 | 1718.2939 | 1718.9832 | 0.1955 | 3 |
CABC | 1718.4434 | 1718.2544 | 1720.3302 | 0.5488 | 2 |
AMO | 2062.1954 | 1974.4561 | 2199.1275 | 54.8921 | 6 |
IAMO | 1718.2540 | 1718.2538 | 1718.2540 |
|
1 |
Results obtained by the algorithms for 20 different runs on Art2 data.
Algorithm | Mean | Best | Worst | Standard deviation | Rank |
---|---|---|---|---|---|
|
644.2100 | 514.6623 | 896.4104 |
|
7 |
PSO | 514.7965 | 513.9191 | 523.8308 |
|
5 |
CPSO | 513.9046 | 513.9035 | 513.9085 |
|
4 |
ABC | 513.9037 | 513.9035 | 513.9045 |
|
3 |
CABC | 513.9037 | 513.9035 | 513.9696 |
|
2 |
AMO | 525.0879 | 516.1389 | 546.2325 |
|
6 |
IAMO | 513.9035 | 513.9035 | 513.9035 |
|
1 |
Results obtained by the algorithms for 20 different runs on
Algorithm | Mean | Best | Worst | Standard deviation | Rank |
---|---|---|---|---|---|
|
102.8412 | 99.4582 | 123.4678 |
|
7 |
PSO | 98.3345 | 96.6567 | 104.2224 |
|
5 |
CPSO | 96.9721 | 96.6580 | 97.5211 |
|
4 |
ABC | 96.6659 | 96.6566 | 96.7547 |
|
3 |
CABC | 96.6561 | 96.6555 | 96.6599 |
|
2 |
AMO | 99.0055 | 97.0751 | 100.5484 |
|
6 |
IAMO | 96.6555 | 96.6555 | 96.6555 |
|
1 |
Results obtained by the algorithms for 20 different runs on TAE data.
Algorithm | Mean | Best | Worst | Standard deviation | Rank |
---|---|---|---|---|---|
|
1533.5441 | 1503.9418 | 1605.1206 | 29.7491 | 7 |
PSO | 1501.5895 | 1490.2455 | 1529.2453 | 16.3170 | 6 |
CPSO | 1499.8073 | 1492.1980 | 1532.4523 | 17.4859 | 5 |
ABC | 1491.4434 | 1490.9775 | 1492.4754 | 0.5128 | 3 |
CABC | 1491.3099 | 1490.9276 | 1497.3575 | 2.7356 | 2 |
AMO | 1499.0215 | 1493.3564 | 1509.4512 | 6.8524 | 4 |
IAMO | 1491.0900 | 1490.9321 | 1492.5707 | 0.4482 | 1 |
Results obtained by the algorithms for 20 different runs on wine data.
Algorithm | Mean | Best | Worst | Standard deviation | Rank |
---|---|---|---|---|---|
|
17853.2412 | 16374.4353 | 18484.3458 |
|
7 |
PSO | 16307.0584 | 16302.8364 | 16314.0563 |
|
5 |
CPSO | 16304.9829 | 16299.0526 | 16312.1291 |
|
3 |
ABC | 16305.6668 | 16299.1970 | 16321.9535 |
|
4 |
CABC | 16292.1982 | 16292.1858 | 16292.2094 |
|
2 |
AMO | 16359.7965 | 16319.9935 | 16400.5533 |
|
6 |
IAMO | 16292.1855 | 16292.1849 | 16292.1862 |
|
1 |
Results obtained by the algorithms for 20 different runs on seeds data.
Algorithm | Mean | Best | Worst | Standard deviation | Rank |
---|---|---|---|---|---|
|
313.4977 | 313.1428 | 313.7343 |
|
5 |
PSO | 326.5250 | 318.3185 | 335.2944 |
|
7 |
CPSO | 312.1138 | 311.9116 | 312.3788 |
|
4 |
ABC | 312.0382 | 311.8520 | 312.2110 |
|
3 |
CABC | 311.7980 | 311.7980 | 311.7982 |
|
2 |
AMO | 319.3922 | 313.8100 | 327.9267 |
|
6 |
IAMO | 311.7980 | 311.7980 | 311.7980 |
|
1 |
Results obtained by the algorithms for 20 different runs on StatLog (heart) data.
Algorithm | Mean | Best | Worst | Standard deviation | Rank |
---|---|---|---|---|---|
|
10695.7851 | 10682.5524 | 10703.8544 | 8.2080 | 6 |
PSO | 10760.0684 | 10644.8965 | 11024.2641 | 25.9460 | 7 |
CPSO | 10651.1354 | 10624.2168 | 10747.7609 | 55.0264 | 4 |
ABC | 10627.4760 | 10626.7154 | 10629.6472 |
|
3 |
CABC | 10622.9904 | 10622.9824 | 10623.6762 |
|
2 |
AMO | 10675.1758 | 10658.6325 | 10696.1824 |
|
5 |
IAMO | 10622.9824 | 10622.9824 | 10622.9825 |
|
1 |
Results obtained by the algorithms for 20 different runs on Hagerman’s survival data.
Algorithm | Mean | Best | Worst | Standard deviation | Rank |
---|---|---|---|---|---|
|
2640.1277 | 2610.5245 | 3180.5211 | 126.7500 | 7 |
PSO | 2567.4479 | 2566.9899 | 2569.1620 | 0.9587 | 6 |
CPSO | 2567.3233 | 2566.9889 | 2567.8257 | 0.4578 | 5 |
ABC | 2566.9892 | 2566.9888 | 2566.9895 |
|
2 |
CABC | 2566.9903 | 2566.9888 | 2566.9955 |
|
3 |
AMO | 2566.9985 | 2566.9907 | 2567.0096 |
|
4 |
IAMO | 2566.9888 | 2566.9888 | 2566.9888 |
|
1 |
Results obtained by the algorithms for 20 different runs on balance scale data.
Algorithm | Mean | Best | Worst | Standard deviation | Rank |
---|---|---|---|---|---|
|
1426.7522 | 1423.8570 | 1433.8423 | 3.1208 | 5 |
PSO | 1430.1546 | 1426.4237 | 1447.6403 | 9.3451 | 7 |
CPSO | 1424.8260 | 1423.5525 | 1425.5460 | 0.9048 | 4 |
ABC | 1423.9238 | 1423.8308 | 1425.9821 |
|
3 |
CABC | 1423.9109 | 1423.8206 | 1425.2445 |
|
2 |
AMO | 1429.1499 | 1427.9670 | 1430.8177 |
|
6 |
IAMO | 1423.8204 | 1423.8204 | 1423.8204 |
|
1 |
Results obtained by the algorithms for 20 different runs on cancer data.
Algorithm | Mean | Best | Worst | Standard deviation | Rank |
---|---|---|---|---|---|
|
2981.2564 | 2976.4687 | 2988.4277 | 4.8661 | 5 |
PSO | 3001.2685 | 2969.7475 | 3114.3658 | 63.9370 | 6 |
CPSO | 2964.8268 | 2964.4167 | 2965.2941 | 0.3773 | 3 |
ABC | 2965.5369 | 2964.9734 | 2966.4785 | 0.8081 | 4 |
CABC | 2964.4138 | 2964.3870 | 2964.5222 |
|
2 |
AMO | 3001.6328 | 2974.0974 | 3050.9651 |
|
7 |
IAMO | 2964.3870 | 2964.3870 | 2964.3870 |
|
1 |
Tables
As seen from Table
Figures
The convergence curve of the Art1 data.
The convergence curve of the Art2 data.
The convergence curve of the
The convergence curve of the TAE data.
The convergence curve of the wine data.
The convergence curve of the seeds data.
The convergence curve of the heart data.
The convergence curve of the survival data.
The convergence curve of the balance scale data.
The convergence curve of the cancer data.
The
The
The performance and results of the proposed algorithms are greatly affected by the size of living area. At the beginning of the iteration, a big value of
Figure
The convergence curve of the Art1 with different
The convergence curve of the
The results suggest that a proper
In this paper, to improve the deficiencies of the AMO algorithm, we improved the algorithm by using a new migration method based on shrinking animals living area. By 10 typical standard test data sets simulation, the results show that IAMO algorithm generally has strong global searching ability and local optimization ability and can effectively avoid the deficiencies that conventional algorithms easily fall into local optimum. IAMO has improved the convergence precision of AMO and rank 1st in all test data sets; therefore, it is very practical and effective to solve clustering problems. At last, how to define a proper and unified radius of living area needs to be considered in subsequent work.
The authors declare that there is no conflict of interests regarding the publication of this paper.
This work is supported by National Science Foundation of China under Grant nos. 61165015 and 61463007, Key Project of Guangxi Science Foundation under Grant no. 2012GXNSFDA053028, and Key Project of Guangxi High School Science Foundation under Grant no. 20121ZD008.