4

我想使用 C 执行非线性优化算法。

问题是: 优化问题 超过向量 X 中的五个点。

X、Y(X)、下限和上限是已知的。

我在 C 上找到了nlopt库,但我不知道是否可以对五个离散点执行优化。

有什么建议,甚至是另一个图书馆?

谢谢!

4

2 回答 2

3

我建议Octave。有关 Octave 的非线性规划,请参阅 Octave 优化。您可以使用类似 matlab 的语言来实现。

它也有 C/C++ api。
请参阅这篇文章:如何在 C/C++ 程序中嵌入 GNU Octave?.

还有,这个pdf

于 2013-04-26T14:14:18.540 回答
0

考虑优化 matlab 代码而不是用另一种语言重新实现算法 - 如果优化得当,matlab 可以非常快(避免使用 for 循环,使用矢量化计算,预分配内存)。

看看 http://www.mathworks.com/company/newsletters/news_notes/june07/patterns.html

于 2013-04-26T16:51:38.210 回答