International Journal of Scientific & Engineering Research, Volume 4, Issue 9, September-2013 1978

ISSN 2229-5518

Cuttlefish Algorithm – A Novel Bio-Inspired

Optimization Algorithm

Adel Sabry Eesa, Adnan Mohsin Abdulazeez Brifcani, Zeynep Orman

Abstract— In this paper, a new meta-heuristic bio-inspired optimization algorithm, called Cuttlefish Algorithm (CFA) is presented. The algorithm mimics the mechanism of color changing behavior used by the cuttlefish to solve numerical global optimization problems. The patterns and colors seen in cuttlefish are produced by reflected light from different layers of cells including (chromatophores, leucophores and iridophores) stacked together, and it is the combination of certain cells at once that allows cuttlefish to possess such a large array of patterns and colors. The proposed algorithm considers two main processes: *reflection *and *visibility*. Reflection process is proposed to simulate the light reflection mechanism used by these three layers, while the visibility is proposed to simulate the visibility of matching pattern used by the cuttlefish. These two processes are used as a search strategy to find the global optimal solution. Efficiency of this algorithm is also tested with some other popular biology inspired optimization algorithms such as Genetic Algorithms (GA), Particle Swarm Optimization (PSO) and Bees Algorithm (BA) that have been previously proposed in the literature. Simulations and obtained results indicate that the proposed CFA is superior to other algorithms.

Index term— Cuttlefish algorithm, Reflection, Visibility, Optimization, Chromatophores, Iridophores, Leucophores, Test functions.

—————————— ——————————

LOBAL optimization is a field with applications in many areas of science, engineering, economics, and others, where mathematical modeling is used. Without

loss of generality, the optimization maybe defined as the search for a vector x0 in a possible solution set X minimizing a target function f so that ∀x ∈U ⊆X: f (x) ≥ f (x0 ). For U = X, x0

is called a global optimum, otherwise it is called a local optimum of *f *in *X *[29]. Global optimization algorithms are usually broadly divided into deterministic and meta-heuristic [10]. Deterministic algorithms tend to use gradient technique and find greater use in solving unimodal problems. While meta-heuristic models tend to learn as they run, and tend to be more intelligent and adaptive. Meta-heuristic methods are usually faster in locating a global optimum than deterministic ones. The components of any meta-heuristic algorithms are: intensification and diversification, or exploitation and exploration [28]. Diversification means to generate diverse solutions so as to explore the search space on a global scale, while intensification means to focus the search in a local region knowing that a current good solution is found in this region. A good balance between intensification and diversification should be found during the selection of the best solutions to improve the rate of algorithm convergence. The selection of the best ensures that solutions will converge to the optimum, while diversification via randomization allows the search to escape from local optima and, at the same time, increases the diversity of solutions. A good combination of these two major components will usually ensure that global optimality is achievable.

Most of meta-heuristic algorithms are nature-inspired such

as Ant Colony Optimization ACO, Particle Swarm Optimization PSO, Bees Algorithm BA, etc. that have previously been proposed by researchers. Some of these studies [1] have been inspired by animal behaviors for

developing optimization techniques. For example, ACO algorithm proposed by Dorigo et al. [2], is inspired by the research on the behavior of ant colonies. BA proposed by D.T. Pham et al. [3], is inspired by the food foraging behavior of honey bees. PSO algorithm proposed by Kennedy and Eberhart [4], models the social behavior of bird flocking or fish schooling.

Recently, new meta-heuristic approaches are presented by

several researchers. For example, collective animal behavior

CAB algorithm proposed by Erik Cuevas et al. [5] is inspired

from a group of animals which interact with each other that is

based on the biological laws of collective motion. A gravitational search algorithm GSA, proposed by Esmat Rashedi et al. [6] is based on the law of gravity and mass interactions. Bumble bees mating optimization BBMO algorithm presented inYannis Marinakis et al. [7] simulates the mating behavior of the bumble bees. Parliamentary optimization algorithm POA proposed by Ali Borji [8] is motivated from human social behaviors in political environments. Bat Algorithm BA proposed by Xin-She Yang [9] is based on the echolocation behavior of bats. Firefly algorithm FA proposed by Xin-She Yang [11] is based on flashing characteristics of fireflies.

In this paper, a new meta-heuristic optimization algorithm

that is inspired based on the mechanism of color changing

behavior of cuttlefish is presented to find the optimal solution

in numerical optimization problems. The patterns and colors

