Cuttlefish Optimization Algorithm: Difference between revisions
Appearance
Content deleted Content added
Wikipedia:Articles for deletion/Cuttlefish Optimization Algorithm closed as no consensus |
←Redirected page to List of metaphor-inspired metaheuristics#Cuttlefish |
||
Line 1: | Line 1: | ||
⚫ | |||
{{Multiple issues| |
|||
{{Underlinked|date=July 2016}} |
|||
{{Orphan|date=July 2016}} |
|||
{{COI|date=July 2016}} |
|||
{{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) == |
|||
[[File:Cuttlefish2.png|thumb|The six cases of reflection used by the Cuttlefish]] |
|||
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 described 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. |
|||
== Applications == |
|||
{{Dynamic list}} |
|||
The Cuttlefish Optimization Algorithm has found many applications in literature, such as: |
|||
Feature Selection <ref>Meesala Shobha Rani (2015), A Hybrid Intrusion Detection System Based on C5.0 Decision Tree Algorithm and One-Class SVM with CFA. International Journal of Innovative Research in Computer and Communication Engineering, 3(6). doi: 10.15680/ijircce.2015.0306058.</ref><ref>Rahim TAHERI (2015),Rahim TAHERI, M. A., Mohammad Rafi KHARAZMI. (2015). A New Approach For Feature Selection In Intrusion Detection System. Paper presented at the International Conference on Non-Linear System & Optimization in Computer & Electrical Engineering. http://dergi.cumhuriyet.edu.tr/cumuscij/article/view/5000146245.</ref> |
|||
Travelling salesman problem <ref>Mohammed Essaid Riffi (2015), Mohammed Essaid Riffi, M. B. (2015). Discrete cuttlefish optimization algorithm to solve the travelling salesman problem. Paper presented at the 2015 Third World Conference on Complex Systems (WCCS), Marrakech IEEE, dio: 10.1109/ICoCS.2015.7483231.</ref> |
|||
Image processing (Komal Sinsinwar, 2016)<ref>Komal Sinsinwar, (2016), Komal Sinsinwar, S. C. (2016). A Survey of Digital Image Watermarking Optimization Algorithms Inspired by Nature. International Journal of Science and Research (IJSR), 5(2).</ref> |
|||
Control <ref>Mr.K.Lenin, (2014), Mr.K.Lenin, D. B. R. R., Dr.M.Surya Kalavathi. (2014). Voltage Profile Amplification and Attenuation of Real Power Loss by Using New Cuttlefish Algorithm. Control Theory and Informatics, 4(9).</ref> |
|||
==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}} |
|||
⚫ |