Alireza Sabzalian
DOLPHIN ECHOLOCATION ALGORITHM Dolphin echolocation mimics strategies used by dolphins for their hunting process. Dolphins produce a kind of voice called sonar to locate the target, doing this dolphin change sonar to modify the target and its location. This fact is mimicked here as the main feature of the new optimization method.
DOLPHIN ECHOLOCATION ALGORITHM Regarding an optimization problem, it can be understood that echolocation is similar to optimization in some aspects; the process of foraging preys using echolocation in dolphins is similar to finding the optimum answer of a problem. Dolphins initially search all around the search space to find the prey. As soon as a dolphin approaches the target, the animal restricts its search, and incrementally increases its clicks in order to concentrate on the location. The method simulates dolphin echolocation by limiting its exploration proportional to the distance from the target. For making the relationship much clear, consider an optimization problem. Two stages can be identified: in the first stage the algorithm explores all around the search space to perform a global search, therefore it should look for unexplored regions. This task is carried out by exploring some random locations in the search space, and in the second stage it concentrates on investigation around better results achieved from the previous stage. These are obvious inherent characteristics of all meta-heuristic algorithms.
DOLPHIN ECHOLOCATION ALGORITHM Before starting optimization, search space should be sorted using the following rule: Search Space Ordering: For each variable to be optimized during the process, sort alternatives of the search space in an ascending or descending order. If alternatives include more than one characteristic, perform ordering according to the most important one. Using this method, for 푉푎푟푖푎푏푙푒 푗, 푉푒푐푡표푟 퐴푗 of length 퐿퐴푗 is created which contains all possible alternatives for the 푗푡ℎ variable putting these vectors next to each other, as the columns of a matrix, the Matrix 퐴푙푡푒푟푛푎푡푖푣푒푠푀퐴×푁푉 is created, in which 푀퐴 is 푀푎푥(퐿퐴푗 )푗=1:푁푉 ; with 푁푉 being the number of variables.
DOLPHIN ECHOLOCATION ALGORITHM By applying Dolphin Echolocation (DE) algorithm, the user would be able to change the ratio of answers produced in phase 1 to the answers produces in phase 2 according to a predefined curve. In other words, global search, changes to a local one gradually in a user defined style. The user defines a curve on which the optimization convergence should be performed, and then the algorithm sets its parameters in order to be able to follow the curve. The method works with the likelihood of occurrence of the best answer in comparison to the others. In other words, for each variable there are different alternatives in the feasible region, in each loop the algorithm defines the possibility of choosing the best so far achieved alternative according to the user determined convergence curve. By using this curve, the convergence criterion is dictated to the algorithm, and then the convergence of the algorithm becomes less parameter dependent. The curve can be any smooth ascending curve but there are some recommendations for it. A Convergence Factor (CF) is defined as the average possibility of the elitist answer.
DOLPHIN ECHOLOCATION ALGORITHM Sample Convergence Curves, Applying Eq. 1 for Different Values of Power a curve according to which the convergence factor should change during the optimization process should be assigned. Here, the change of CF is considered to be according to the following curve: 퐸푞. 1: 푃푃 퐿표표푝푖 = 푃푃1 + 1 − 푃푃1 푃표푤푒푟 − 1 퐿표표푝푖 퐿표표푝푠 푁푢푚푏푒푟 푃표푤푒푟 − 1
DOLPHIN ECHOLOCATION ALGORITHM 퐸푞. 1: 푃푃 퐿표표푝푖 = 푃푃1 + 1 − 푃푃1 푃푃: Predefined probability 푃푃1: Convergence factor of the first loop in which the answers are selected randomly 퐿표표푝푖 : Number of the current loop 푃표푤푒푟: Degree of the curve. As it can be seen, the curve in Eq.1 is a polynomial of Power degree. 퐿표표푝푠 푁푢푚푏푒푟: Number of loops in which the algorithm should reach to the convergence point. This number should be chosen by the user according to the computational effort that can be afforded for the algorithm. 푃표푤푒푟 − 1 퐿표표푝푖 퐿표표푝푠 푁푢푚푏푒푟 푃표푤푒푟 − 1
DOLPHIN ECHOLOCATION ALGORITHM The flowchart of the algorithm is shown:
DOLPHIN ECHOLOCATION ALGORITHM The main steps of Dolphin Echolocation (DE) for optimization are as follows: 1- Initiate 푁퐿 locations for a dolphin randomly. This step contains creating 퐿푁퐿×푁푉 matrix, in which 푁퐿 is the number of locations and 푁푉 is the number of variables. 2- Calculate the PP of the loop using Eq.1 퐸푞. 1: 푃푃 퐿표표푝푖 = 푃푃1 + 1 − 푃푃1 푃표푤푒푟 − 1 퐿표표푝푖 퐿표표푝푠 푁푢푚푏푒푟 푃표푤푒푟 − 1
DOLPHIN ECHOLOCATION ALGORITHM 3- Calculate the fitness of each location. Fitness should be defined in a manner that the better answers get higher values. In other words the optimization goal should be to maximize the fitness. 4- Calculate the accumulative fitness according to dolphin rules as follows: A) 푓표푟 푖 = 1 푡표 푁퐿 푓표푟 푗 = 1 푡표 푁푉 퐹푖푛푑 푡ℎ푒 푝표푠푖푡푖표푛 표푓 퐿 푖, 푗 푖푛 푗푡ℎ 푐표푙푢푚푛 표푓 퐴푙푡푒푟푛푎푡푖푣푒푠 푀푎푡푟푖푥 푎푛푑 푛푎푚푒 푖푡 푎푠 퐴 푓표푟 푘 = −푅푒 푡표 푅푒 퐴퐹 퐴+푘 푗 = 1 푅푒 × 푅푒 − 푘 × 퐹푖푡푛푒푠푠 푖 + 퐴퐹 퐴+푘 푗 푒푛푑 푒푛푑 푒푛푑
DOLPHIN ECHOLOCATION ALGORITHM 퐴퐹 퐴+푘 푗: The accumulative fitness of the (퐴 + 퐾)푡ℎ alternative to be chosen for the 푗푡ℎ variable 푅푒 is the effective radius in which accumulative fitness of the alternative 퐴′푠 neighbors are affected from its fitness. This radius is recommended to be not more than 1/4 of the search space. 퐹푖푡푛푒푠푠(푖) is the fitness of location 푖. It should be added that for alternatives close to edges (where 퐴 + 푘 is not a valid; 퐴 + 푘 < 0 or 퐴 + 푘 > 퐿퐴푗), the 퐴퐹 is calculated using a reflective characteristic. In this case, if the distance of an alternative to the edge is less than 푅푒, it is assumed that the same alternative exists where picture of the mentioned alternative can be seen, if a mirror is placed on the edge.
DOLPHIN ECHOLOCATION ALGORITHM B) In order to distribute the possibility much evenly in the search space, a small value of 휀 is added to all the arrays as 퐴퐹 = 퐴퐹 + 휀 . Here, 휀 should be chosen according to the way the fitness is defined. It is better to be less than the minimum value achieved for the fitness. C) Find the best location of this loop and name it “The best location”. Find the alternatives allocated to the variables of the best location, and let their AF be equal to zero. In other words: 푓표푟 푗 = 1 푡표 푁푢푚푏푒푟 표푓 푉푎푟푖푎푏푙푒푠 푓표푟 푖 = 1 푡표 푁푢푚푏푒푟 표푓 퐴푙푡푒푟푛푎푡푖푣푒푠 푖푓 푖 = 푇ℎ푒 푏푒푠푡 푙표푐푎푡푖표푛 푗 퐴퐹푖푗 = 0 푒푛푑 푒푛푑 푒푛푑
DOLPHIN ECHOLOCATION ALGORITHM 5- For variable 푗(푗=1 푡표 푁푉), calculate the probability of choosing alternative 푖(푖=1 푡표퐴퐿푗), according to the following relationship: 푃푖푗 = 퐴퐹푖푗 퐿퐴푗 퐴퐹푖푗 푖=1 6- Assign a probability equal to 푃푃 to all alternatives chosen for all variables of the best location and devote rest of the probability to the other alternatives according to the following formula: 푓표푟 푖 = 1 푡표 푁푢푚푏푒푟 표푓 푉푎푟푖푎푏푙푒푠 푓표푟 푖 = 1 푡표 푁푢푚푏푒푟 표푓 퐴푙푡푒푟푛푎푡푖푣푒푠 푖푓 푖 = 푇ℎ푒 푏푒푠푡 푙표푐푎푡푖표푛 푗 푃푖푗 = 푃푃 푒푙푠푒 푃푖푗 = (1 − 푃푃)푃푖푗 푒푛푑 푒푛푑 푒푛푑
DOLPHIN ECHOLOCATION ALGORITHM 7- Calculate the next step locations according to the probabilities assigned to each alternative. 8- Repeat Steps 2 to 7 as many times as the Loops Number.
DOLPHIN ECHOLOCATION ALGORITHM [1] Kaveh A, Farhoudi N., A new optimization method: Dolphin Echolocation, Advances in Engineering Software, 59(2013) 53-70. [2] Kaveh A, L. Jafari and N. Farhoudi, Truss optimization with natural frequency constraints using a dolphin echolocation algorithm, Asian Journal of Civil Engineering (BHRC) Vol. 16, No. 1 (2014) Pages 29-46 [3] K. Lenina, Dr. B. Ravindranath Reddyb and Dr. M. Surya Kalavathic , Dolphin Echolocation Algorithm for Solving Optimal Reactive Power Dispatch Problem, International Journal of Computer (IJC) (2014) Volume 12, No 1, Pages 1-15 [4] Au WWL. The sonar of dolphins. New York: Springer, 1993. [5] Thomas JA, Moss CF, Vater M. Echolocation in bats and dolphins. University of Chicago Press, 2002.
 Dolphin Echolocation Optimization Algorithm

