The IPOPT Solver
The IPOPT solver uses a gradient-based optimization technique to find optimal solutions to a very general class of optimization problems. It requires external computation (analytically or semi-numerically) for the gradients of both the objective function and all constraints.
The underlying algorithm is an implementation of a interior point line search filter for general nonlinear programming problems.
See
Ref. 6
for the detailed mathematical background.