我正在寻找有关非线性编程的C ++库的建议(不只是整数!)。
优先考虑积极维护的F / OSS解决方案,但积极维护提供免费评估版本的商业解决方案是可以接受的。
提前致谢!
修改:根据要求,以下是更多详情:
我正在研究的应用是简单的,它是关于最小化4次和更高次数(最多11次)的多项式,其中一小组(约20)的约束表示为不等式(同样,作为多项式,度数< = 4)。不过,我偶尔也可能要投入一些三角函数。无论如何,它始终是我正在处理的连续,可区分的功能。到目前为止,变量的数量范围从1到12,并且不会超出此范围。
最后,我需要一个适用于Windows的解决方案,但更适合跨平台的解决方案。
答案 0 :(得分:6)
我不确定,但CERN的ROOT也许适合你。这是来自CERN本身的巨大的库(ROOT::Math::Polynomial类)。
我必须说,它确实不是一个“一分钟学习”的库,但它同时具有: console 可以实时处理所有数学内容(看起来类似于MathCAD cmd行) )和 libs 和 dll ,您可以静态链接您的代码。它是一个跨平台的库。更重要的是,ROOT最强大的功能是你可以构建几乎所有类型的图表和图表。
答案 1 :(得分:4)
我所知道的最强大的库是IPOPT。
它非常强大,它给了我化学工程问题的结果,即使使用商业解算器也无法解决。请查看success stories以获取更多应用示例。
答案 2 :(得分:2)