Non-linear optimization algorithms