Electro Search Algorithm - hi, there were points I did not understand when writing the codes of this search algorithm. Can anyone explain these to me?
2 views (last 30 days)
Show older comments
hi, there were points I did not understand when writing the codes of this search algorithm. Can anyone explain these to me?
1- We distribute atoms to random solution space. While generating electrons around it, after generating around random atoms in the first place, putting them into fitness function and calculating their energy 2.3.4. and 5. Do we calculate and compare the energies of the orbits? If 10 electrons are given directly as parameters, then 10 electrons take the ones with the best energy in the orbits 2.3.4 and 5. respectively and find the best among themselves and say this is the best electron for the 1st atom?
2- It says the electron radius is equal to the radius of the largest electoron. It is said to be calculated by Dk. How do we get this calculation? how we calculate the radius of the next electron.
1st phase: atom spreading
In this phase, the candidate solutions are randomly distributed over the search space. Each candidate represents an atom, composed of a nucleus around which the electrons orbit. The electrons are confined into defined orbits around the nucleus and could transition between them by absorbing or emitting specific amounts of energy in the process (Bohr Model)
2nd phase: orbital transition
In this phase, the electrons around each nucleus move to larger orbits, aiming for orbits with higher energy levels. This orbital transition is performed inspired by the concept of the quantized energy levels in hydrogen atom and can be expressed for each nucleus as follows:
ei = Ni + (2 × rand − 1) x( 1 − 1/n^2) x r (3)
n ∈ {2, 3, 4, 5 }
rand ∈ [0,1]
where Ni is the current position of the nucleus, rand is selected as uniform random numbers in the range [0,1], n is the energy level that defines the vicinity in which the electrons can be positioned, and r is the Orbital radius determined by Dk (Eq. (4)) except for the first iteration which is defined randomly. Once electrons occupy these new orbits, the electron with the highest energy level around each nucleus (i.e., best fitness value) is selected as the best electron (ebest). Accordingly, one particular electron around each nucleus is marked as the best electron which is used for relocating the corresponding atom in the next step.
3rd phase: nucleus relocation
In this step, the position of the new nucleus (Nnew) is assigned based on the energy of an emitted photon, defined by the difference of energy level between the two atoms (Rydberg formula). For each nucleus, the standard form of the formula for the nucleus relocation can be expressed in vector notation as:
Dk=(ebest - Nbest) + Rek x((1/(Nbest^2)) - (1/(Nk^2))) (4)
Nnew=Nk+ Ack x Dk (5)
where at each iteration k, the relocation distance Dk is computed for each nucleus based on the current best nucleus position ( Nbest), the best electron around the nucleus (ebest), and the current position of the nucleus ( Nk) affected by Rydberg’s energy constant (Rek). The position of the new nucleus ( Nnew) is then updated using its current position and the computed relocation distance, affected by Accelerator coefficient (Ack). Note that the symbol ⊗ denotes element-by-element vector multiplication. This procedure is per- formed on all nuclei, leading to gradual reposition of all atoms towards the global optimum point. The convergence speed of this relocation depends on the algorithm coefficients Re and Ac which are randomly set in the first iteration. In the following iterations, a new self-tuning approach, called Orbital-Tuner method, is introduced to update these coefficients at each iteration.
1 Comment
Answers (0)
See Also
Categories
Find more on Gravitation, Cosmology & Astrophysics in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!