A large scale non-linear optimization library
-
Updated
Mar 17, 2026 - C++
A large scale non-linear optimization library
Modeling language for Mathematical Optimization (linear, mixed-integer, conic, semidefinite, nonlinear)
An object-oriented algebraic modeling language in Python for structured optimization problems.
CasADi is a symbolic framework for numeric optimization implementing automatic differentiation in forward and reverse modes on sparse matrix-valued computational graphs. It supports self-contained C-code generation and interfaces state-of-the-art codes such as SUNDIALS, IPOPT etc. It can be used from C++, Python or Matlab/Octave.
An acausal modeling framework for automatically parallelized scientific machine learning (SciML) in Julia. A computer algebra system for integrated symbolics for physics-informed machine learning and automated transformations of differential equations
A light-weight, Eigen-based C++ library for trajectory optimization for legged robots.
With Uno, finally take full control of your SQP/barrier solver for nonlinearly constrained optimization
Represent trained machine learning models as Pyomo optimization formulations
A Julia interface to the NLopt nonlinear-optimization library
A solver for nonlinear programming with GPU support
HPC solver for nonlinear optimization problems
Data Structures for Optimization Models
MATLAB implementations of a variety of nonlinear programming algorithms.
A Julia interface to the Ipopt nonlinear solver
Proximal operators for nonsmooth optimization in Julia
Proximal algorithms for nonsmooth optimization in Julia
Model and solve optimal control problems in Julia, both on CPU and GPU.
Toolbox for gradient-based and derivative-free non-convex constrained optimization with continuous and/or discrete variables.
Python-based algebraic modeling interface to GAMS
A set of lightweight header-only template functions implementing commonly-used optimization methods on Riemannian manifolds and convex spaces.
Add a description, image, and links to the nonlinear-programming topic page so that developers can more easily learn about it.
To associate your repository with the nonlinear-programming topic, visit your repo's landing page and select "manage topics."