SimonBlanke / Gradient-Free-Optimizers

Simple and reliable optimization with local, global, population-based and sequential techniques in numerical discrete search spaces.
https://simonblanke.github.io/gradient-free-optimizers-documentation
MIT License
1.21k stars 84 forks source link

Spiral Optimization #26

Closed SimonBlanke closed 2 years ago

SimonBlanke commented 2 years ago

In the upcoming v1.1 I will release the Spiral Optimization algorithm. An explanation and visualization can be found on wikipedia.

The current source code of this new algorithm for Gradient-Free-Optimizers can be found on the v1.1 branch.

There are still some things to implement/unterstand:

SimonBlanke commented 2 years ago

Depending on the start configuration of positions the particles might stick to the edges of the search-space when attempting to spiral:

SpiralOptimization

SimonBlanke commented 2 years ago

This looks much better, but there is nothing happening after convergence:

SpiralOptimization

SimonBlanke commented 2 years ago

I added some fixes for the rotation-matrix and added a decay-parameter to change the step-size (or more like: radius-factor) over time. In the following search-path-gif you can see what happens, when the decay-rate is >1. The particles start to spiral out after some time. Very interesting!

SpiralOptimization