An Adaptive de Algorithm
An Adaptive de Algorithm
= s
otherwise X
k j Cr rand if V
i j
j i j
,
,
) 1 , 0 (
(2)
Where j = 1, 2,, n (n dimension problem), Cr is a user-specified crossover constant in the range
[0,1] , rand
j
is a randomly chosen integer in the range [ 0,1] to ensure that the trial vector U
i,G
will
differ from its corresponding target vector X
i,G
by at least one parameter and k e (1,2,...,D) is the
randomly chosen index.
C. Selection operation If the values of some parameters of a newly generated trial vector exceed
the corresponding upper and lower bounds, we randomly and uniformly reinitialize it within the
search range. Then the fitness values of all trial vectors are evaluated. After that, a selection
operation is performed. The fitness value of each trial vector (U
i,G
) is compared to that of its
Evaluate Fitness Perform Mutation Select Parent
individual & other
three individuals
Result: Global Best Solution
Initialization of
Candidate Solutions
Substitute parent with
child if child is better
than parent
Perform Crossover
Termination
criterion met?
No
Yes
Tarun Kumar Sharma et al Int J Engg Techsci Vol 2(2) 2011,125-133
IJETS|www.techsciencepub.com/ijets 126
corresponding target vector (X
i,G
) in the current population. If the trial vector has smaller or equal
fitness value (for minimization problem) than the corresponding target vector, the trial vector will
replace the target vector and enter the population of the next generation. Otherwise, the target vector
will remain in the population for the next generation.
Algorithm: Differential Evolution
1: Initialize the population, G (generation) = 1
2: while termination criterion not met do
3: for i = 1; i NP (Population Size); i = i + 1
4: Randomly select r
1
,r
2
,r
3
e{1,2,,NP},
Where r
1
r
2
r
3
i
5: for j = 1; j D (Dimension); j = j + 1 do
6: Randomly select j
rand
e {1, 2,,D}
7: if (rand () < CR or j = j
rand
)
8: u
ji,G
= x
r1,G
+ F * (x
r2,G
x
r3,G
)
9: else
10: u
ji,G
= x
ji,g
11: end if
12: end for
13: end for
14: for i = 1; i NP; i = i +1 do
15: if f(u
ji,G
) f(x
i,g
)
16: x
i,G+1
= u
ji,,G
17: else
18: x
i,G+1
= x
i,,G
19: end for
20: G = G + 1
21:end while
3. SELF ADAPTIVE DIFFERENTIAL EVOLUTION ALGORITHM (SADEA) Proposed
Algorithm
The self adaptive DE algorithm implements the mechanism of varying the values of control
parameters i.e. the scaling factor F and Crossover rate Cr in successive generations, which provides
randomness to the algorithm and also improves the efficiency of algorithm in terms exploration and
exploitation. In the proposed algorithm the values of F and Cr in successive generations varies
according to some simple rules as:
< + +
=
+
otherwise F
rand P if rand rand rand F
F
u
F l
G
4
2
3
2
2 1
1
(3)
<
=
+
otherwise Cr
rand P if rand Cr
Cr
u
Cr l
G
6 5
1
*
(4)
Where rand
1
, rand
2,
. . . rand
6
are random numbers [0,1] generated uniformly. P
F
and P
Cr
are the
probabilities to adjust the factors F and Cr respectively. P
Cr
& P
F
are adjusted to 0.5, F
1
& Cr
1
to
0.1 and F
u
& Cr
u
to 0.5.
To kept F and Cr within the range [0.1, 0.5], following bounds are used:
>
<
=
+ +
+ +
+
u G G u
l G G l
G
F F if F F
F F if F F
F
1 1
1 1
1
* 2
* 2
(5)
Tarun Kumar Sharma et al Int J Engg Techsci Vol 2(2) 2011,125-133
IJETS|www.techsciencepub.com/ijets 127
>
<
=
+ +
+ +
+
u G G u
l G G l
G
Cr Cr if Cr Cr
Cr Cr if Cr Cr
Cr
1 1
1 1
1
* 2
* 2
(6)
These modifications are embedded on the structure of basic DE to generate the values of F and Cr.
The rest of the algorithm remains same as described in section 2.
4. BENCHMARK PROBLEMS AND RESULTS
In the present study we have considered 16 benchmark problems of varying degrees of
complexities. This test bed, though narrow provides a launch pad for testing an optimization
algorithm. All the problems considered here are scalable in nature and are tested for dimensions 10
and 30.
In this section we present results of experiments, which were made in order to analyze the
performance of the proposed adaptive algorithm. Both algorithms i.e. classic DE and the proposed
SADEA are executed on Pentium IV, using DEV C++. Random numbers are generated using
inbuilt function rand() in DEVC++. Population Size is taken 30 in both the algorithms for unbiased
comparisons. For basic DE the control parameters F (Scaling Factor) and Cr (Crossover Rate) taken
as 0.5.
Algorithms are compared in terms of mean fitness function value, standard deviation, best and
worst function values; average number of function evaluations and the average time taken by each
algorithm to solve a particular problem. In every case, a run was terminated when an accuracy of
|f
max
- f
min
| < 10
-4
was reached or when the maximum number of function evaluations were reached.
Maximum number of iteration is fixed at 8000. Tables 1 and 2 gives the mean fitness function
value, standard deviation, best and worst function values for the seven benchmark problems
considered in the paper. N/C represents that function do not converges for the said dimension.
From these Tables we see that for dimensions 10 as well as 30, the proposed SADEA algorithm
performed better than the classical DE algorithm for most of the cases.
Table 1: Simulation Results of 16 Benchmark Functions (Dimension = 10)
Function
Mean Fitness(Standard Deviation) Best(Worst)
DE SADEA DE SADEA
1
2.73855e-006
(9.54178e-007)
2.05238e-006
(6.72135e-007)
1.36239e-006
(4.29993e-006)
1.16241e-006
(3.18821e-006)
2
-0.999997
(8.31655e-007)
-0.999998
(7.44751e-007)
-0.999998
(-0.999995)
-0.999999
(-0.999996)
3
2.5018e-006
(1.37206e-006)
0.00246696
(0.00381832)
9.66585e-007
(3.93241e-006)
1.57e-006
(0.00985932)
4
-4189.83
(9.77513e-007)
-4189.83
(1.02244e-006)
-4189.83
(-4189.83)
-4189.83
(-4189.83)
5
1.10663e-005
(3.93948e-006)
6.73036e-006
(1.66683e-006)
6.8389e-006
(1.9769e-005)
3.69722e-006
(2.07139e-005)
6
-21.5024
(9.78499e-007)
-21.5024
(5.79449e-007)
-21.5024
(-21.5024)
-21.5024
(-21.5024)
7
2.39258e-006
(1.1727e-006)
2.14103e-006
(1.26993e-006)
6.81401e-007
(4.63166e-006)
9.14814e-007
(4.89285e-006)
f
8
2.9309e-005
(7.56263e-006)
2.21374e-006
(9.50398e-007)
1.36626e-005
(3.7796e-005)
7.2389e-007
(3.92406e-006)
f
9
3.45097e-007
(3.53735e-007)
2.40669e-008
(2.3212e-008)
3.10471e-008
(9.36908e-007)
1.4251e-009
(6.99523e-008)
f
10
3.89073e-006
(3.91805e-006)
0.0174049
(0.052214)
4.71081e-007
(1.46323e-005)
2.15629e-008
(0.174047)
f
11
-9.6427
(0.0274145)
-9.66015
(7.0472e-007)
-9.66014
(-9.57851)
-9.66015
(-9.66015)
Tarun Kumar Sharma et al Int J Engg Techsci Vol 2(2) 2011,125-133
IJETS|www.techsciencepub.com/ijets 128
Table 2: Simulation Results of 16 Benchmark Functions (Dimension = 30)
Function
Mean Fitness
(Standard Deviation)
Best
(Worst)
DE SADEA DE SADEA
1
6.49096e-006
(8.5964e-007)
5.37593e-006
(6.30677e-007)
5.25447e-006
(8.09145e-006)
4.54073e-006
(6.6626e-006)
2
-0.999993
(8.06895e-007)
-0.999994
(1.25379e-006)
-0.999995
(-0.999992)
-0.999996
(-0.999992)
3
6.77937e-006
(1.34517e-006)
5.27405e-006
(1.11239e-006)
4.83686e-006
(8.37317e-006)
4.18633e-006
(6.66715e-006)
4
-12569.5
(8.28573e-007)
-12569.5
(8.52101e-007)
-12569.5
(-12569.5)
-12569.5
(-12569.5)
5
1.8825e-005
(2.68879e-006)
1.45991e-005
(1.58514e-006)
1.53942e-005
(2.19658e-005)
1.2912e-005
(1.84593e-005)
6
-21.5023
(1.00313e-006)
-21.5024
(1.42833e-006)
-21.5024
(-21.5023)
-21.5024
(-21.5023)
7
6.80795e-006
(1.38904e-006)
4.92222e-006
(9.36581e-007)
5.04302e-006
(9.30497e-006)
2.81453e-006
(6.55133e-006)
f
8
0.000100448
(2.43743e-005)
7.66888e-006
(2.00204e-006)
6.6821e-005
(0.000150273)
4.39619e-006
(1.09369e-005)
f
9
8.69298e-007
(1.54904e-006)
1.29795e-008
(1.34489e-008)
2.239e-008
(5.40162e-006)
8.23457e-010
(4.36078e-008)
f
10
3.00455e-006
(1.80256e-006)
2.48195e-007
(2.01008e-007)
2.9466e-007
(5.82444e-006)
4.47348e-008
(6.03898e-007)
f
11
N/C N/C N/C N/C
f
12
6.25699e-313
(0)
6.25699e-313
(0)
6.25699e-313
(6.25699e-313)
6.25699e-313
(6.25699e-313
f
13
5.32981e-005
(0.371400)
0.0995038
(0.298488)
4.94613e-005
(1.67082e-005)
4.3156e-006
(0.994967)
f
14
0.265291
(0.376259)
5.33904
(3.45582)
0.000202418
(1.0765)
0.575583
(12.3599)
f
15
-1.03163
(3.73655e-007)
-1.03163
(1.02903e-008)
-1.03163
(-1.03163)
-1.03163
(-1.03163)
f
16
0
(0)
0
(0)
0
(0)
0
(0)
Function
Mean Fitness(Standard Deviation) Best(Worst)
DE SADEA DE
f
12
2.013e-313
(0)
2.013e-313
(0)
2.013e-313
(2.013e-313)
2.013e-313
(2.013e-313)
f
13
2.94703e-005
(1.32089e-005)
2.27861e-006
(6.52619e-007)
1.21654e-005
(5.78838e-005)
1.17031e-006
(3.43528e-006)
f
14
9.51316e-005
(2.48623e-005)
0.00232282
(0.00694376)
4.98903e-005
(0.000140315)
4.04898e-006
(0.0231541)
f
15
-1.03163
(3.7922e-007)
-1.03163
(3.10945e-008)
-1.03163
(-1.03163)
-1.03163
(-1.03163)
f
16
0
(0)
0
(0)
0
(0)
0
(0)
Tarun Kumar Sharma et al Int J Engg Techsci Vol 2(2) 2011,125-133
IJETS|www.techsciencepub.com/ijets 129
Table 3: Average CPU time in sec. taken by the algorithms, mean number of evaluation of 10 runs
and overall acceleration rates for dimension 10 and 30
The superior performance of the proposed SADEA algorithm is more evident from Table 3 which
gives the average number of function evaluations (NFE) and time. From this Table we can clearly
see that the total NFE taken by DE for solving the 16 problems of dimension 10 is 139650, while
the total NFE taken by SADEA is only 118581 for 10 dimensional problems indicating an
improvement of around 15% in convergence rate. Further, when we discuss the problems of
dimension 30 we again see that the proposed SADEA is much better than the classical DE in terms
of convergence rate by giving an improvement of more than 45% in terms of NFE. The superior
performance of SADEA is also evident from the total CPU time taken, which is less than the total
time taken by classical DE.
Fig 2 focuses on the changing values of the control parameters F and Cr during the generation of
solution. Fig. 3(a) & (b) illustrates the convergence graph for the Griewenk function by both
algorithms. Fig. 4(a) & (b) shows the bar graph for NFE and Fig 5(a) & (b) presents execution time
by both algorithms.
0
0.1
0.2
0.3
0.4
0.5
0 50 100 150 200 250 300
No. of It erat ions
F
&
c
r
F cr
Fig2: Self-Adaptation of F & Cr
Function
Dimension = 10 Dimension = 30
DE SADEA DE SADEA
Avg. Time
in Sec.
Mean
Fun.
Avg. Time
in Sec.
Mean
Fun.
Avg. Time
in Sec.
Mean
Fun.
Avg. Time
in Sec.
Mean
Fun.
1
0.3 4581 0.1 4266 3.4 47628 2.4 33192
2
0.0 3339 0.1 3189 2.6 36036 2.0 25506
3
0.6 25341 0.4 12996 5.7 72585 4.1 48699
4
0.0 10164 0.0 8007 4.1 334818 1.3 85932
5
0.3 8418 0.3 7953 6.4 86067 4.7 58851
6
0.3 5748 0.3 5337 7.8 57096 5.4 38925
7
0.4 5565 0.3 5235 13.6 67275 9.4 46143
f
8
0.3 4374 0.2 4506 10.1 14316 0.9 12264
f
9
0.1 2169 0.1 3750 0.1 2466 0.1 4401
f
10
0.7 12123 0.5 19794 0.4 14025 0.6 24720
f
11
0.6 13824 0.5 9252 -- N/C N/C
f
12
0.1 30 0.0 30 0.1 30 0.1 30
f
13
0.4 25023 0.3 11226 5.3 72812 4.2 56271
f
14
0.2 13752 0.1 17745 0.5 79425 0.2 38835
f
15
0.1 2076 0.1 2415 0.1 1722 0.1 3558
f
16
0.1 3123 0.1 2880 0.6 9702 0.5 7017
Total 4.5 139650 3.4 118581 60.8 896003 36 484344
% improvement 24.44 15.09 40.78 45.94
Tarun Kumar Sharma et al Int J Engg Techsci Vol 2(2) 2011,125-133
IJETS|www.techsciencepub.com/ijets 130
0
10
20
30
40
50
60
0 5000 10000 15000 20000 25000 30000 35000
NFE
F
I
T
N
E
S
S
DE SADEA
0
0.4
0.8
1.2
1.6
2
0 2000 4000 6000 8000 10000
NFE
F
I
T
N
E
S
S
DE SADEA
3(a) 3(b)
Fig. 3(a) & (b) Convergence graphs by DE & SADEA in 30 & 10 dimension problem respectively
for Griewenk Function
0
5000
10000
15000
20000
25000
30000
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
FUNCTIONS
N
F
E
'
s
DE SADEA
0
50000
100000
150000
200000
250000
300000
350000
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
FUNCTIONS
N
F
E
'
s
DE SADEA
4(a) 4(b)
Fig. 4(a) & (b) Average number of function evaluations taken by DE & SADEA in 30 & 10
dimension problem respectively for 7 benchmark functions.
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
FUNCTIONS
C
P
U
T
I
M
E
i
n
S
e
c
o
n
d
s
DE SADEA
0
2
4
6
8
10
12
14
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
FUNCTIONS
C
P
U
T
I
M
E
i
n
S
e
c
o
n
d
s
DE SADEA
5(a) 5(b)
Fig. 5(a) & (b) Average CPU time taken by DE & SADEA in 30 & 10 dimension problem
respectively by 7 benchmark functions.
Tarun Kumar Sharma et al Int J Engg Techsci Vol 2(2) 2011,125-133
IJETS|www.techsciencepub.com/ijets 131
5. CONCLUSIONS
In the present study we proposed a simple and modified version of basic DE algorithm by
employing an adaptive method for control parameters F and Cr. The numerical results show that the
proposed modification helps in improving the convergence rate without disturbing the quality of
solution. However the work is still in the preliminary stages and a lot more has to be done to
establish any concrete judgment about it. We are in the phase testing our algorithm on a larger test
bed consisting of more complex problems. A theoretical analysis of this work would be interesting
and also the present work can be extended for solving constrained test problems as well.
REFERENCES
1. K. Price and R. Storn. Differential evolution. a simple and efficient heuristic for global optimization over
continuous space. Journal of Global Optimization, 11(2):241.354, 1997.
2. Storn, R. and Price, K., DE-a simple evolution strategy for fast optimization, Dr. Dobbs Journal April 97, 1824
and 78, 1997.
3. Radha Thangaraj, Millie Pant and Ajith Abraham, A Simple Adaptive Differential Evolution Algorithm IEEE
World Congress on Nature and Biologically Inspired Computing & 8
th
International Conference on Computer
Information Systems and Industrial Management Applications (CISIM), Coimbatore, India, pp-398 - 417, 2009.
4. Das, S., Konar, A. and Chakraborty, U. K., Two improved differential evolution schemes for faster global search,
ACMSIGEVO Proceedings of GECCO, Washington D.C., pp. 991-998, 2005.
5. Teo, J., Exploring Dynamic Self-adaptive Populations in Differential Evolution, Soft Computing - A Fusion of
Foundations, Methodologies and Applications, Vol. 10 (8), pp. 673 686, 2006
6. Brest, J., Boskovic, B., Greiner, S., Z umer, V. and Maucec, M. S., Performance Comparison of Self-Adaptive
and Adaptive Differential Evolution Algorithms, Technical Report #2006-1- LABRAJ, University of Maribor,
Faculty of Electrical Engineering and Computer Science, Slovenia, http://marcel.unimb. si/janez/brest-TR1.html,
2006.
7. Brest, J., Greiner, S., Boskovic, B., Mernik, M. and Zumer, V., Self- Adapting Control Parameters in
Differential Evolution: A Comparative Study on Numerical Benchmark Problems, IEEE Transactions on
Evolutionary Computation, Vol. 10(6), pp. 646 657, 2006
8. Ali, M. M., Differential Evolution with Preferential Crossover, European Journal of Operational Research, Vol.
181, pp. 1137 1147, 2007.
9. Yang, Z., Tang, K. and Yao, X., Self-adaptive Differential Evolution with Neighborhood Search, In Proc. IEEE
Congress on Evolutionary Computation, Hong Kong, pp. 1110-1116, 2008.
10. T. Rogalsky. Aerodynamic shape optimization of fan blades. Masters thesis, University of Manitoba. Department
of Applied Mathematics, 1998.
11. F. Cheong and R.Lai. Designing a hierarchical fuzzy logic controller using differential evolution. In Proceedings of
1999 IEEE International Fuzzy Systems Conference, FUZZ-IEEE99, volume 1, pages 277-282, Seoul, Korea,
IEEE, Piscataway, NJ, !999.
12. Helder Santos, Jose Mendes, P.B. de Moura Oliveira, and J. Boaventura Cunha. Path planning optimization using
the differential evolution algorithm. In Actas do Encontro Cientifico - 3
0
Festival Nacional de Robotica
ROBOTICA2003, Lisboa, 9 de Maio de 2003.
13. Feng Xue, Arthur C. Sanderson, and Robert J. Graves. Multiobjective differential evolution and its applications to
enterprise planning. In The IEEE International Conference on Robotics and Automation, 2003.
14. G. D. Magoulas, V.P. Plagianakos, and M.N. Vrahatis. Hybrid methods using evolutionary algorithms for on-line
training. In Proceedings of IJCNN01, International Joint Conference on Neural Networks, volume 3, pages 2218-
2223, Washington DC, 15-19 July 2001.
15. P. Thomas and D. Vernon. Image registration by differential evolution. In Proceedings of the First Irish Machine
Vision and Image Processing Conference IMVIP-97, pages 221-225, Magee College, University of Ulster, 1997.
16. R. Storn, and K. Price, Differential Evolution - A Simple and Efficient Heuristic for Global Optimization over
Continuous Spaces, Journal of Global Optimization, 11, pp.341-359, 1997.
Tarun Kumar Sharma et al Int J Engg Techsci Vol 2(2) 2011,125-133
IJETS|www.techsciencepub.com/ijets 132
Appendix
Function Definition S X
*
min
f
Sphere
=
=
n
i
i
x x f
1
2
1
) (
[-5.12,
5.12]
1
f (0,,0) 0
Exponential
=
=
n
i
i
x x f
1
2
2
5 . 0 exp( ) (
[-1, 1]
2
f (0,,0) -1
Griekwank 1 ) cos( ) (
1 1
2
4000
1
3
+ =
[
= =
n
i
n
i
i
x
i
i
x x f
[-600,
600]
3
f (0,,0) 0
Schawefels
[
= =
+ =
n
i
i
n
i
i
x x x f
1 1
4
) (
[-10,
10]
4
f (0,,0) 0
Acklys
e
x
n
x
n
x f
n
i
i
n
i
i
+ +
|
.
|
\
|
|
|
.
|
\
|
=
= =
20
) 2 cos(
1
exp
1
2 . exp * 20 ) (
1 1
2
5
t
[-32,
32]
5
f (0,,0) 0
Levy
=
+
+ + + + =
1
1
2
1
2
1 1
2
6
)) 2 ( sin 1 )( 1 ( )) 3 ( sin 1 )( 1 ( ) 3 ( sin ) (
n
i
n n i
x x x x x x f t t t
[-10,
10]
6
f (1,,1) 0
Zakharov
=
+ =
n
i
i
x x f
1
2
7
) ( (
=
n
i
i
ix
1
5 . 0 )
2
+ (
=
n
i
i
ix
1
5 . 0 )
4
[-5,
10]
7
f (0,,0) 0
Axis Parallel
hyper-
ellipsoid
=
=
n
i
i
ix x f
1
2
2
) (
[-5.12,
5.12]
2
f (0,,0) 0
Beale | | | | | |
2
3
2 1
2
2
2 1
2
2 1 6
) 1 ( 265 . 2 ) 1 ( 25 . 2 ) 1 ( 5 . 1 x x x x x x f + + + + + =
[-4.5,
4.5]
6
f (3, 0.5) 0
Colville
) 1 )( 1 ( 8 . 19 ) 1 ( ) 1 ( 1 . 10
) 1 ( ) ( 90 ) 1 ( ) ( 100 ) (
4 2
2
4
2
2
2
3
2 2
3 4
2
1
2 2
1 2 7
+ +
+ + + + =
x x x x
x x x x x x x f
[-10,
10]
7
f (1,1,1,1) 0
Michalewicz
m
i i
n
i
ix x x f
2 2
1
9
)) / )(sin( ( sin ) ( t
=
=
[0, t ]
9
f (n=10) -9.66015
Perm
Restrigins
( ) ( )
=
+ =
n
i
i i
x x n f
1
2
4
2 cos 10 10 t
[-5.12,
5.12]
4
f (0,,0) 0
Schawefels { } n i x x f
i i
s s = 1 , max ) (
11
[-100,
100]
11
f (0,,0) 0
Six Hump
Step
=
+ =
n
i
i
x x f
1
2
13
|) 5 . 0 (| ) (
[-100,
100]
13
f (-0.5,
0.5)
0
Notes:
min
f = the minimum of the value of the function: X* = the minimum: S = the feasible region: and Se R
n
, n is
dimension of the function.
Tarun Kumar Sharma et al Int J Engg Techsci Vol 2(2) 2011,125-133
IJETS|www.techsciencepub.com/ijets 133