seen in cuttlefish are produced by reflected light from different layers of cells stacked together, and it is the combination of certain cells at once that allows cuttlefish to possess such a large array of patterns and colors. The proposed algorithm mimics the light reflection process through the combination of these layers, and the visibility of matching pattern process used by cuttlefish to match its background. The algorithm divides the population (cells) into four groups, each group works independently sharing only the best solution. Two of them used as a global search, while

IJSER © 2013 http://www.ijser.org

International Journal of Scientific & Engineering Research, Volume 4, Issue 9, September-2013 1979

ISSN 2229-5518

others used as a local search.

This paper is organized as follows. In Section 2, cuttlefish

skin components and color changing behavior is introduced.

In Section 3, the proposed CFA algorithm and its

characteristics are described in detail. Section 4 presents the experimental results and the comparative study. Finally, conclusions are given in Section 5.

Cuttlefish [12, 13] is a type of cephalopods which is well- known for its abilities to change its color to either seemingly disappear into its environment or to produce stunning displays. The patterns and colors seen in cephalopods are produced by different layers of cells [14] stacked together including chromatophores, leucophores and iridophores, and it is the combination of certain cells operations of reflecting light and matching patterns at once that allows cephalopods to possess such a large array of patterns and colors. These layers are described as follows:

Chromatophores: are groups of cells that include an elastic saccule that holds a pigment, as well as 15-25 muscles attached to this saccule [15]. These cells are located directly under the skin of cuttlefish. When the muscles contract, they stretch the saccule allowing the pigment inside to cover a larger surface area. When the muscles relax, the saccule shrinks and hides the pigment [16].

Iridophores: are found in the next layer under the chromatophores [17, 18]. Iridophores are layered stacks of platelets [19] that are chitinous in some species and protein based in others. They are responsible for producing the metallic looking greens, blues and golds seen in some species, as well as the silver color around the eyes and ink sac of others. Iridophores work by reflecting light [19] and can be used to conceal organs, as is often the case with the silver coloration around the eyes and ink sacs. Additionally, they assist in concealment and communication.

Leucophores: these cells are responsible for the white spots occurring on some species of cuttlefish, squid and octopus [15]. Leucophores are flattened, branched cells that are thought to scatter and reflect incoming light. In this way, the color of the leucophores will reflect the predominant wavelength of light in the environment [20]. In white light they will be white, while in blue light they will be blue. It is thought that this adds to the animal’s ability to blend into its environment.

Chromatophores cells contain red, orange, yellow, black, and brown pigments. But a set of mirror-like cells (iridophores and leucophores) allows cuttlefish skin to assume all the rich and varied colors of its environment. The appearance of the cuttlefish thus depends on which skin elements affect the light

incident on the skin. Light may be reflected by either chromatophores or by reflecting cells (iridophores or leucophores) or a combination of both, and it is the physiological changeability of the chromatophores and reflecting cells that enables the cuttlefish to produce such a wide repertoire of optical effects. A diagram in Fig1 of Cuttlefish skin detailing the three main skin structures (chromatophores, iridophores and leucophores), two example states (a, b) and three distinct ray traces (1, 2, 3) show the sophisticated means by which cuttlefish can change reflective color [27].

Fig. 1. Diagram of cuttlefish skin detailing the three main skin structures (chromatophores, iridophores and leucophores)

The proposed algorithm mimics the work of the three cell layers that are used by cuttlefish to change its skin colors. To do this, we reordered the six cases shown in Fig1 to be as shown bellow.

Fig. 2. Reorder of the six cases in

Figure 5

From Fig2 we can assume two main processes (*reflection*

IJSER © 2013 http://www.ijser.org

International Journal of Scientific & Engineering Research, Volume 4, Issue 9, September-2013 1980

ISSN 2229-5518

and *visibility*). Reflection process represents the mechanism used by cuttlefish to reflect incoming light and it can by any case of the six cases considered in Fig2. While visibility is representing the matching pattern clarity that the cuttlefish try to simulate the patterns appear in its environment. We assumed that the final pattern is the global optimum solution, while visibility is the difference between the best solution and the current solution. The proposed cuttlefish algorithm CFA is designed based on these two processes (*reflection *and *visibility*) and they used as a search strategy to find the new solutions. The formulation of finding the new solution (*newP*) using reflection and visibility is described in (1).

(group 1 and 4) are work as a local search, while group 2 and 3 are work as a global search.

