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 seminumerically) for the gradients of both the objective function and all constraints.
The underlying algorithm is an implementation of an interior point line search filter for general nonlinear programming problems.
See Ref. 6 for the detailed mathematical background.