非线性优化C

4
我想使用C语言执行非线性优化算法。
问题如下: optimization problem 需要在向量X的五个点上进行优化。
已知X、Y(X)、下限和上限。
我在C语言中找到了nlopt库,但不确定是否可以在这五个离散点上进行优化。
请问有没有其他建议或库可以使用?
谢谢!
2个回答

3

谢谢您的快速回复!我已经在Matlab中实现了优化,但算法非常慢,所以我想转换到C语言。您认为在Octave中它会足够快吗?谢谢! - yooyle
1
@user2010599 Octave 是使用 C++ 实现的,但有 C/C++ API。如果您已经了解 MATLAB,可能会更容易上手。至于效率,我不太确定,您可能需要尝试一下。 - gongzhitaao
@koel,Matlab通常比Octave更快。 - Prof. Falken

0

我正在使用Matlab函数lsqnonlin解决优化问题,因此没有太多需要更改的代码。(由于我对3D图像的每个体素运行优化,所以需要一些时间才能完成。) 也许我可以使用自己的方法(如拉格朗日乘数)来解决问题,但我不知道与我将节省的执行时间相比,这是否值得去做。 - yooyle
如果对于每个体素运行优化,是否意味着对于每个体素都要单独执行isqnonlin?因此,您将拥有N个包含5个点的数组,并且对所有这些数组都独立执行优化? - Ilya Kobelevskiy
是的,这个图像是512*256的,而且我有5个这样的数组。优化是针对图像的每个体素执行的。 - yooyle
对于每个切片,但不要混淆。优化是不相关的。我想高效地解决单个体素的问题。 - yooyle

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接