Reflected color (light) shown in Fig2 case (1 and 2) is produced due the interaction between chromatophores and iridophores cells, each chromatophors cell will contract or relax its muscles to stretch or shrink its saccule. While iridophores cells will reflect the light that is coming from chromatophors cells. The reflected light, my penetrates the chromatophors cells or not.

The stretch and shrink process in chromatophors cells and

the reflected light from iridophores cells and visibility of the

newp = reflection + visibility

(1)

pattern used by cuttlefish to match its background, are used to find a new solution. The formulations of these processes are

As other meta-heuristic optimization algorithms, CFA starts with random solutions for initializing the population. Then the six cases shown in Fig6 are applied until stop

described in (3) and (4), respectively.

reflection j = R * G1 [i].Points[ j]

(3)

condition is meeting. The main steps of CFA algorithm are summarized as follow:

visibility j

= *V ** (*Best*.*Points*[ *j*] − *G*1[*i*].*Points*[ *j*])

(4)

1- Initialize the population with random solutions, calculate and keep the best solution and the average value of the best solution’s points.

2- Use interaction operator between chromatophores and iridophores cells in case 1 and 2, to produce a new solution based on the reflection and the visibility of pattern (global search).

3- Use iridophores cells operators in case 3 and 4 to

calculate new solutions based on the reflected light

In (3) and (4), *G*1 represents a group of chromatophors cells used to simulates case (1 and 2). *i*, is the *i*th cell of group *G*1 . *Points*[*j*] represent the *j*th point of *i*th cell. *Best.Points *represents the best solution points. *R*, represents the reflection degree used to find the stretch range of the saccule when the muscles of the cell is in contract or relax. *V*, represents the visibility degree of the final view of the pattern. The value of *R *and *V *are calculated as follows:

coming from best solution and the visibility of

R = random() * (r − r ) + r

(5)

matching pattern (local search).

1 2 2

4- Use leucophores cells operator in case 5 to produce new solution by reflecting light from the area around

V = random() * (v1 − v2 ) + v2

(6)

the best solution and visibility of the pattern (local search).

5- Use leucophores cells operator in case 6 for random

solution by reflecting incoming light (global search).

First the population *P *(*cells*) of *N *initial solutions *P *= *cells *=

{*points*1 , *points*2 , ..., *points*N }, is spread over *d*-dimensional problem space at random positions (*points*) using (2).

Where, *random*() function is a function used to produce a

random numbers between (0, 1). *r*1 , *r*2 are two constant values used to find the stretch interval of the chromatophors cells.

While *v*1 and *v*2 are two constant values used to find the interval of the visibility’s degree of the final view of the pattern. Sometime the value of *R *or value of *V *is just set to 1, otherwise it will be calculated. In this group only value of *V *is set to 1 and *R *will be calculated.

To illustrate the two processes, stretching and shrinking in

chromatophors cells, and the reflection process in iridophores,

P[i]. points[ j] = random * (upperLimit − lowerLimit ) + lowerLimit

i = 1, 2, , N ; j = 1, 2, , d

(2)

consider the value of *r*1 and *r*2 are set to 2 and -1, respectively, *x*=*Points*[*j*] = 10, *Best *= -5. The value of *R *then found as follows:

Where *upperLimit *and *lowerLimit *are the upper and the lower limits in the problem domain and *random *is a random number between (0, 1).

Each individual *points*i in of the population represents a single cell and it is associated with two values, fitness and a

vector of *d*-dimension continuous values. After that the best solution will be kept in *Best*, and the average of the *Best *points are calculated and stored in *AV*Best . Then the population is divided into four groups of cells. Each group will work independently sharing only the best solution, two of them

R = [random() * (2 − (−1))] − 1

If *random*() = 0, then *R *will equal to -1. If *random*() =1, then *R *will equal to 2. Since, *x *= 10, then the interval of the stretch and the shrink process in chromatophors cells will be between (-*x *and 2*x*) as showing in Fig3. Based on Fig3, the reflected light from iridophores will be any value between (-10, 20). The reflected values between (0, 20) represents case 1 in Fig2, while the reflected values between (0, -10) represents case 2. Then the *newP *can be found using (1) as follows:

IJSER © 2013 http://www.ijser.org

International Journal of Scientific & Engineering Research, Volume 4, Issue 9, September-2013 1981

ISSN 2229-5518

newp[ j] = reflection j + visibility j

