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

ISSN 2229-5518

Cuttlefish Algorithm – A Novel Bio-Inspired

Optimization Algorithm

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.

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

## 1 INTRODUCTION

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

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.

## 2 CUTTLEFISH SKIN COMPONENTS

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.

#### 2.1 Mechanisms of skin color change

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)

## 3 PROPOSED CUTTLEFISH ALGORITHM (CFA)

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

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.

#### 3.2 Group 1, Simulation of case 1 and 2

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] − G1[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), G1 represents a group of chromatophors cells used to simulates case (1 and 2). i, is the ith cell of group G1 . Points[j] represent the jth point of ith 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).

#### 3.1. Initialization

First the population P (cells) of N initial solutions P = cells =
{points1 , points2 , ..., pointsN }, 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). r1 , r2 are two constant values used to find the stretch interval of the chromatophors cells.
While v1 and v2 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 r1 and r2 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 pointsi 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 AVBest . 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 2x) 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:

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

#### 3.4. Group 3, Simulation of case 5

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)

#### 3.3. Group 2, Simulation of case 3 and 4

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, AVBest 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), v1 , v2 are set to (1,-1), respectively. AVBest = (9-3)/2 = 3. The difference between the Best and the AVBest is (difference1 = 9-3 =6), (difference2 = -3 -3 = -6). Thus the visibility will represents the
interval between (-differnce1 , differenc2 ) = (-6, 6), calculated based on the values of v1 and v2 . 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.

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

#### 3.5. G

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 AVBest . 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: G1, G2, G3

and G4

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

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

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

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

Case(6): for each cell in G4 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

## 4 EXPERIMENTS AND VALIDATION

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

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

# Rosenbrock's function (16d), min = 0

25

20

15

10

5

0

0 100000 200000 300000 400000

#### Mean number of function evaluation

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 c1 and c2 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 . xi ) − exp ( cos (cxi )) + 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)

5. Axis Parallel

5.12]

[-5.12,

F _ min

= 10m +

[ x 2

i =1

d

10 cos (2πxi )]

F = 0

X(0, 0, …, 0)

ww.ijser.org

hyber-ellipsoid

5.12]

F _ min = (i * xi )

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)

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)

## 5 CONCLUSIONS

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.

### REFERENCES

[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.

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