Skip to content

Contains several well known optimisation methods. Library written in modern C++20, using Eigen library.

Notifications You must be signed in to change notification settings

MichalSara99/optimization_methods

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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..

About

Contains several well known optimisation methods. Library written in modern C++20, using Eigen library.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published