Ipopt项目Github地址:https://github.com/coin-or/Ipopt
OSQP项目Github地址:https://github.com/osqp/osqp
osqp-eigen项目Github地址:https://github.com/robotology/osqp-eigen
casadi项目Github地址:https://github.com/casadi/casadi/tree/main
Ipopt
(Interior Point OPTimizer)是一个强大的非线性优化求解器。它被广泛用于数学建模和优化问题,特别是连续优化问题。Ipopt基于内点法算法,可以高效地解决大规模非线性约束优化问题。它支持连续变量和离散变量,并能处理不等式约束、等式约束和混合约束。Ipopt是一个开源库,可以在商业和学术项目中免费使用。
ipopt文档:https://coin-or.github.io/Ipopt/
OSQP
(Operator Splitting Quadratic Program)是一个快速的凸二次规划求解器。它基于ADMM(Alternating Direction Method of Multipliers)算法,能够高效地求解大规模凸二次规划问题。OSQP对于需要在实时或嵌入式系统中求解二次规划问题非常有用,因为它具有低内存占用和快速求解的特点。OSQP也是一个开源库,可以免费使用并适用于商业和学术项目。
osqp-eigen
是一个与OSQP库集成的C++接口库。它将OSQP库与Eigen线性代数库相结合,使用户可以方便地在C++环境中使用OSQP进行凸二次规划求解。osqp-eigen提供了一个简单而直观的API,使用户可以轻松地定义问题并使用OSQP进行求解。通过osqp-eigen,您可以使用Eigen的矩阵和向量类型来定义问题,并且能够直接访问OSQP的高性能二次规划求解功能。
CasADi
(Computational Solution of Algebraic Differential Equations Interface)是一个开源的工具包,主要用于动态优化和控制的计算机辅助工具。它提供了一个统一的框架,用于描述和解决多种数学问题,特别是涉及到代数方程和微分方程的优化和控制问题。