Page 1

A Scalability Test for Accelerated DE Using

Generalized Opposition-Based Learning

Hui Wang, Zhijian Wu, Shahryar Rahnamayan, and Lishan Kang

Abstract—In this paper a scalability test over eleven

scalable benchmark functions, provided by the current

workshop (Evolutionary Algorithms and other Metaheuris-

tics for Continuous Optimization Problems - A Scalability

Test), are conducted for accelerated DE using generalized

opposition-based learning (GODE). The average error of

the best individual in the population has been reported

for dimensions 50, 100, 200, and 500 in order to compare

with the results of other algorithms which are participating

in this workshop. Current work is based on opposition-

based differential evolution (ODE) and our previous work,

accelerated PSO by generalized OBL.

I. INTRODUCTION

Differential Evolution (DE) is an effective robust

optimization algorithm which was proposed by Price and

Storn in 1997 [1]. In this paper, an enhanced DE, based

on generalized OBL (GOBL) is proposed to accelerate

the convergence rate of classical DE. The GOBL was

introduced in our previous work [10] which presented

a general model for opposition-based learning (OBL).

Accelerated DE by OGBL has been called GODE in

this paper. In order to verify the performance of GODE,

current work provides a scalability test over 11 bench-

mark functions, provided by the current workshop, for

dimensions 50, 100, 200, and 500.

The rest of the paper is organized as follows. In

Section II, the classical DE algorithm is briefly reviewd.

The GOBL technique and its analysis are presented

in Section III. Section IV gives an implementation of

the proposed algorithm, GODE. In Section V, the test

functions, parameters besides a comprehensive set of

scalability experiments are provided. Finally, the work

is summarized in Section VI.

II. A BRIEF REVIEW OF DIFFERENTIAL EVOLUTION

DE is a population-based stochastic search algorithm,

and has been successfully applied to solve complex

problems including linear and nonlinear, unimodal and

Hui Wang, Zhijian Wu and Lishan Kang are with the

State Key Laboratory of Software Engineering, Wuhan Univer-

sity, Wuhan, 430072 China (e-mail: wanghui_cug@yahoo.com.cn;

zjwu9551@sina.com; kang_whu@yahoo.com). Shahryar

mayan is with Faculty of Engineering and Applied Science, University

of Ontario Institute of Technology (UOIT), 2000 Simcoe Street North,

Oshawa, ON L1H 7K4 (e-mail: shahryar.rahnamayan@uoit.ca).

Rahna-

multimodal functions. It has been shown that DE is faster

and more robust on these functions than many other

evolutionary algorithms [2].

There are several variants of DE [1], where the most

popular variant is shown by “DE/rand/1/bin” which

is called classical version. The proposed algorithm

is also based on this DE scheme. Let us assume

that Xi(t)(i = 1,2,...,Np) is the ith individual in

population P(t), where ps is the population size, t is

the generation index, and P(t) is the population in the

tth generation. The main idea of DE is to generate trial

vectors. Mutation and crossover are used to produce

new trial vectors, and selection determines which of

the vectors will be successfully selected into the next

generation.

Mutation–For each vector Xi(t) in Generation t, a

mutant vector V is generated by

Vi(t) = Xi1(t) + F (Xi2(t) − Xi3(t)),

i ?= i1?= i2?= i3,

where i = 1,2,...,Npand i1, i2, and i3are mutually

different random integer indices within [1,Np]. The

population size Npshould be satisfied Np≥ 4 because

i, i1, i2, and i3are different. F ∈ [0,2] is a real number

that controls the amplification of the difference vector

(Xi2(t) − Xi3(t)).

(1)

Crossover–Like genetic algorithms, DE also employs

a crossover operator to build trial vectors by recombining

two different vectors. The trial vector is defined as

follows:

Ui(t) = (Ui,1(t),Ui,2(t),...,Ui,n(t)),

(2)

where j = 1,2,...,n and

Ui,j(t) =

?

Vi,j(t),

Xi,j(t),

if randj(0,1) ≤ CR ∨ j = l

otherwise

.

(3)

CR ∈ (0,1) is the predefined crossover probability,

and randj(0,1) is a random number within (0,1) for

the jth dimension, and l ∈ {1,2,...,n} is a random

parameter index.

2009 Ninth International Conference on Intelligent Systems Design and Applications

