Spiral optimization algorithm
The spiral optimization (SPO) algorithm is an uncomplicated search concept inspired by spiral phenomena in nature.
Metaphor
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).
Algorithm

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 (termination criterion) is as follows:
0) Set the number of search points and the maximum iteration number . 1) Place the initial search points and determine the center , ,and then set . 2) Decide the step rate by a rule. 3) Update the search points: 4) Update the center: where . 5) Set . If is satisfied then terminate and output . Otherwise, return to Step 2).
Setting
The search performance depends on setting the composite rotation matrix , the step rate , and the initial points . Some effective settings with high theoritical backgrounds have been proposed to this date.
- Setting 1 (Spiral Descent Direction Setting) [1]
- This setting is an effective setting for high dimensional problems under the maximum iteration . The conditions on and together ensure that the spiral models generate descent directions periodically. The condition works to utilize the periodic descent direction under the search termination .
- Set as follows: where is the identity matrix and is the zero vector.
- Place the initial points at random to satisfy the following condition: where . Note that this condition is almost all satisfied by a random placing and thus no check is actually fine.
- Set at Step 2) as follows: where a sufficiently small such as or .
- Setting 2 (Convergence Setting) [2]
-
This setting ensures that the SPO algorithm converges to a stationary point under the maximum iteration . The settings of and the initial points are the same with the above Setting 1. The setting of is as follows.
-
Set at Step 2) as follows: where is an iteration when the center is newly updated at Step4 and such as . Thus we have to add the following rules about to the Algorithm:
- •(Step 1) .
- •(Step 4) If then .
-
Set at Step 2) as follows: where is an iteration when the center is newly updated at Step4 and such as . Thus we have to add the following rules about to the Algorithm:
Future works
- The algorithms with the above settings are deterministic. Thus, incorporating some random operations would make this algorithm powerful for the global optimization.
- To find an appropriate balance between diversification and intensification spirals depending on the target problem class including $k_{\max}$ is important to enhance the performance.
- ^ Tamura, K.; Yasuda, K. (2016). "Spiral Optimization Algorithm Using Periodic Descent Directions". SICE Journal of Control, Measurement, and System Integration. 6 (3): 133–143. doi:10.9746/jcmsi.9.134.
- ^ Tamura, K.; Yasuda, K. (2016). "The Spiral Optimization Algorithm: Convergence Conditions and Settings". IEEE Transactions on Systems, Man, and Cybernetics: Systems. PP (99): 1–16. doi:10.1109/TSMC.2017.2695577.