寻找优化算法 C++ 更换求解器 Excel
只要 Excel Solver 慢慢地慢慢地在成千上万的优化上工作 /原因是它将电子表格用作界面/, 我正在努力实施类似的 /具体问题/ 焊点B. C++ /从 Visual Studio 2010, 在平台上 Win 7 64-bit/. 我会包括 DLL 通过运营商 Declare 在 VBA 我已经有了这个经验,所以这不是一个问题。
我的任务是最小化经验数据和目标函数之间的错误的平方和,这是非线性但平滑的,并且此任务将包括非负性 /X>=0/ 甚至限制 /例如, X>=0.00000001/, 而且 X 表示可变解决方案。
我正在寻找可靠,经过验证的实施。 它可以是现有库的一部分。
例如,我已经研究过 ALGLIB 它有库存 /厘米。
http://www.alglib.net/optimization/
/, 似乎只有一个算法只有限制限制。 但我不知道它的成本是什么,这就是为什么我想收集一些意见。
或者,另一方面,建议补充Levenberg-Marquardt算法 ALGLIB 例如,拒绝不满足我限制的每个中间解决方案的基本限制? /我认为它没有帮助,但仍然值得询问/
我的任务是最小化经验数据和目标函数之间的错误的平方和,这是非线性但平滑的,并且此任务将包括非负性 /X>=0/ 甚至限制 /例如, X>=0.00000001/, 而且 X 表示可变解决方案。
我正在寻找可靠,经过验证的实施。 它可以是现有库的一部分。
例如,我已经研究过 ALGLIB 它有库存 /厘米。
http://www.alglib.net/optimization/
/, 似乎只有一个算法只有限制限制。 但我不知道它的成本是什么,这就是为什么我想收集一些意见。
或者,另一方面,建议补充Levenberg-Marquardt算法 ALGLIB 例如,拒绝不满足我限制的每个中间解决方案的基本限制? /我认为它没有帮助,但仍然值得询问/
没有找到相关结果
已邀请:
3 个回复
诸葛浮云
赞同来自:
http://www.ics.forth.gr/~lourakis/levmar/
/GPL/.
如果要更改现有算法,则拒绝不良解决方案不合适,优化可能会被卡住。 但是,您可以进行变量替换,例如,确保 X > 0.1 您可以使用 t^2+0.1 反而 X.
我将此方法用作旁路路径,以便在我的程序中缺乏内置框限制。 这是一个引用
Data fitting in the chemical sciences
彼得汉斯,谁描述了更好:
https://github.com/wojdyr/fity ... aints
八刀丁二
赞同来自:
http://people.sc.fsu.edu/~jbur ... .html
标准选择方法。
您必须能够将它们链接在库中并调用它们 C++,
如果你不想让自己汇编 Fortran.
限制搜索空间的一种方法是转换参数,例如,使用该函数 logit.
小明明
赞同来自:
http://archive.msdn.microsoft. ... D1799
? 快速发布是免费的,附带 .NET 4.0 dll. 我发现它很容易使用。 另一方面,我不知道你对问题有多伟大的问题:Express Edition中的变量数量有一些局限性。