978-0-7695-3872-3/09 $26.00 © 2009 IEEE

DOI 10.1109/ISDA.2009.216

1090

Page 2

Selection–A greedy selection mechanism is used as

follows:

?

Without loss of generality, this paper only considers

minimization problem. If, and only if, the trial vector

Ui(t) is better than Xi(t), then Xi(t) is set to Ui(t);

otherwise, the Xi(t) is unchanged.

Xi(t) =

Ui(t),

Xi(t),

if f(Ui(t) < f(Xi(t)))

otherwise

.

(4)

III. GENERALIZED OPPOSITION-BASED LEARNING

(GOBL)

A. Opposition-Based Learning

Opposition-based Learning (OBL) [18], [19] is a

new concept in computational intelligence, and has

been proven to be an effective method to EAs in many

optimization problems [8], [20]–[24]. When evaluating a

solution x to a given problem, simultaneously computing

its opposite solution will provide another chance for

finding a solution more closer to the global optimum [9].

Opposite Number [20]−Let x ∈ [a,b] be a real

number. The opposite number of x∗is defined by:

x∗= a + b − x.

(5)

Similarly, the definition is generalized to higher

dimensions as follows.

Opposite Point [20]−Let X = (x1,x2,...,xD) be a

point in a D-dimensional space, where x1,x2,...,xD∈

R and xj∈ [aj, bj], j ∈ 1,2,...,D. The opposite point

X∗= (x∗

1,x∗

2,...,x∗

D) is defined by:

x∗

j= aj+ bj− xj.

(6)

By applying the definition of opposite point, the

opposition-based optimization can be defined as follows.

Opposition-based Optimization [20]−Let X

(x1,x2,...,xD) be a point in a D-dimensional space

(i.e., a candidate solution). Assume f(X) is a fitness

function which is used to evaluate the candidate’s fitness.

According to the definition of the opposite point, X∗=

(x∗

If f(X∗) is better than f(X), then update X with X∗;

otherwise keep the current point X. Hence, the current

point and its opposite point are evaluated simultaneously

in order to continue with the fitter one.

=

1,x∗

2,...,x∗

D) is the opposite of X = (x1,x2,...,xD).

B. Generalization of OBL Model

Based on the concept of OBL, we propose a

generalized OBL as follows [10]. Let x be a solution in

current search space S, x ∈ [a,b]. The new solution x∗

in the opposite space S∗is defined by [10]:

x∗= Δ − x,

(7)

where Δ is a computable value and x∗∈ [Δ−b,Δ−a].

It is obvious that the differences between current search

space S and opposite search space S∗are the center

positions of search space. Because the size of search

range (indicates the size of interval boundaries) of S

and S∗are b−a, and the center of current search space

moves froma+b

2

to2Δ−a−b

2

after using GOBL.

Similarly, the definition of GOBL is generalized to a

D-dimensional search space as follows.

x∗

j= Δ − xj,

(8)

where j = 1,2,...,D.

By applying the GOBL, we not only evaluate the

current candidate x, but also calculate its opposite can-

didate x∗. This will provide more chance of finding

solutions closer to the global optimum. So it is important

to investigate when the GOBL is beneficial.

Assume that the current candidate is x, and the

corresponding candidate in the opposite space is x∗. The

opposite candidate x∗is closer to the global optimum xo

than the current candidate x, if and only if

|x∗− xo| < |x − xo|.

(9)

Hence

(x∗− xo)2− (x − xo)2< 0

⇒ (x∗+ x − 2xo)(x∗− x) < 0

⇒ (Δ − 2xo)(Δ − 2x) < 0.

It is obvious that

x <Δ

2,

x >Δ

2,

(10)

if xo>Δ

2,

(11)

if xo<Δ

2.

(12)

That is, the opposite candidate x∗is closer to the

global optimum xothan the current candidate x, when

xoand x are located at the different sides ofΔ

2.

However, according to No-Free-Lunch theorem [17],

the GOBL could not be suitable for all kinds of opti-

mization problems. For instance, the opposite candidate

may be far away from the global optimum when solving

multimodal problems. To avoid this case, a new elite

selection mechanism based on population is used after

the opposition. The specific use method of GOBL are

described in Section V.

1091

Page 3

C. Four Different Schemes of Generalized OBL

