Available NLPModels API implementations
mainThe NLPModels.jl ecosystem provides a unified interface for nonlinear optimization problems. Various packages implement this API to allow users to interface with different modeling languages, problem structures, or mathematical frameworks. Depending on your problem type, you should use one of the following specialized packages:
- JuMP-based models: Use
NLPModelsJuMP.jlif your problem is modeled usingJuMP.jl. - AMPL-based models: Use
AmplNLReader.jlfor problems modeled using AMPL. - Automatic Differentiation: Use
ADNLPModels.jlfor models with built-in automatic differentiation. - Quadratic/Least Squares: Use
QuadraticModels.jlfor Linear Constraint Quadratic Programming (LCQP) orLLSModels.jlfor linear least squares. - Structured Problems: Use
BlockNLPModels.jlfor block-structured nonlinear problems orPDENLPModels.jlfor PDE-constrained problems. - External Libraries: Use
CUTEst.jlfor problems from the CUTEst collection. - Model Transformations: Use
NLPModelsModifiers.jlto modify existing models (e.g., adding slack variables, moving constraints to the objective, or applying LBFGS Hessian approximations).