Skip to content

Latest commit

 

History

History
17 lines (16 loc) · 1.07 KB

README.md

File metadata and controls

17 lines (16 loc) · 1.07 KB

Optimization Methods

This is a header-only C++ library containing several well-known optimization methods. The library is written in modern C++ (C ++20) using Eigen library. I wrote it while studying book Practical mathematical optimization: An Introduction to Basic Optimization Theory and Classical and New Gradient-Based Algorithms by Jan A.Snyman. Tested on Linux (Ubuntu) using GCC 9.3.0 and Win using VS2019

Content

Unconstrained optimization

  • One-Dimensional Line Search Methods (Golden Section, Fibonacci, Brent, Powell)
  • Steepest Descent Method
  • Conjugate Gradient Methods (Fletcher-Powell, Polak-Ribiere, Hestenes-Stiefel)
  • Quasi-Newton Methods (Davidon-Fletcher-Powell, Broyden-Fletcher-Goldfarb-Shanno)
  • Zero-Order Methods (Nelder-Mead, Powell's Conjugate Method)

Usage

Just include include/unconstrained_methods/om_unconstrained_methods.hpp in your project and use minimize() method. See unit_tests folder for detailed usage. Detailed description very soon..