Let Δ = k(a + b), where k is a real number. The

generalized OBL model is defined by:

x∗= k(a + b) − x.

(13)

So the opposite candidate x∗is closer to the global

optimum xothan the current candidate x, when xoand

x are located at the different sides of

Let us consider four typical GOBL schemes with

different values of k as follows.

k(a+b)

2

.

1) k = 0 (Symmetrical Solutions in GOBL, GOBL-

SS)

The GOBL-SS model is defined by

x∗= −x,

(14)

where x ∈ [a,b] and x∗∈ [−b,−a]. The current solution

x and opposite solution x∗are on the symmetry of

origin.

2) k =1

The GOBL-SI model is defined by

2(Symmetrical Interval in GOBL, GOBL-SI)

x∗=a + b

2

− x,

2,b−a

(15)

where x ∈ [a,b] and x∗∈ [−b−a

the opposite space is on the symmetry of origin.

2]. The interval of

3) k = 1 (Opposition-based learning, OBL)

When k = 1, the GOBL model is identical to Eq.5,

where x ∈ [a,b] and x∗∈ [a,b].

4) k = rand(0,1) (Random GOBL, GOBL-R)

The GOBL-SI model is defined by

x∗= k(a + b) − x,

(16)

where k is a random number within [0,1], x ∈ [a,b]

and x∗∈ [k(a+b)−b,k(a+b)−a]. The center of the

opposite space is at a random position between −a+b

anda+b

2

2.

For a given problem, it is possible that the oppo-

site candidate may jump out of the definition domain

[Xmin,Xmax]. When this happens, the GOBL will be

invalid, because the opposite candidate is infeasible. To

avoid this case, the opposite candidate is assigned to a

random value as follows.

x∗= rand(a,b),

If x∗< Xmin|| x∗> Xmax, (17)

where rand(a,b) is a random number within [a,b], and

[a,b] is the interval boundaries of current search space.

IV. GOBL-BASED OPTIMIZATION

If the interval of the current search space is symmetric

with respect to the origin (a = −b), then Δ = a+b = 0.

According to Eq.10, the GOBL is beneficial when xo·

x < 0 is satisfied. If the global optimum xo= 0, then the

GOBL is invalid because there does not exist a candidate

x which satisfies 0 · x < 0. The global optimum xois

located on the origin in many optimization problems [3],

[7], [8], [11]. To have an asymmetric opposition, the

interval boundaries [aj(t),bj(t)] is dynamically updated

according to the size of current search space. The new

dynamic GOBL model is defined by [8]

X∗

i,j= k[aj(t) + bj(t)] − Xi,j

aj(t) = min(Xi,j(t)), bj(t) = max(Xi,j(t))

(18)

(19)

X∗

i,j= rand(aj(t),bj(t)),

If X∗

i,j< Xmin|| X∗

i,j> Xmax

(20)

i = 1,2,...,Np, j = 1,2,...,D, k = rand(0,1),

where Xi,j is the jth vector of the ith candidate in

the population, X∗

aj(t) and bj(t) are the minimum and maximum values

of the jth dimension in current search space respec-

tively, rand(aj(t),bj(t)) is a random number within

[aj(t),bj(t)], [Xmin,Xmax] is the definition domain, Np

is the population size, rand(0,1) is a random number

within [0,1], and t = 1,2,..., indicates the generations.

i,jis the opposite candidate of Xi,j,

V. GENERALIZED OPPOSITION-BASED

DIFFERENTIAL EVOLUTION (GODE)

In our previous work [10], GOBL was applied to

PSO and the experimental results showed that the GOBL

model with random k works better than the other three

models in many benchmark function problems. So, the

proposed approach GODE is also based on the random

GOBL model in this paper.

Like ODE, the GODE uses the GOBL method to

initialize population and produce new candidates in

evolutionary generations. The original DE is chosen as

a parent algorithm and the proposed GOBL model is

embedded in DE to improve its performance. However,

the embedded strategy of GODE is different from ODE.

In the ODE, the opposition occurs with a probability,

and the classical DE executes every generation. But in

the GODE, if rand(0,1) ≤ po, then execute the GOBL;

otherwise execute the classical DE.

The pseudo-code of GODE is shown in Algorithm

1, where P is the current population, GOP is the

