A Novel Intelligent Optimization Algorithm Inspired from Circular Water Waves

In this paper, a novel nature inspired algorithm for continuous optimization of numerical functions has been proposed. The algorithm is inspired from the circular wave created from a water drop when it falls to a still water. Algorithm itself has been developed with the purpose of distributed working thus kept as embarrassingly parallel as possible. Proposed algorithm is tested with eight different benchmark functions and up to thirty dimensions. The experimental results are promising and encouraging for further research studies. DOI: http://dx.doi.org/10.5755/j01.eee.21.5.13316


I. INTRODUCTION
In today's scientific world; nature based algorithms have many benefits in optimization and demanding more research.Some of these algorithms are Particle Swarm Optimization (PSO) [1], Artificial Bee Colony (ABC) [2], Genetic Algorithms [3], Firefly Algorithm [4], Bat Algorithm [5], and Artificial Chemical Reaction Optimization Algorithm [6].These algorithms are being improved by scientists and still open to more improvements.Some of the new research studies in this area are; Enhanced leader PSO [7], Enhanced Compact Artificial Bee Colony [8], the Intelligent Water Drops [9], and Modified Bat Algorithm [10].
By inspiring from nature, we may solve our problems.In this paper, a novel nature inspired algorithm for continuous optimization of numerical functions has been proposed.
In nature, when we observe a water drop to fall into still water, we will see circular waves forming around it.These waves will move until they collide with an object and this will create new waves.As waves travel through water by colliding with objects and creating new waves, we will see that waves are starting to gather near objects.As wave loses their velocity, they will vanish and leave water as still as ever.
We may assume that we have still water which can be interpreted as search domain and we have a mountain in it.We let water drop fall into it.This causes circular waves in the water.When a wave collides with a foothill, it will create new waves.These waves will cause new waves to form as it is colliding different parts of the foothill.As waves are moving in harmony, we should realize that forming waves are starting to gather near foothill.Now we have to make some assumptions for our algorithm sake.
 When wave collide with foothill, the water level will increase but formed waves will not be affected by it. When a new wave formed, it will not be a reflecting wave but a circular wave like its predecessors.
 Each wave has enough energy to travel as much as we want so they will not lose their energy as they move or reflect.
When the water level rises a newly formed wave will have chance to reflect from a higher place of the mountain.As this reflecting and level-rising continue; waves will make their way to the top of the mountain and will gather there.Our algorithm inspires from this water phenomenon.
This work has been organized as follows; at Section II the steps to optimize a given function with Circular Water Wave (CWW) algorithm are explained, at Section III benchmark functions, search domain of each function and best values of these function are provided, at Section IV experimental result of WCC, PSO and ABC are given and discussed, finally at Section V conclusion of the experimental result of Circular Water Wave algorithm and possible future research topics are given.

II.CIRCULAR WATER WAVE ALGORITHM
In this section, the steps to optimize a given function with Circular Water Wave algorithm (CWW) are explained.Constraints and parameters of the algorithm are given and discussed.
When we consider a function f with n variables and take the variables of function f as xi (0 ≤ i < n), we will search maximum or minimum values of y, where , ,...... , , We will start with one point.Choose a random starting point S in search domain.
Since we cannot calculate every point in the search domain like circular water waves do pass, we have to make some sacrifices.Instead of calculating every point, we will calculate circular points in radius of ri and we will do so in number of waves cj (1 ≤ j ≤. m, m = maximum number of wave circle).

