![]() |
Matlab的fmincon函数在C ++中的实现
我们目前正在使用Matlab的[I]fmincon[/I]函数对我正在研究的项目进行非线性优化。我们需要将项目的该部分移植到C ++,以便将其与项目的其他部分集成。是否有将[I]fmincon[/I]函数编译成可在C ++中使用的库的好方法?还是在某个地方已经有实现[I]fmincon[/I]的库?
如果以上都不是选项,那么可以使用哪些优化库很容易从[I]fmincon[/I]切换到? [B]背景信息:[/B] 我们正在尝试优化无人机的航点飞行路径,以使其尽可能沿着地面遵循给定的航点摄像头路径。两条路径之间的航路点在时间上是相对应的,因此,当无人机到达第[I]i[/I]个飞行路径航路点时,摄像机万向架将指向第[I]i[/I]个摄像机航路点。由于无人机以恒定速度飞行,因此飞行路径段的长度都相同。转弯半径也受上限的限制。相机路径没有任何限制,因此其片段可能比飞行路径片段更长或更短,并且可能会急转弯。成本函数是相应的飞行航点和摄像机航点之间的平方和距离(忽略高度差)。 [B]回答:[/B] 在大多数情况下,图书馆不会尝试像fmincon is那样成为黑盒魔术般的万能优化工具,而是会要求您提供更多细节并自行做出更多选择,对于他们来说更简单,应该会导致您的软件运行更快。当然,您可以使用MATLAB引擎或MATLAB编译器从程序中调用fmincon,但是,如果您可以使用一些有关结构的知识,则很有可能您的软件将以更快的速度运行(并且可以避免购买MATLAB编译器)。优化问题具有并调用适当的算法。 您的背景信息没有描述您在做什么-尤其是。您可行的设置对我来说显然足以告诉您使用什么,因此,我所能做的就是向您指明相关资源的方向。 [URL="http://en.wikipedia.org/wiki/Optimization_%28mathematics%29"]Wikipedia上有关优化的[/URL]列表链接到优化软件列表-最重要的是,它描述了更具体的优化问题(例如,您能否将问题表达为具有线性约束的二次编程?)和适合每种情况的软件。 [URL="http://www.stanford.edu/~boyd/cvxbook/"]博伊德关于凸优化的书[/URL]以及链接的课程材料和视频都是非常好的资源。 [url=https://stackoverflow.com/questions/5439321]更多&回答...[/url] |
所有时间均为北京时间。现在的时间是 00:17。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.