transformed population after using GOBL, Pi is the

ith individual in P, GOPi is the ith individual in

GOP, k is a random number within [0,1], pois the

probability of GOBL, Np is the population size, n is

the dimension size, aj(t),bj(t) is the interval boundaries

1092

Page 4

Algorithm 1: Accelerated Differential Evolution

based on generalized opposition-based learning

(GODE).

Randomly initialize each individual in population P;

double k = rand(0,1);

for i = 1 to Npdo

for j = 1 to n do

GOPi,j = k(aj+ bj) − Pi,j;

if GOPi,j is out of the definition domain then

GOPi,j = rand(aj,bj);

end

end

Calculate the fitness value of GOPi;

NE++;

end

Select Npfittest individuals from {P, GOP} as an initial population P;

while NE ≤ MAXNEand BFV > VTR do

if rand(0,1) ≤ pothen

Update the dynamic interval boundaries [aj(t),bj(t)] in P

according to Eq.19;

k = rand(0,1);

for i = 1 to Npdo

for j = 1 to n do

GOPi,j = k[aj(t) + bj(t)] − Pi,j;

if GOPi,j is out of the definition domain then

GOPi,j = rand(aj(t),bj(t));

end

end

Calculate the fitness value of GOPi;

NE++;

end

Select Npfittest individuals from {P, GOP} as current

population P;

end

else

for i = 1 to Npdo

Randomly select 3 parents Pi1, Pi2and Pi3from P,

where i ?= i1 ?= i2 ?= i3 ;

for j = 1 to n do

if rand(0,1) < CR then

Vi,j = Pi1,j+ F(Pi2,j− Pi3,j);

Ui,j = Vi,j;

end

else

Ui,j = Pi,j;

end

end

Calculate the fitness value of Ui;

NE++;

if f(Ui) < f(Pi) then

P

i= Ui

end

else

P

end

end

end

end

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

?

?

i= Pi;

of current population, rand(aj(t),bj(t)) is a random

number within [aj(t),bj(t)], BFV is the best fitness

value, VTR is the value-to-reach [8], NE is the number

of evaluations, and MAXNEis the maximum number of

evaluations.

VI. CONDUCTED SCALABILITY TESTS

A. Experimental Framework

For the experiments, the following eleven scalable

benchmark problems have been considered:

1. F1-F6 of the CEC’2008 Special Session and Com-

petition on Large Scale Global Optimization test suite

[25].

2. Schwefel’s Problem 2.22 (F7), Schwefel’s Problem

1.2 (F8), Extended f10 (F9), Bohachevsky (F10), and

Schaffer (F11), see [26] for their descriptions.

The requirements on the simulation procedure are the

followings [26]:

1. Each algorithm is run 25 times for each test

function, and the average error of the best individual

of the population is computed. For a solution x, this

measure is defined as: f(x) − f(op), where op is the

optimum of the function.

2. The study has been made with dimensions 50,

100, 200, and 500. The maximum number of fitness

evaluations is 5000 × D. Each run stops when the

maximal number of evaluations is achieved.

B. Setting Control Parameters

Parameter settings for all conducted experiments are

as follows (the same setting has been used in literature

cited after of each parameter):

• Population size, Np= 100 [8]

• Differential amplification factor, F = 0.5 [8]

• Crossover probability constant, Cr= 0.9 [8]

• Probability of GOBL, po= 0.4 (selected based on

our previous experiments)

• Maximum number of function calls, MAXNFC =

5000× D (proposed by the current workshop) [26]

• Mutation Strategy: DE/rand/1/bin (classical DE) [8]

C. Numerical Results

Results for dimensions 50, 100, 200, and 500 are

summarized in Tables I, II, III, and IV, respectively. In

addition, in order to conduct some statistic tests during

the workshop, the author will provide to the organizers

an Excel file with all these results.

D. Results Analysis

As seen, for functions F1-F6 (shifted problems), when

the dimension of the problems increases the average er-

ror (f(x)−f(op)) increases as well, which looks logical.

But for functions F7-F11 (unshifted problems), GODE

performs in a reverse manner. The main reason is that

we use the same population size (Np) for problems with

different dimensions. This is unfair to lower dimensional

problems, because higher dimensional problems have

more maximum generation (MAXNE/Np) than lower

dimensional ones. Another reason is that GODE is not

