我想使用 C 执行非线性优化算法。
问题是: 超过向量 X 中的五个点。
X、Y(X)、下限和上限是已知的。
我在 C 上找到了nlopt库,但我不知道是否可以对五个离散点执行优化。
有什么建议,甚至是另一个图书馆?
谢谢!
我想使用 C 执行非线性优化算法。
问题是: 超过向量 X 中的五个点。
X、Y(X)、下限和上限是已知的。
我在 C 上找到了nlopt库,但我不知道是否可以对五个离散点执行优化。
有什么建议,甚至是另一个图书馆?
谢谢!
我建议Octave。有关 Octave 的非线性规划,请参阅 Octave 优化。您可以使用类似 matlab 的语言来实现。
它也有 C/C++ api。
请参阅这篇文章:如何在 C/C++ 程序中嵌入 GNU Octave?.
还有,这个pdf
考虑优化 matlab 代码而不是用另一种语言重新实现算法 - 如果优化得当,matlab 可以非常快(避免使用 for 循环,使用矢量化计算,预分配内存)。
看看 http://www.mathworks.com/company/newsletters/news_notes/june07/patterns.html