Calculate
, where di is the difference from previous value of xi, ri is the radius of i th domain, w is a random value generator which is the type of double and has a value between 0 to 1, and cj is the j th circle.By using the difference d value, we shall create our circular search.
In order to make a smart search we shall calculate new function values of each dimension.For example; if we have three dimensional problem then we shall calculate and check fitness of: We create a new point with the points which has better fitness than starting point S. Let us assume Point 2 and Point 4 has better fitness than starting point S then we create new point as follows Then we create additional points by randomizing this Point 7 In our experiments, the number of this randomized possible best point is equal to the dimension of the problem.
ri has an important factor in the results we obtained.We recommend the initial value of ri to be equal of half of the range of the i th dimension.When the fitness is not improving we update ri values as follows / .
The number of the wave circles is yet another important factor of the algorithm.The wave number and radius update function determine how fast algorithm approaches to solution.Increased wave numbers will minimize stacking at local minima.In our tests we have used value of wave circle as three, five and ten.
In an ideal state, we should use all new points which have better fitness than that of starting point to create new wave circles however, taking the best b value is recommended.In our tests, b value is selected as 3.
At each iteration, if the number of wave circle is m, dimension of the problem is n, and new starting point number is b; then the number of the points that each iteration need to calculate While( fail count < 10 )

III. BENCHMARK FUNCTIONS
Eight different benchmark functions [11] have been used in our experiments.Each of these functions has been tested for forty times.Functions are as follows: F1 Ackley's Function , 20 exp 0.2 0, 5 exp 0.5 cos 2 cos 2 20.

IV. EXPERIMENTAL RESULTS
In this section, experimental results of WCC, PSO and ABC are given (in Table II-Table XI) and discussed.
Search domain and minimum value of the each function have been provided at Table I.
In Table II-Table IX, it is seen that the number of iteration is getting smaller as number of wave circle grows and as number of wave circle grows, mean values tend to get smaller which indicates less possibility of stacking local minima.
In general, algorithm manages to find absolute optimum point as seen in Table II       As seen in Table IX, as dimension of the problem grows; keeping wave circle number small may cause growing error rate.This could be avoided by incrementing wave circle number.
Since stopping criteria is the number of failed attempts, algorithm tends to iterating as long as it can find a new best solution which may cause increasing iteration number as seen in Table IX.However, this behaviour also gives algorithm a possibility to find absolute optimum point.In our experiment for F8 regardless of dimension of the problem, we found variables with error rate of e-162.
Mean iteration numbers are promising and within acceptable range though algorithm may not be recommended as it stands for real time applications.
The number of the iterations tends not to change as the dimension of the problem grows but please take notice that as dimension grows so the number of the point to calculate in each wave circle as shown in (4).
In our tests, we have used randomized starting points within range of the search domain.One of the reasons for these randomized starting points is that some function has optimum minima at point zero and in order to test our algorithm in harsh environment, randomize starting points are chosen.In real world problems, using middle of the search domain as starting point is recommended.If more than one starting point are to be used; dividing search domain and putting starting points in middle of each part is recommended.Each starting point should move to possible best regardless of their sub search domain.
CWW algorithm may not be capable of finding the absolute minimum or maximum of every type of function.It may become necessary to try different radius values or to increase the number of the randomized best points.As seen in Table VI and IX, it may give result with some error or in worst case it may not be capable of solving it.
As it stands CWW algorithm is an intelligent algorithm that looks around of the given point and move through the best point which it can find.
In Table X, ABC algorithm (colony size: 20, max cycle: 200, and limit: 100) source code of which can be found in authors page [2] and in Table XI, PSO algorithm (particle number: 40, max cycle: 200, c1: 1, and c2: 1) have been used for testing some of the benchmark functions.According to these tables, results obtained from CWW algorithm are within the acceptable range.Our experiment reveals that CWW algorithm may be slower or faster than PSO and ABC, however usually has less error rate.

V.CONCLUSIONS
In this paper, a novel metaheuristic optimization algorithm entitled as CWW inspired from circular water waves, have been proposed.An intelligent approach to minimize points to calculate a circular search within a radius is used.Using best points founded by algorithm; new search points have been created and iterated until a better solution no longer can be found.

TABLE I
-TableIX.In some cases as seen TableIII-Table VII; algorithm may not reach absolute optimum but get close to it with an acceptable error rate.

TABLE X .
RESULTS OBTAINED FROM ABC ALGORITHM.

TABLE XI .
RESULTS OBTAINED FROM PSO ALGORITHM.