sensitive to F7-F11 with different dimensions. If given

1093

Page 5

TABLE I

GODE RESULTS FOR D=50, EACH ALGORITHM IS RUN 25 TIMES

FOR EACH TEST FUNCTION, AND THE AVERAGE OF ERROR (

f(x) − f(op), op: THE OPTIMUM THE FUNCTION) FOR THE BEST

INDIVIDUAL OF THE POPULATION IS COMPUTED.

Function

F1

F2

F3

F4

F5

F6

F7

F8

F9

F10

F11

f(x) − f(op)

1.6872e − 014

20.1736

64.9945

332.358

6.90133e − 004

1.65117e − 008

6.76794e − 067

6.54375e − 080

5.25139e − 032

6.04275e − 136

5.85362e − 032

TABLE II

GODE RESULTS FOR D=100, EACH ALGORITHM IS RUN 25 TIMES

FOR EACH TEST FUNCTION, AND THE AVERAGE OF ERROR (

f(x) − f(op), op: THE OPTIMUM THE FUNCTION) FOR THE BEST

INDIVIDUAL OF THE POPULATION IS COMPUTED.

Function

F1

F2

F3

F4

F5

F6

F7

F8

F9

F10

F11

f(x) − f(op)

3.12245e − 014

47.134

252.605

466.972

0.00614746

0.734186

3.22251e − 140

1.9967e − 149

5.55917e − 066

5.64935e − 268

5.83833e − 067

TABLE III

GODE RESULTS FOR D=200, EACH ALGORITHM IS RUN 25 TIMES

FOR EACH TEST FUNCTION, AND THE AVERAGE OF ERROR (

f(x) − f(op), op: THE OPTIMUM THE FUNCTION) FOR THE BEST

INDIVIDUAL OF THE POPULATION IS COMPUTED.

Function

F1

F2

F3

F4

F5

F6

F7

F8

F9

F10

F11

f(x) − f(op)

2.37789e − 010

71.0062

748.518

411.156

0.0338863

2.92399

6.1449e − 277

1.19597e − 293

0

0

0

TABLE IV

GODE RESULTS FOR D=500, EACH ALGORITHM IS RUN 25 TIMES

FOR EACH TEST FUNCTION, AND THE AVERAGE ERROR (

f(x) − f(op), op: THE OPTIMUM OF THE FUNCTION) FOR THE

BEST INDIVIDUAL OF THE POPULATION IS COMPUTED.

Function

F1

F2

F3

F4

F5

F6

F7

F8

F9

F10

F11

f(x) − f(op)

0.0229091

89.0436

2688.548

2690.83

0.0317864

12.2297

0

0

0

0

0

enough MAXGen, it will find more accurate solutions. In

order to investigate the mentioned statement, we have

changed population size Np = 100 (the constant one)

with Np= D for function F7, results are as follows:

D = 50, Np= 50, f(x) − f(op) = 4.38552e − 173

D = 100, Np= 100, f(x)−f(op) = 3.22251e−140

D = 200, Np= 200, f(x) − f(op) = 1.2945e − 116

As seen, the average error increases by dimension

and these results confirm our reasoning at least for

F7. Population size can play a crucial role to obtain

more accurate solutions. The overall performance of

GODE will be more clear during comparison with other

algorithms participating in the workshop.

VII. SUMMARY

In this paper, Differential Evolution Based on gener-

alized opposition-based learning (GODE) is proposed.

The GOBL is an enhanced opposition-based learning,

which transforms candidates in current search space

to a new search space. By simultaneously evaluating

solutions in current search space and transformed space,

we can provide more chance of finding better solutions.

A scalability test over 11 scalable benchmark func-

tions, provided for the current workshop, are conducted.

Results for the dimensions 50, 100, 200 and 500 are

reported.

REFERENCES

[1] R. Storn and K. Price, “Differential evolution–A simple and

efficient heuristic for global optimization over continuous

spaces,” J. Global Optimiz., vol. 11, pp. 341–359, 1997.

[2] J. Vesterstrom and R. Thomsen, “A comparative study of differ-

ential evolution, particle swarm optimization, and evolutionary

algorithms on numerical benchmark problems,” in Proc. Congr.

Evol. Comput., 2004, vol. 2, pp. 1980–1987.

1094