Hello! Here you can find a collection of optimization methods implemented in Python. It was created while studying at KPI, so as university task it works with 2D functions only, but you can easily change it.
One-dimensional methods:
- Svenn algorithm
- Davies-Svenn-Campy algorithm
- DSC-Powell algorithm
- Gold search
- Dichotomy method
- Bolzano method
- Newton search
- Chords method
Zero-dimensional methods (no derivative required):
- Hook-Jeeves algorithm
- Rozenbrock algorithm
Methods using derivative:
- Gradient descent
- Fastest descent (Cauchy method)
- Advanced partan (parallel tangents) algorithm
- Newton method (requires second order derivative)
- Fletcher-Reeves method
- Conjugated directions algorithm
Other methods:
- Davidson-Fletcher-Powell method