In mathematics, the spiral optimization (SPO) algorithm is a metaheuristic inspired by spiral phenomena in nature.
The first SPO algorithm was proposed for two-dimensional unconstrained optimizationbased on two-dimensional spiral models. This was extended to n-dimensional problems by generalizing the two-dimensional spiral model to an n-dimensional spiral model.There are effective settings for the SPO algorithm: the periodic descent direction settingand the convergence setting.
The motivation for focusing on spiral phenomena was due to the insight that the dynamics that generate logarithmic spirals share the diversification and intensification behavior. The diversification behavior can work for a global search (exploration) and the intensification behavior enables an intensive search around a current found good solution (exploitation).
The SPO algorithm is a multipoint search algorithm that has no objective function gradient, which uses multiple spiral models that can be described as deterministic dynamical systems. As search points follow logarithmic spiral trajectories towards the common center, defined as the current best point, better solutions can be found and the common center can be updated.
The general SPO algorithm for a minimization problem under the maximum iteration
kmax
0) Set the number of search points
m\geq2
kmax
xi(0)\inRn~(i=1,\ldots,m)
x\star(0)=
x | |
ib |
(0)
\displaystyleib=argmini=1,\ldots,m\{f(xi(0))\}
k=0
r(k)
xi(k+1)=x\star(k)+r(k)R(\theta)(xi(k)-x\star(k)) (i=1,\ldots,m).
x\star(k+1)= \begin{cases}
x | |
ib |
(k+1)&(if
f(x | |
ib |
(k+1))<f(x\star(k))),\\ x\star(k)&(otherwise), \end{cases}
\displaystyleib=argmini=1,\ldots,m\{f(xi(k+1))\}
k:=k+1
k=kmax
x\star(k)
R(\theta)
r(k)
xi(0)~(i=1,\ldots,m)
This setting is an effective setting for high dimensional problems under the maximum iteration
kmax
R(\theta)
xi(0)~(i=1,\ldots,m)
r(k)
kmax
R(\theta)
R(\theta)=
\top | |
\begin{bmatrix} 0 | |
n-1 |
&-1\\ In-1&0n-1\\ \end{bmatrix}
In-1
(n-1) x (n-1)
0n-1
(n-1) x 1
xi(0)\inRn
(i=1,\ldots,m)
mini=1,\ldots,m\{maxj=1,\ldots,ml\{rankl[dj,i(0)~R(\theta)dj,i(0)~~ … ~~R(\theta)2n-1dj,i(0)r]r\}r\}=n
dj,i(0)=xj(0)-xi(0)
r(k)
r(k)=r=\sqrt[kmax]{\delta}~~~~(constantvalue)
\delta>0
\delta=1/kmax
\delta=10-3
This setting ensures that the SPO algorithm converges to a stationary point under the maximum iteration
kmax=infty
R(\theta)
xi(0)~(i=1,\ldots,m)
r(k)
r(k)
r(k)= \begin{cases} 1&(k\star\leqqk\leqqk\star+2n-1),\\ h&(k\geqqk\star+2n), \end{cases}
k\star
h=\sqrt[2n]{\delta},\delta\in(0,1)
\delta=0.5
k\star
•(Step 1)
k\star=0
•(Step 4) If
x\star(k+1) ≠ x\star(k)
k\star=k+1
kmax
Many extended studies have been conducted on the SPO due to its simple structure and concept; these studies have helped improve its global search performance and proposed novel applications.