Since, *Best *= -5, x = 10, then the visibility = -5-10 = -15. Thus the new solution (*newP*) will be any point in the interval (-10,

20) plus (-15). For example: if reflection = 17, the *newP *= 2. In this example, the new solution will be better than the current solution if the value of reflected light is between (-5, 20), otherwise the new solution will be ignored.

Shortly, the search space of the problem is too big, thus

these operation reduce the search space to be between two

specific values such as in the example between (-10, 20). This

between (-7.5, -5,) represents case 3 in Fig2, while the reflected value between (-5, 7.5) represents case 4. In this example, the new solution will be better than the current solution if the value of reflected light is between (-5, 7.5), otherwise the new solution will be ignored. This group woks as a local search uses the difference between the best solution and the current solution to produce an interval around the best solution as a new search area.

The interval of the Visibility

group work as a global search uses the value of each point to found new area around best solution with specific interval.

Best

-7.5

Best=-5 0

7.5

X=10

Chromatophor

Stretch or Shrink interval

Case 3 Case 4

Best

newP = -2 – 15 = -17 newP = 15-15 =0

Best

-10

Best=-5

X=10

0

X=10 20

Iridophores

-2 15

Chromatophor

Fig. 4. Reflection and visibility processes, case (3, 4)

Case 2

X=10

-5-10=-15 -5-10=-15

Case 1

Iridophores

Leucophores cells are work as a mirror. In this way, the cells will reflect the predominant wavelength of light in the

Fig. 3. Reflection and visibility processes, case (1, 2)

As described before the iridophores cells are light reflecting cells. From Fig2, case (3 and 4), the iridophores cells will reflect incoming light from the outside (environment), and the reflected color is a specific color. Iridophores cells are assisting in concealment or used to conceal organs. We assumed that the concealed organs are represented by the best solution. So the formulation of finding the visibility is remaining as it, while the formulation of finding the reflection is rewritten as follows:

environment. In white light they will reflect the white, in

brown light they will reflect brown and etc., In this case (case

5 in Fig2) the light is coming through chromatophors cells

with specific color. The reflected light is very similar to the

light that coming from the chromatophors cells. In order to cover the similarity between the incoming color and the reflected color, we assumed that the incoming color is the best solution (*Best*), and the reflected color could be any value around the *Best*. The interval that is used around the *Best *is produced by visibility. The two Equations (3) and (4) of finding the reflection and the visibility are modified as follows:

reflection j = R * Best.Point[ j]

(7)

reflection j = R * Best.Points[ j]

(8)

For this group the value of *R *is set to 1, while the value of *V*

will be calculated.

To illustrate consider the same example used with Group 1.

visibility j

= *V ** (*Best*.*Points*[ *j*] − *AV*

Best )

(9)

Best = - 5, x = 10, v1 = 1.5, v2 = -1.5, and the difference between Best and x is (difference = -5 -10 = -15). The value of V is calculated as follows:

V = [random() * (1.5 − (−1.5))] − 1.5

If *random*() = 0, then *V *will be equal to (-1.5). If *random*() =1, then *V *will be equal to (1.5). Since, *difference *= -15, then the range of the visibility of the current pattern and the best pattern (best solution) will be between (1.5 * *difference*, -1.5 * *difference*) = (-7.5, 7.5), as showing in Fig4. From Fig4, the reflected light (*newP*) from iridophores will be any value between (-7.5, 7.5) plus best solution (*Best*). The reflected value

Where, *AV*Best is the average value of the *Best *points. The

value of *R *is set to 1, while the value of *V *will be calculated.

To illustrate, consider *Best *with two points (9, -3), *v*1 , *v*2 are set to (1,-1), respectively. *AV*Best = (9-3)/2 = 3. The difference between the *Best *and the *AV*Best is (*difference*1 = 9-3 =6), (*difference*2 = -3 -3 = -6). Thus the visibility will represents the

interval between (-*differnce*1 , *differenc*2 ) = (-6, 6), calculated based on the values of *v*1 and *v*2 . The *newP *could be any value

between the interval (*Best.Points*[*j*] +6) and (*Best.Points*[*j*] -6) as

showing in Fig5. Also this group works as a local search, but

this time uses the difference between the best solution points

and the average value of *Best *points to produce a small area around the best solution.

IJSER © 2013 http://www.ijser.org

International Journal of Scientific & Engineering Research, Volume 4, Issue 9, September-2013 1982

ISSN 2229-5518

newP[j], j: 1..d

5 15

Chromatophor

Best - 6

Best=9 Best + 6

Best

Leucophor

In

