Intelligent optimization algorithm: exponential distribution optimization algorithm
Article directory
Abstract: Exponential distribution optimizer (EDO) is a new intelligent optimization algorithm proposed in 2023. The algorithm is based on the exponential concept distribution model in mathematics. It has the characteristics of strong optimization ability and fast convergence speed.
1. Exponential distribution optimization algorithm
1.1 Population initialization
In the initialization phase, we initialize the population (Xwinner) with a set of N randomly generated solutions characterized by highly dispersed values.
Xwinners i , j = lb + rand. ( ub − lb ) (12) \text { Xwinners }_{i, j}=l b+\text { rand. }(u bl b) \tag{12} Xwinners i,j=lb+ rand. (ub−lb)( 12 )
Among them,lb , ub lb, ublb,u b is the upper and lower boundaries of optimization, and rand is a random number between (0,1).
1.2EDO development
The development phase uses several properties of the exponential distribution model, such as memorylessness, exponential rate, standard deviation, and mean. Furthermore, a bootstrapping solution is employed to guide the search process to the global optimum. The first step in EDO consists of initializing a set of random solutions that model a set of exponential distributions. Second, these solutions are evaluated using an objective function and ranked from best to worst. Finally, for maximization optimization problems, they are listed in descending order of the objective function. For minimization optimization problems, solutions are listed in ascending order.
The region around a good solution promises to find a globally optimal solution, which is why many algorithms explore the search space around good solutions by attracting poor solutions. Therefore, we search for a globally optimal solution around the guided solution. The guide solution (Xguide) is defined as the average of the top three best solutions of the sorted population and is calculated as:
X guidetime = X winnersbest 1 time + X winnersbest 2 time + X winnersbest 3 time 3 (13) Xguide^{time }=\frac{Xwinners^{time}_{best1}+Xwinners^{time}_{best2}+Xwinners^{time}_{best3}}{3}\tag{13}Xguidetime=3Xw inn er sb es t 1time+Xw inn er sb es t 2time+Xw inn er sb es t 3time( 13 )
where time represents the number of iterations.
We design an exploitative optimization model to update the current exponentially distributed new solution that depends on two types of solutions: winners and losers. In order to update the new solution ( V itime + 1 V_i^{time+1}Vitime+1),我们假设:
V i time + 1 = { a. ( memoryless i time − σ 2 ) + b . Xguide time if Xwinners i time = memoryless i time b. ( memoryless i time − σ 2 ) + log ( ϕ ) . Xwinners i time , otherwise (14) V_i^{\text {time }+1}=\left\{\begin{array}{l} \text { a. }\left(\text { memoryless }_i^{\text {time }}-\sigma^2\right)+b . \text { Xguide }^{\text {time }} \text { if } \text { Xwinners }_i^{\text {time }}=\text { memoryless }_i^{\text {time }} \\ \text { b. }\left(\text { memoryless }{ }_i^{\text {time }}-\sigma^2\right)+\log (\phi) . \text { Xwinners }{ }_i^{\text {time }} \text {, otherwise } \end{array}\right.\tag{14} Vitime +1={
a. ( memoryless itime −p2)+b. Xguide time if Xwinners itime = memoryless itime b. ( memoryless itime −p2)+log(ϕ). Xwinners itime , otherwise (14)
a = ( f ) 10 , (15) a=(f)^{10},\tag{15} a=(f)10,(15)
b = ( f ) 5 , (16) b=(f)^5 \text {, }\tag{16} b=(f)5, (16)
f = 2 × rand − 1 (17) f=2 \times \text { rand }-1 \tag{17} f=2× rand −1(17)
其中 m e m o r y l e s s i t i m e memoryless_i^{time} memorylessitimeis the memory matrix of the i-th individual. phi phip hi is a random number between [0,1], a, b are adaptation parameters, f is a random number between [-1,1].
1.3 EDO Exploration
This subsection illustrates the exploration phase of the proposed algorithm. The exploration phase of the algorithm identifies promising regions in the search space that are believed to have globally optimal solutions. The optimization model for the exploration phase of EDO is built using the two winners in the original population that obeys the exponential distribution. The new solution will be updated using the following formula.
V i time+1 = X winners i time − M time + ( c . Z 1 + ( 1 − c ) ⋅ Z 2 ) (20) V_i^{\text {time+1 }}=X \text { winners } { }_i^{\text {time }}-M^{\text {time }}+\left(c . Z_1+(1-c) \cdot Z_2\right) \tag{20}Vitime+1 =X winners itime −Mtime +(c.Z1+(1−c)⋅Z2)(20)
M time = 1 N ⋅ ∑ i = 1 N Xinners j , i time , j = 1 , 2 , … . , d (21) M^{\text {time }}=\frac{1}{N} \cdot \sum_{i=1}^N \text { Xinners }_{j, i}^{\text {time }}, \quad j=1,2, \ldots ., d \tag{21} Mtime =N1⋅i=1∑N Xinners j,itime ,j=1,2,….,d(21)
where M time M^{time}Mt im e represents the average value of the population,ccc is an adaptive parameter, calculated as follows:
c = d × f (22) c=d \times f \tag{22}c=d×f(22)
KaTeX parse error: Expected 'EOF', got '_' at position 39: … }}{\text { Max_̲time }} .\tag{2…
Z1, Z2 are two sets of vectors, calculated as follows:
Z 1 = M − D 1 + D 2 , (24) Z_1=M-D_1+D_2,\tag{24}Z1=M−D1+D2,(24)
Z 2 = M − D 2 + D 1 , (25) Z_2=M-D_2+D_1,\tag{25} Z2=M−D2+D1,(25)
D 1 = M − X winners rand 1 , (26) D_1=M-X \text { winners }_{\text {rand } 1},\tag{26} D1=M−X winners rand 1,(26)
D 2 = M − X winners rand 2 . (27) D_2=M-X \text { winners }_{\text {rand } 2} \text {. } \tag{27} D2=M−X winners rand 2. (27)
其中, X w i n n e r s r a n d 1 , X w i n n e r s r a n d 2 Xwinners_{rand1}, Xwinners_{rand2} Xw inn er sr an d 1,Xw inn er sr an d 2Represents two randomly selected individuals.
The pseudo code of the algorithm is as follows:
2. Experimental results
3. References
[1] Abdel-Basset, M., El-Shahat, D., Jameel, M. et al. Exponential distribution optimizer (EDO): a novel math-inspired algorithm for global optimization and engineering problems. Artif Intell Rev (2023). https://doi.org/10.1007/s10462-023-10403-9