MadNLP solver
MadNLP takes as input a nonlinear program encoded as a AbstractNLPModel and solve it using interior-point. The main entry point is the function madnlp:
MadNLP.madnlp — Functionmadnlp(model::AbstractNLPModel; options...)Build a MadNLPSolver and solve it using the interior-point method. Return the solution as a MadNLPExecutionStats.
MadNLP.MadNLPExecutionStats — TypeMadNLPExecutionStats{T, VT} <: AbstractExecutionStatsStore the results returned by MadNLP once the interior-point algorithm has terminated.
In detail, the function madnlp builds a MadNLPSolver storing all the required structures in the solution algorithm. Once the MadNLPSolver instantiated, the function solve! is applied to solve the nonlinear program with MadNLP's interior-point algorithm.
MadNLP.MadNLPSolver — TypeMadNLPSolver(nlp::AbstractNLPModel{T, VT}; options...) where {T, VT}Instantiate a new MadNLPSolver associated to the nonlinear program nlp::AbstractNLPModel. The options are passed as optional arguments.
The constructor allocates all the memory required in the interior-point algorithm, so the main algorithm remains allocation free.