Fig. 5. Reflection and visibility processes, case (5)

incoming light from the environment. This operator allows the cuttlefish to blend itself into its environment. As a simulation, one can assume that any incoming color from the environment will be reflected as it and can be represented by any random solution. Thus this case (case 6 in Fig2) works as initialization uses (2) to find the new solutions which is described previously in section 3.1.

Fig6, shows the pseudo code for the CFA in its simplest form. The algorithm is initialized with *N *cells being placed randomly in the search space using (2), and the fitness of the population is evaluated in Step 2, and the best solution is kept in *Best*. In Step 3, the population is divided into four groups. In Step 5, the average of the *Best *points are calculated and stored in *AV*Best . In Steps 6, 7, 8 and 9, for each cell in each group, a new solution is produced by using the equations (3,

4), (7, 4), (8, 9) and (2), respectively. If current solution is better

than the *Best*, then the *Best *is replaced with the new solution. These steps are repeated until the stopping criterion is met which is given in Step 4. Finally, the best solution (*Best*) is returned in Step 11. The general principle of the proposed CFA is shown in Fig7.

1. Initialize population (P[N]) with random solutions. Assign the values of r1, r2, v1, v2.

2. Evaluate fitness of the population. Keep the best solution in Best.

3. Divide population (cells) into four groups (G1, G2, G3 and G4).

4. While (stopping criterion is not met)

5. Calculate the average value of the best solution, and store it in

AVBest.

6. **Case (1, 2)**

For each cell in G1 do

generate new solution using Equation (3 and 4)

if( the new solution is better than the Best)

replace the Best with it.

if( the new solution is better than the current solution)

replace the current solution with it.

Yes

Return Best

No

Stopping criteria?

Initialize population (P[N]) with random solutions. Assign the values of r1, r2, v1, v2.

Evaluate *fitness *of the population, and keep the best solution in *Best.*

Divide population into 4 Groups: *G*1, *G*2, *G*3

and *G*4

Calculate the average points of the best solution (*Best)*, and store it in *AV*Best

**Case (1, 2): **for each cell in *G*1 generate new solution using *reflection *and *visibility*, Equation (3, 4), and calculate the *fitness.*

**Case (3, 4): **for each cell in *G*2 generate new solution using *reflection *and *visibility*, Equation (7, 4), and calculate the *fitness.*

**Case (5): **for each cell in *G*3 generate new solution using *reflection *and *visibility*, Equation (8, 9), and calculate the *fitness.*

**Case(6): **for each cell in *G*4 generate a random solution Equation (2), and calculate the *fitness.*

No

fitness> current fitness

Yes

Current solution =new solution

No

fitness>Best.fitness

Yes

Best = new solution

end

7. **Case(3, 4)**

For each cell in G2 do

generate new solution use Equations (7, 4)

if( the new solution is better than the Best)

replace the Best with it.

if( the new solution is better than the current solution)

replace the current solution with it. end

8. **Case(5)**

For each cell in G3 do

generate new solution use Equations (8, 9)

if( the new solution is better than the Best)

replace the Best with it.

if( the new solution is better than the current solution)

replace the current solution with it. end

9. **Case(6)**

For each cell in G4 do

generate a random solution using Equations(2)

Fig. 7. General principle of CFA

To test the performance of the CFA algorithm, Rosenbrock’s valley function [22] with 16 dimensions is used. Fig8 shows a two-dimensional view of this function. Rosenbrock’s valley is a classical optimization problem which is also known as Banana function or the second function of De Jong. The global optimum lies inside a long, narrow, parabolic shaped flat valley. To find the valley is trivial, however

IJSER © 2013 ttp://www.ijser.org

International Journal of Scientific & Engineering Research, Volume 4, Issue 9, September-2013 1983

ISSN 2229-5518

convergence to the global optimum is difficult and hence this problem has been frequently used to test the performance of optimization algorithms. This function has the following definition:

f ( x) =

n−1

[100( x

− *x *2 ) 2 + (1 − *x *) 2 ],

− 2.048 ≤ *x *≤ 2.048,

i = 1, , n

(10)

∑

i =1

i +1 i i i

F _ min( X ) = 0,

X (1, 1, 1)

Fig9 shows how the fitness values evolve with the number of function evaluations. The results are averages for 100 independent runs with population size equal to 60. It can be easily seen that after approximately 250,000 function evaluations, the CFA algorithm is able to find solutions close to the optimum.

Fig. 8. Rosenbrock’s valley function in 2D

