/Algorithms-for-Optimization-Python

Unofficial implementation in Python porting of the book "Algorithms for Optimization" (2019) MIT Press by By Mykel J. Kochenderfer and Tim A. Wheeler

Primary LanguageJupyter Notebook

Algorithms for Optimization - Python

Unofficial implementation in Python porting of the book "Algorithms for Optimization" (2019); MIT Press by Mykel J. Kochenderfer and Tim A. Wheeler

AlgOptBook

Contents

  • Symbolic differentiation
  • Numerical differentiation
    • Finite difference methods
    • Complex step method
  • Automatic differentiation
    • Forward accumulation
    • Reverse accumulation
  • Unimodality assumption
  • Fibonacci search
  • Golden section search
  • Quadratic fit search
  • Shubert-Piyavskii method
  • Bisection method
  • Line search
  • Approximate line search
    • First Wolfe condition
    • Second Wolfe condition
    • Strong Wolfe condition
  • Trust region method
  • Gradient descent
  • Conjugate gradient descent
  • Momentum
  • Nesterov momentum
  • Adagrad
  • RMSProp
  • Adadelta
  • Adam
  • Hypergradient descent
  • Hypergradient Nesterov momentum