• Stars
    star
    147
  • Rank 242,857 (Top 5 %)
  • Language
    MATLAB
  • License
    MIT License
  • Created almost 8 years ago
  • Updated over 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

MATLAB implementations of a variety of nonlinear programming algorithms.

Nonlinear-Optimization-Algorithms

MATLAB implementations of various nonlinear programming algorithms.


This repository contains MATLAB implementations of a variety of popular nonlinear programming algorithms, many of which can be found in Numerical Optimization by Nocedal and Wright, a text that I highly recommend.

List of algorithms implemented:

  1. line-search (simple Wolfe, strong Wolfe, Morรฉ-Thuente)
  2. steepest descent
  3. Newton's method
  4. Dogleg method
  5. Steihaug-Toint conjugate gradient trust region method
  6. BFGS
  7. limited-memory BFGS
  8. Gauss-Newton method

All of the algorithms are heavily commented (possibly to a fault), but I wanted someone in the midst of a nonlinear programming class to be able to read through the code and understand it decently well. Although I have done my best to implement these algorithms with efficiency in mind (within the confines of MATLAB's inherent deficiencies in this regard), this repository is far more valuable as a teaching tool than as a performance-centric library.

Due to the algorithms being so heavily commented, many implementation details are contained within the code as comments instead of in a README.

Some day, I will include a demo folder that demonstrates the correctness and performance of each algorithm on a set of representative problems, and I will create a README with implementation details for each algorithm, to be located in the src folder.

Some day! :)