25

20

15

10

5

0

0 100000 200000 300000 400000

There are various ways to test the performance of an algorithm with other algorithms [23]. In this paper, we have used three approaches:

• The first approach is to compare the number of function evaluations for a given tolerance or accuracy.

• The second approach is to compare their accuracies for a fixed number of function evaluations.

• The last approach is to compare the mean best fitness solution MBF for a fixed number of iteration. MBF is the average (mean) of the best solutions in last generation for each run.

For genetic algorithms, we have used the real-value GA

version [24] with elitism, with the mutation probability equal

to 0.05, and the blending crossover [25] methods with the probability equal to 0.95, and roulette wheel selection. For PSO [26], the values of *c*1 and *c*2 are set to 1.49445 while the inertia factor ω is set to 0.729. For BA [3] and proposed CFA, Table 2 and 3 respectively, describe the parameters values that are used with the different test functions. We run each algorithm for 100 times to make effective comparisons.

For all experiment, the simulations have been carried out using C# on a Pentium Dual-Core CPU 2.20 GHz laptop, 2 GB RAM. Population size for all algorithms in all experiments is

fixed to 50.

TABLE 2

BEES ALGORITHM PARAMETERS

Fig. 19. Evolution of fitness with the mean number of function evaluation, Rosenbrock's fun. with 16d

We have also applied CFA to 12 well known test functions [22] listed in Table 1 in order to compare its performance with other well-known algorithms such as GA, PSO, and BA.

TABLE 1

TEST FUNCTIONS

Function Name Interval Function Global

Optimum

1. De Jong [-5.12,

5.12]

d

F _ min = ∑ xi

X(0, 0, …, 0) F = 0

2. Griewangk [-600,

600]

i =1

d d x

*F *_ min = ∑ *x *2 − ∏ cos( i ) + 1

X(0, 0, …, 0) F = 0

3. Ackley [-32.768,

i =1

1 d

i =1 i

1 d

X(0, 0, …,0)

32.768]

*F *_ min = −*a *. exp (−*b *. ∑ *x*i ) − exp ( ∑ cos (*cx*i )) + *a *+ exp (1)

F = 0

i =1

i =1

4. Rastrigin [-5.12,

a = 20, b=0.2, c=2π.

d

X(0, 0, …, 0)

R © 2013

5. Axis Parallel

5.12]

[-5.12,

F _ min

= 10*m *+

∑[ *x *2 −

i =1

d

10 cos (2π*x*i )]

F = 0

X(0, 0, …, 0)

hyber-ellipsoid

5.12]

*F *_ min = ∑ (*i ** *x*i )

F = 0

6. Martin and [0, 10]

i =1

2

2 X(5, 5)

International Journal of Scientific & Engineering Research, Volume 4, Issue 9, September-2013 1984

ISSN 2229-5518

TABLE 3

CFA ALGORITHM PARAMETERS

In the f

and 1,000,000 function evaluation for each run. The algorithm is stopped when the difference between the obtained minimum fitness and the global optimum is less than or equal to the fixed tolerance, and we run each algorithm for 100 times so that we can do meaningful statistical analysis.

The obtained results shown in Table 4 are averages for 100

independent runs. The form 13094 ±12664.30 (100%) in Table

4 means that the average number (mean) of function

evaluation is 13094, standard division is ±12664.30, and the

success rate of finding the global optima for this algorithm is

100%. The token (****) means that there is no obtained data

with the current algorithm.

From Table 4 we can see clearly that the performance of the

proposed CFA is much better than the other algorithm in all

cases except function 9 and 12, CFA is perform better in term

mean number of function evaluation when compared with the

obtained result using PSO, this means that the CFA is faster than PSO . While PSO is perform better in term of standard division.

TABLE 4

COMPARISON RESULTS IN TERM MEAN NUMBER OF FUNCTION

EVALUATION, STANDARD DIVISION, AND SUCCESS RATE, (100

RUN, 20,000 ITERATIONS, 1000,000 FUNCTION EVALUATIONS)

In the second experiment, and to compare the speed of proposed CFA with other algorithm, the number of function evaluations is fixed to 10,000 and the algorithm is stopped when the difference between the obtained minimum fitness and the global optimum is less than 0.001.We run each algorithm for 100 times to make effective comparisons

Table 5 describes the results that are obtained from the

experiments. The results are averages for 100 independent runs. The form 743.5(100%) in Table 5 means that the average number (mean) of function evaluation is 743.5 and the success rate of finding the global optima for this algorithm is 100%. The token (****) means that there is no obtained data with the current algorithm.