Dolphin Echolocation Optimization Algorithm

  • 1.
  • 2.
    DOLPHIN ECHOLOCATION ALGORITHM Dolphin echolocation mimics strategies used by dolphins for their hunting process. Dolphins produce a kind of voice called sonar to locate the target, doing this dolphin change sonar to modify the target and its location. This fact is mimicked here as the main feature of the new optimization method.
  • 3.
    DOLPHIN ECHOLOCATION ALGORITHM Regarding an optimization problem, it can be understood that echolocation is similar to optimization in some aspects; the process of foraging preys using echolocation in dolphins is similar to finding the optimum answer of a problem. Dolphins initially search all around the search space to find the prey. As soon as a dolphin approaches the target, the animal restricts its search, and incrementally increases its clicks in order to concentrate on the location. The method simulates dolphin echolocation by limiting its exploration proportional to the distance from the target. For making the relationship much clear, consider an optimization problem. Two stages can be identified: in the first stage the algorithm explores all around the search space to perform a global search, therefore it should look for unexplored regions. This task is carried out by exploring some random locations in the search space, and in the second stage it concentrates on investigation around better results achieved from the previous stage. These are obvious inherent characteristics of all meta-heuristic algorithms.
  • 4.
    DOLPHIN ECHOLOCATION ALGORITHM Before starting optimization, search space should be sorted using the following rule: Search Space Ordering: For each variable to be optimized during the process, sort alternatives of the search space in an ascending or descending order. If alternatives include more than one characteristic, perform ordering according to the most important one. Using this method, for 푉푎푟푖푎푏푙푒 푗, 푉푒푐푡표푟 퐴푗 of length 퐿퐴푗 is created which contains all possible alternatives for the 푗푡ℎ variable putting these vectors next to each other, as the columns of a matrix, the Matrix 퐴푙푡푒푟푛푎푡푖푣푒푠푀퐴×푁푉 is created, in which 푀퐴 is 푀푎푥(퐿퐴푗 )푗=1:푁푉 ; with 푁푉 being the number of variables.
  • 5.
    DOLPHIN ECHOLOCATION ALGORITHM By applying Dolphin Echolocation (DE) algorithm, the user would be able to change the ratio of answers produced in phase 1 to the answers produces in phase 2 according to a predefined curve. In other words, global search, changes to a local one gradually in a user defined style. The user defines a curve on which the optimization convergence should be performed, and then the algorithm sets its parameters in order to be able to follow the curve. The method works with the likelihood of occurrence of the best answer in comparison to the others. In other words, for each variable there are different alternatives in the feasible region, in each loop the algorithm defines the possibility of choosing the best so far achieved alternative according to the user determined convergence curve. By using this curve, the convergence criterion is dictated to the algorithm, and then the convergence of the algorithm becomes less parameter dependent. The curve can be any smooth ascending curve but there are some recommendations for it. A Convergence Factor (CF) is defined as the average possibility of the elitist answer.
  • 6.
    DOLPHIN ECHOLOCATION ALGORITHM Sample Convergence Curves, Applying Eq. 1 for Different Values of Power a curve according to which the convergence factor should change during the optimization process should be assigned. Here, the change of CF is considered to be according to the following curve: 퐸푞. 1: 푃푃 퐿표표푝푖 = 푃푃1 + 1 − 푃푃1 푃표푤푒푟 − 1 퐿표표푝푖 퐿표표푝푠 푁푢푚푏푒푟 푃표푤푒푟 − 1
  • 7.
    DOLPHIN ECHOLOCATION ALGORITHM 퐸푞. 1: 푃푃 퐿표표푝푖 = 푃푃1 + 1 − 푃푃1 푃푃: Predefined probability 푃푃1: Convergence factor of the first loop in which the answers are selected randomly 퐿표표푝푖 : Number of the current loop 푃표푤푒푟: Degree of the curve. As it can be seen, the curve in Eq.1 is a polynomial of Power degree. 퐿표표푝푠 푁푢푚푏푒푟: Number of loops in which the algorithm should reach to the convergence point. This number should be chosen by the user according to the computational effort that can be afforded for the algorithm. 푃표푤푒푟 − 1 퐿표표푝푖 퐿표표푝푠 푁푢푚푏푒푟 푃표푤푒푟 − 1
  • 8.
    DOLPHIN ECHOLOCATION ALGORITHM The flowchart of the algorithm is shown:
  • 9.
    DOLPHIN ECHOLOCATION ALGORITHM The main steps of Dolphin Echolocation (DE) for optimization are as follows: 1- Initiate 푁퐿 locations for a dolphin randomly. This step contains creating 퐿푁퐿×푁푉 matrix, in which 푁퐿 is the number of locations and 푁푉 is the number of variables. 2- Calculate the PP of the loop using Eq.1 퐸푞. 1: 푃푃 퐿표표푝푖 = 푃푃1 + 1 − 푃푃1 푃표푤푒푟 − 1 퐿표표푝푖 퐿표표푝푠 푁푢푚푏푒푟 푃표푤푒푟 − 1
  • 10.
    DOLPHIN ECHOLOCATION ALGORITHM 3- Calculate the fitness of each location. Fitness should be defined in a manner that the better answers get higher values. In other words the optimization goal should be to maximize the fitness. 4- Calculate the accumulative fitness according to dolphin rules as follows: A) 푓표푟 푖 = 1 푡표 푁퐿 푓표푟 푗 = 1 푡표 푁푉 퐹푖푛푑 푡ℎ푒 푝표푠푖푡푖표푛 표푓 퐿 푖, 푗 푖푛 푗푡ℎ 푐표푙푢푚푛 표푓 퐴푙푡푒푟푛푎푡푖푣푒푠 푀푎푡푟푖푥 푎푛푑 푛푎푚푒 푖푡 푎푠 퐴 푓표푟 푘 = −푅푒 푡표 푅푒 퐴퐹 퐴+푘 푗 = 1 푅푒 × 푅푒 − 푘 × 퐹푖푡푛푒푠푠 푖 + 퐴퐹 퐴+푘 푗 푒푛푑 푒푛푑 푒푛푑
  • 11.
    DOLPHIN ECHOLOCATION ALGORITHM 퐴퐹 퐴+푘 푗: The accumulative fitness of the (퐴 + 퐾)푡ℎ alternative to be chosen for the 푗푡ℎ variable 푅푒 is the effective radius in which accumulative fitness of the alternative 퐴′푠 neighbors are affected from its fitness. This radius is recommended to be not more than 1/4 of the search space. 퐹푖푡푛푒푠푠(푖) is the fitness of location 푖. It should be added that for alternatives close to edges (where 퐴 + 푘 is not a valid; 퐴 + 푘 < 0 or 퐴 + 푘 > 퐿퐴푗), the 퐴퐹 is calculated using a reflective characteristic. In this case, if the distance of an alternative to the edge is less than 푅푒, it is assumed that the same alternative exists where picture of the mentioned alternative can be seen, if a mirror is placed on the edge.
  • 12.
    DOLPHIN ECHOLOCATION ALGORITHM B) In order to distribute the possibility much evenly in the search space, a small value of 휀 is added to all the arrays as 퐴퐹 = 퐴퐹 + 휀 . Here, 휀 should be chosen according to the way the fitness is defined. It is better to be less than the minimum value achieved for the fitness. C) Find the best location of this loop and name it “The best location”. Find the alternatives allocated to the variables of the best location, and let their AF be equal to zero. In other words: 푓표푟 푗 = 1 푡표 푁푢푚푏푒푟 표푓 푉푎푟푖푎푏푙푒푠 푓표푟 푖 = 1 푡표 푁푢푚푏푒푟 표푓 퐴푙푡푒푟푛푎푡푖푣푒푠 푖푓 푖 = 푇ℎ푒 푏푒푠푡 푙표푐푎푡푖표푛 푗 퐴퐹푖푗 = 0 푒푛푑 푒푛푑 푒푛푑
  • 13.
    DOLPHIN ECHOLOCATION ALGORITHM 5- For variable 푗(푗=1 푡표 푁푉), calculate the probability of choosing alternative 푖(푖=1 푡표퐴퐿푗), according to the following relationship: 푃푖푗 = 퐴퐹푖푗 퐿퐴푗 퐴퐹푖푗 푖=1 6- Assign a probability equal to 푃푃 to all alternatives chosen for all variables of the best location and devote rest of the probability to the other alternatives according to the following formula: 푓표푟 푖 = 1 푡표 푁푢푚푏푒푟 표푓 푉푎푟푖푎푏푙푒푠 푓표푟 푖 = 1 푡표 푁푢푚푏푒푟 표푓 퐴푙푡푒푟푛푎푡푖푣푒푠 푖푓 푖 = 푇ℎ푒 푏푒푠푡 푙표푐푎푡푖표푛 푗 푃푖푗 = 푃푃 푒푙푠푒 푃푖푗 = (1 − 푃푃)푃푖푗 푒푛푑 푒푛푑 푒푛푑
  • 14.
    DOLPHIN ECHOLOCATION ALGORITHM 7- Calculate the next step locations according to the probabilities assigned to each alternative. 8- Repeat Steps 2 to 7 as many times as the Loops Number.
  • 15.
    DOLPHIN ECHOLOCATION ALGORITHM [1] Kaveh A, Farhoudi N., A new optimization method: Dolphin Echolocation, Advances in Engineering Software, 59(2013) 53-70. [2] Kaveh A, L. Jafari and N. Farhoudi, Truss optimization with natural frequency constraints using a dolphin echolocation algorithm, Asian Journal of Civil Engineering (BHRC) Vol. 16, No. 1 (2014) Pages 29-46 [3] K. Lenina, Dr. B. Ravindranath Reddyb and Dr. M. Surya Kalavathic , Dolphin Echolocation Algorithm for Solving Optimal Reactive Power Dispatch Problem, International Journal of Computer (IJC) (2014) Volume 12, No 1, Pages 1-15 [4] Au WWL. The sonar of dolphins. New York: Springer, 1993. [5] Thomas JA, Moss CF, Vater M. Echolocation in bats and dolphins. University of Chicago Press, 2002.

Editor's Notes