#16 · 主分类: 优化与启发式算法

ifopt

catkin cmake cpp eigen ipopt mathematical-programming nlp nonlinear-optimization optimization robotics ros snopt trajectory-optimization

基于Eigen的轻量级C++接口,用于非线性规划求解器(Ipopt、Snopt)

项目最后更新:11/03/25

GitHub Stars

866

Forks数量

161

贡献者数量

18

许可证

BSD-3-Clause

收录理由

使用Ipopt或Snopt的原生C接口编写非线性规划问题时,开发者往往要手动管理变量索引,并基于原始指针拼装雅可比矩阵,这类细节极易埋下隐患。ifopt在求解器前增加了一层基于Eigen的紧凑抽象,把变量、代价函数和约束分别定义为独立类,再由库自动组合出完整问题及其导数结构。这样的设计在机器人和轨迹优化场景中很实用,同一个约束常常要复用于多种问题表述,而ifopt免去了反复处理索引簿记的负担。问题描述与具体求解器无关,在Ipopt与Snopt之间切换等价于更换后端,而不是重写模型。整个库只有约两千行代码,结构清晰,适合需要将原生优化嵌入大型C++或ROS项目的团队阅读和裁剪。

相关文章

暂无针对该项目的文章。

如需补充新闻资讯、使用教程、应用测评等内容,欢迎 联系我们推荐选题或投稿。

同类热门项目