For the first five test functions 1, 2, 3, 4 and 5 in Table 5, we

can see that the GA performs better than both PSO and BA.

While PSO, is perform better than both GA and BA for

functions 7, 8, 9, 10, 11 and 12. BA performs better than both

GA and PSA with success rate 100% using function 6. From Table 5, it is also obvious that the CFA is faster and much superior to other algorithms in terms of accuracy and efficiency for all test functions.

TABLE 5

COMPARISON OF CFA WITH GA, PSA AND BEES

ALGORITHM FOR THE SECOND EXPERIMENT IN TERM MEAN NUMBER OF FUCNTION EVALUATION AND SUCCESS RATE, (100 RUN, 200 ITERATION, 10,000

FUNCTION EVALUATIONS)

IJSER © 2

International Journal of Scientific & Engineering Research, Volume 4, Issue 9, September-2013 1985

ISSN 2229-5518

In the last experiment, the number of iterations is fixed to

1000, each run takes 50,000 function evaluations; the algorithm

will stop when it finish its iterations. The results over 100 run for this experiment are reported in Table 6, considering the performance of mean best fitness. The best result for each function is boldfaced. According to this table, for function 1 to

6, the proposed CFA is performed better than other

algorithms. However, for functions 7, 8 and 9, CFA produces similar results to PSO. For function 10, the results seem to be the same for both BA and CFA. The four algorithms produced the same results for function 11 with small difference among them. While for function 12, the results seem to be the same for CFA, BA, and PSO.

TABLE 6

COMPARISON RESULTS IN TERM MEAN BEST FITNESS, (100 RUN,

1000 ITERATION, 50,000 FUNCTION EVALUATIONS)

In recent years, various meta-heuristic inspired optimization methods have been developed. In this paper, a new meta-heuristic optimization algorithm called Cuttlefish Algorithm (CFA) is introduced. The algorithm is inspired based on the color changing behavior of cuttlefish to find the optimal solution. The patterns and colors seen in cuttlefish are produced by reflected light from different layers of cells including (chromatophores, leucophores and iridophores) stacked together, and it is the combination of certain cells at once that allows cuttlefish to possess such a large array of patterns and colors. In this paper, the simulation of light reflecting and visibility of the matching patterns processes used by these cells layers are formulated. The results obtained by the proposed CFA in all cases provide superior results when compared with GA, PSO, and BA. As a future work, more study on CFA parameters is needed.

[1] A. Jorge, Ruiz-Vanoye, D. –P. Ocotlan, C. Felipe, S.

Andres, Ma. De los Angeles, V. – R Gustavo, A. –L.

Roberto, *Meta-Heuristics Algorithms based on the Grouping of Animals by Social Behavior for the Traveling Salesman Problem*, International Journal of Combinatorial Optimization Problems and Informatics, Vol. 3, No. 3,

2012.

[2] Dorigo, Marco, *Ant colony optimization*, Massachusetts

Institute of Technology, 2004.

[3] D.T. Pham, A. Ghanbarzadeh, E. Koç, S. Otri , S. Rahim , M. Zaidi, *The Bees Algorithm – A Novel Tool for Complex Optimization*, Manufacturing Engineering Centre, Cardiff University, 2005.

[4] J. Kennedy, and R. Eberhart, Particle *Swarm*

Optimization, IEEE International Conference on Neural

Networks, 1995.

[5] C. Erik, G. Mauricio, Z. Daniel, P. –C. Marco, and G.

Guillermo, *An Algorithm for Global Optimization Inspired*

by Collective Animal Behavior, Hindawi Publishing

Corporation Discrete Dynamics in Nature and Society,

2012.

[6] R. Esmat, N. –P. Hossein, S. Saeid, *GSA: A Gravitational*

Search Algorithm, Elsevier, Information Sciences, 2009.

[7] M. Yannis, M. Magdalene, and M. Nikolaos, *A Bumble*

Bees Mating Optimization Algorithm for Global

Unconstrained Optimization Problems, NICSO, SCI 284,

2010.

[8] B. Ali, *A new Approach to Global Optimization Motivated*

by Parliamentary Political Competitions, ICIC International, 2008.

[9] Y. Xin-She, *A New Metaheuristic Bat-Inspired Algorithm*, Springer, 2010.

IJSER © 2013 http://www.ijser.org

