The core of this part of the project is a set of implementations of standard optimization methods. Currently Akutan includes implementations of the Levenberg-Marquardt, Active Set and Interior Points algorithms.

I used "Practical Methods of Optimization, Second Edition" by Fletcher and "Numerical Optimization" by Nocedal and Wright as my primary sources for the implmentations, but there are plenty of sources on the internet with details on these algorithms. At some point I'd like to provide some documentation on the Akutan implementations of these algorithms.

Levenberg-Marquardt is an unconstrained non-linear minimization algorithm that approximates the objective function using the first two terms of the Taylor series around the current point. It is typically used for estimation of parameters for least square. I developed an interest in it when working with Garch processes.

Active Set methods support quadratic objectives with linear constraints. They are interesting in that those constraints which are not active (current iterate is not on the boundary) are ignored during each iteration. I use Active Set to solve simple portfolio optimization problems where it is fast and dependable.

Interior Point methods support quadratic objectives with quadratic and other non-linear constraints. Interior Point methods use barrier functions to keep the current iterate away from the bounds. I use Interior Point methods for portfolio optimization problems with more complex constraints, such as an entropy style diversification constraint which Active Set methods cannot handle.