# Project 2 Presentation
---
## Enhanced Elephant Herding Optimization
機械所 劉政勳
Note:
###### tags: `最佳設計`
I'm going to tlak Enhanced Elephant Herding Optimization.
Herding is to make animals move together as a group.
---
## Elephant Herding Optimization
Note:
But first, we need to know what is the origin Elephant Herding Optimization.
----
### Behavior of elephants
* An elephant group is composed of several clans under the leadership of a matriarch.
* Male elephants will leave their family group when growing up.
Note:
there are two elephant's behavior that the algorithm use.
----
### Algorithm
#### CLAN UPDATING OPERATOR
$$
x_{new,ci,j}=x_{ci,j}+\alpha\times(x_{best,ci}-x_{ci,j})\times r
$$
$$
x_{center,ci,d}=\frac{1}{n_{ci}}\times\sum_{j=1}^{n_{ci}} x_{ci,j,d}
$$
Note:
the first function update each elephant's position in every generation.
and the second one is the clan center function.
* $x_{new,ci,j}$ and $x_{ci,j}$ are newly updated and old position for elephant j in clan ci.
* $\alpha\in[0,1]$ the influence of the clan matriarch on the elephant new position.
----
<font color="#B6B6B6">**if** $x_{ci,j}=x_{besst,,ci}$</font>
$$
x_{new,ci,j}=\beta\times(x_{center,ci})
$$
Note:
* $\beta\in[0,1]$ determines the influence of the $x_{center,ci}$ on $x_{new,ci,j}$.
* **d** indicates the d-th dimension,
----
### Algorithm
#### SEPARATING OPERATOR
$$
x_{worst,ci}=x_{min}+(x_{max}-x_{min}+1)\times rand
$$
Note:
$x_{min}$ and $x_{max}$ are upper and lower bound of the position of elephant.
----
### Pseudo Code
* Step 1:
Initialization. Set generation counter t=1; initialize the population; the maximum generation $MaxGen$.
----
### Pseudo Code
* Step 2:
**While** $t<MaxGen$ do
Sort all the elephants according to their fitness.
Implement *clan updating operator*.
Implement *separating operator*.
Evaluate population by the newly updated positions.
$t=t+1$
* Step 3: end while
----
### Result
Mean function value

Note:
EHO get better result is most the benchmark function.
---
## Enhanced Elephant Herding Optimization
----
### Why
**EHO** have the problems of the **fast unjustified convergence towards the <font color="#E70A0A">origin</font>**
Note:
EHO is lack of ability to control exploration-exploitation tradeoff.
----

Note:
BBO: Biogeography-based optimization
DE: Differential evolution
GA: Genetic Algorithms
----
### Improvement
##### CLAN UPDATING OPERATOR
$$
x_{i,j}^{t+1}=x_{i,j}^t+\alpha\times(m_{i}^t-x_{i,j}^t)+\beta\times(c_{i}^t-x_{i,j}^t)+\gamma\times r
$$
$$
c_i^t=\frac{1}{n_i}\times\sum_{i}x_{i,j}^t
$$
Note:
* $\gamma\in[0,1]$ determining the tendency of elephant to walk randomly
* $\beta\in[0,1]$ the tendency of elephant to move towards the clan center
* $\gamma\in[0,1]$ determining the tendency of elephant to walk randomly
* $n_i$ the number of elephants in clan i
----
<font color="#EFF4B2">$$
x_{new,ci,j}=x_{ci,j}+\alpha\times(x_{best,ci}-x_{ci,j})\times r
$$</font>
$$
x_{i,j}^{t+1}=x_{i,j}^t+\alpha\times(m_{i}^t-x_{i,j}^t)+\beta\times(c_{i}^t-x_{i,j}^t)+\gamma\times r
$$
Note:
EEHO introduce beta and gamma. these two parameter let the previous generation have influence to next generation. Also, the clan center and the matriarch can influence next generation.
----

----

----
### Improvement
##### CLAN UPDATING OPERATOR
$$
m^{t+1}=m^{t}+\beta(c^{t}-m^{t})
$$
Note:
In EHO, the matriarch is random in each generation. EEHO has improved this problem. The old position of the matriarch had been considered.
----

----

----
### Improvement
##### SEPARATING OPERATOR
$$
x_{i,worst}^t=x_{min}+(x_{max}-x_{min})\times rand
$$
Note:
$x_{min}$ and $x_{max}$ same as before.
----
### Result
#### Benchmark function
CEC'17 benchmark function have total 2 functions. Contain with 4 kinds of problems.
**Unimodal, Simple multimodal, Hybrid and Composition type.**
----

----

----

----
Enhanced elephant herding algorithm(EEHO) have solved the problem such as unjustified convergence towards the origin and the lack of ability to control exploration-exploitation tradeoff.
---
## Conclusion
In general,EEHO have better results than traditional EHO, PSO, BSA and ALO in most benchmark functions.
---
## Q&A
{"metaMigratedAt":"2023-06-15T17:43:49.619Z","metaMigratedFrom":"YAML","title":"Project 2 Presentation","breaks":true,"slideOptions":"{\"transition\":\"slide\"}","contributors":"[{\"id\":\"5f43097f-4275-419a-946a-b3387f31c9b1\",\"add\":5496,\"del\":903}]"}