International Journal of Scientific & Engineering Research, Volume 4, Issue 9, September-2013 1986

ISSN 2229-5518

[10] M. Kalyani, C. S. Suresh, B. Poornasatyanarayana, *Population based meta-heuristic techniques for solving optimization problems: A selective survey*, international journal of Emerging Technology and Advanced Engineering IJETAE, Vol. 2 Issue 11, 2012.

[11] Y. Xin-She, *Firefly algorithms for multimodal optimization*,

in: Stochastic Algorithms: Foundations and Applications, SAGA 2009, Lecture Notes in Computer Sciences, Vol. 5792, 2009.

[12] M. M. Lydia, J. D. Eric, and T. H. Roger, N. M. Justin,

Mechanisms and behavioural functions of structural

coloration in cephalopods, J. R. Soc. Interface, 2008. [13] http://www.thecephalopodpage.org/.

[14] Y. Jarred, C. L. Alexandra, G. Allyson, H. J. St. H. Debra,

T. Lindsay, M. Michelle and J. T. Nathan, *Principles underlying chromatophore addition during maturation in the European cuttlefish*, Sepia officinalis, Experimental Biology 214, 3423-3432, 2011.

[15] R. T. Hanlon, and J. B. Messenger, *Cephalopod Behavior*,

Cambridge: Cambridge University Press, 1996.

[16] E. Florey, *Ultrastructure and function of cephalopod*

chromatophores, Am. Zool. 1969.

[17] R. T. Hanlon, K. M. Cooper, B. U. Budelmann. and T. C.

Pappas, *Physiological color change in squid iridophores I, Behavior, morphology and pharmacology in Lolliguncula*

brevis, Cell and Tissue Research. 259, 1990.

[18] K. M. Cooper, R. T. Hanlon, and B.U. Budelmann,

Physiological color change in squid iridophores II,

Ultrastructural mechanisms in Lolliguncula brevis, Cell and

Tissue Research. 259, 1990.

[19] R. A. Cloney, and S. L. Brocco, *Chromatophore organs,*

reﬂector cells, iridocytes and leucophores in cephalopods, Am.

Zool. 1983.

[20] D. Froesch,. and J. B. Messenger, *On leucophores and the*

chromatic unit of Octopus vulgaris, J. Zool, 1978.

[21] T. Wilson, and J. W. Hastings, *Bioluminescence*. Annu.

Rev. Cell Devel. Biol. 14:197-230, 1998.

[22] M. Marcin, S. Czesław. *Test functions for optimization needs*, 2005.

[23] Y. Xinjie, G. Mitsuo, *Introduction to Evolutionary*

Algorithms, Springer-Verlag London Limited, 2010.

[24] L. H. Randy, and E. H. Sue, *Practical Genetic Algorithms*

Second Edition, John Wiley & Sons, ISBN: 978-0-471-

45565-3, Inc, 2004.

[25] J. R. Nicholas, *Forma analysis and random respectful*

recombination, In Proc. 4th Int. Conf. on Genetic

Algorithms, San Mateo, CA: Morgan Kauffman,1991.

[26] R. C. Eberhart, Y. Shi, *Comparing Inertia Weights and*

Constriction Factors in Particle Swarm Optimization,

Evolutionary Computation, 2000, Proceedings of the

2000 Congress, Vol. 1, IEEE, 2000.

[27] K. Eric, M. M. Lydia, T. H. Roger, B. D. Patrick, R. N.

Rajesh, F. Eric and H. Jason, *Biological versus electronic*

adaptive coloration: how can one inform the other, J. R. Soc. Interface, 2012.

[28] C. Blum, and A. Roli, *Metaheuristics in combinatorial optimization: Overview and conceptual comparison*, ACM Comput. Surv., 35, 268-308. 2003.

[29] K. Dervis, and B. Bahriye, *Artificial Bee Colony (ABC) Optimization Algorithm for Solving Constrained Optimization Problems*, Proceedings of the 12th international Fuzzy Systems Association world congress on Foundations of Fuzzy Logic and Soft Computing, Springer, Verlag Berlin, Heidelberg, 2007.

.

————————————————

• *Zeynep Orman, Department of Computer Engineering, Faculty of*

Engineering, Istanbul University, 34320, Avcilar, Istanbul, Turkey. ormanz@istanbul.edu.tr

IJSER © 2013 http://www.ijser.org

International Journal of Scientific & Engineering Research, Volume 4, Issue 9, September-2013

ISSN 2229-5518

1987