Cuttlefish Optimization Algorithm: Difference between revisions

Content deleted Content added
Added {{notability}}, {{original research}} and {{primary sources}} tags (within {{multiple issues}}) to article (TW)
m +{{Redirect category shell}} for multiple-{{R}} #Rs using AWB
 
(17 intermediate revisions by 8 users not shown)
Line 1:
#REDIRECT [[List of metaphor-based metaheuristics#Cuttlefish]]
{{Multiple issues|
 
{{Underlinked|date=July 2016}}
{{Redirect category shell|1=
{{Orphan|date=July 2016}}
{{R from merge}}
{{COI|date=July 2016}}
{{R to section}}
{{notability|date=July 2016}}
{{original research|date=July 2016}}
{{primary sources|date=July 2016}}
}}
In [[computer science]], the '''Cuttlefish Optimization Algorithm (CFA)''' is a population-based [[search algorithm]] inspired by skin color changing behaviour of [[Cuttlefish]] which was developed in 2013 <ref name="Adel & al, 2013">Adel Sabry Eesa, A. M. A. B., Zeynep Orman. (2013). Cuttlefish Algorithm – A Novel Bio-Inspired Optimization Algorithm. International Journal of Scientific & Engineering Research, 4(9).</ref><ref name="Adel & al, 2015">Adel Sabry Eesa, Z. O., Adnan Mohsin Abdulazeez Brifcani. (2015). A novel feature-selection approach based on the cuttlefish optimization algorithm for intrusion detection systems. Expert Systems with Applications, 42, 2670–2679. doi: 10.1016/j.eswa.2014.11.009.</ref> It has two global search and two local search.
 
== Cuttlefish Optimization Algorithm (CFA) ==
The algorithm considers two main processes: ''Reflection'' and ''Visibility''. Reflection process simulates the light reflection mechanism, while visibility simulates the visibility of matching patterns. These two processes are used as a search strategy to find the global optimal solution. The formulation of finding the new solution (''newP'') by using ''reflection'' and ''visibility'' is as follows:
 
<math>
newP = Reflection + Visibility
</math>
 
CFA divide the pubulaion to 4 Groups (G1, G2, G3 and G4). For G1 the algorithm appling case 1 and 2 (the interaction between chromatophores and iridophores) to produce a new solutions. These two cases are used as a golobal search. For G2, the algorithm uses case 3 (Iridophores reflection opaerator) and case 4 (the interaction between Iridophores and chromatophores) to produces a new solutions) as a local search. While for G3 the interaction between the leucophores and chromatophores (case 5) is used to produse solutions around the best solution (local search). Finaly for G4, case 6 (reflection operator of leucophores) is used as a global search by reflecting any incoming light as it with out any modification. The main step of CFA is discribed as follows:
 
<source lang="C#">
1 Initialize population (P[N]) with random solutions, Assign the values of r1, r2, v1, v2.
2 Evaluate the population and Keep the best solution.
3 Divide population into four groups (G1, G2, G3 and G4).
4 Repeat
4.1 Calculate the average value of the best solution.
4.2 for (each element in G1)
generate new solution using Case(1 amd 2)
4.3 for (each element in G2)
generate new solution using Case(3 amd 4)
4.4 for (each element in G3)
generate new solution using Case(5)
4.5 for (each element in G4)
generate new solution using Case(6)
4.6 Evluate the new solutions
5. Untile (stopping criterion is met)
6. Return the best solution
</source>
 
Equations that are used to calculate reflection and visibility for the four Groups are described bellow:
 
Case 1 and 2 for G1:
 
<math> Reflection[j] = R*G_{1}[j].Points[j] </math>
<math> Visibility[j] = V*(Best.Points[j]-G_{1}[i].Points[j]) </math>
 
Case 3 and 4 for G2:
 
<math> Reflection[j] = R*Best.Points[j] </math>
 
<math> Visibility[j] = V*(Best.Points[j]-G_{2}[i].Points[j]) </math>
 
Case 5 for G3:
 
<math> Reflection[j] = R*Best.Points[j] </math>
 
<math> Visibility[j] = V*(Best.Points[j]-AV_{Best} </math>
 
Case 6 for G4:
 
<math> P[i].Points[j] = random*(upperLimit-lowerLinit)+LowerLimit, i = 1, 2, ..., N; j=1, 2, ..., d </math>
 
Where <math>G_{1}</math>, <math>G_{2}</math> are Group1 and Group2, ''i'' presents the <math>i^{th}</math> element in ''G'', ''j'' is the <math>j^{th}</math> point of <math>i^{th}</math> element in group ''G'', ''Best'' is the best solution and <math>AV_{Best}</math> presents the average value of the ''Best'' points. While ''R'' and ''V'' are two random numbers produced around zero such as between (-1, 1), ''R'' represents the degree of reflection, ''V'' represents the visibility degree of the final view of the pattern, ''upperLimit'' and ''lowerLimit'' are the upper limit and the lower limit of the problem ___domain.
 
==See also==
*[[Mathematical optimization]]
*[[Metaheuristic]]
*[[Evolutionary computation]]
*[[Swarm intelligence]]
*[[Particle swarm optimization]]
*[[Ant colony optimization algorithms]]
*[[Artificial bee colony algorithm]]
*[[Intelligent Water Drops]]
 
== References ==
{{Reflist}}
 
==External links==
*[https://sites.google.com/site/cuttlefishalgortihm/ The Cuttlefish Optimization Algorithm website]
 
{{Optimization algorithms}}
 
{{DEFAULTSORT:Cuttlefish Optimization Algorithm}}
[[Category:Artificial intelligence]]
[[Category:Collective intelligence]]
[[Category:Optimization algorithms and methods]]
[[Category:Cuttlefish Algorithm|Algorithm]]