我正在处理我没有可用导数的函数的优化,并且优化不受限制。我正在寻找与 C++ 语言兼容的高质量 GNU 公共许可证兼容优化库。到目前为止,我已经设法找到OPT++。
有人可以推荐这个或其他一些图书馆吗?
OPT++由Dakota (Sandia) 内部使用,它不仅仅是一个优化库,而且是在 LGPL 下发布的。您还应该看看在类似 BSD 的许可证下发布的TAO (ANL)。可以在此处找到对 OPT++ 和 TAO 的介绍。其他替代品是MOOCHO、NOMAD和HOPSPACK,据我所知,它们也是 LGPL 许可的。
Sandia 和 ANL 都提供自动微分包,如Sacado和ADIFOR / ADIC,它们应该可以很好地与他们的通用数值库Trilinos / PETSc配合使用。
NLopt库满足您的要求。我过去使用过它,我对它的界面和结果感到满意。