- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
除了 fmincon 之外,还有更快更高效的求解器吗?我正在使用 fmincon 解决特定问题,但我的内存不足,无法容纳中等大小的向量变量。我也没有任何 super 计算机或云计算选项可供我使用。我知道任何替代解决方案仍然会耗尽内存,但我只是想看看问题出在哪里。
附言我不想要一个会改变我处理实际问题方式的解决方案。我知道凸优化是要走的路,我已经做了足够的工作来完成这里。
P.P.S 我看到了关于开源替代品的另一个问题。那不是我要找的。我正在寻找更有效的方法,如果有人面临同样的问题并转向更好的解决方案。
最佳答案
嗯...
如果没有进一步的信息,我猜是 fmincon
内存不足,因为它需要 Hessian(假设您的决策变量是 10^4,它将是 10^4 x numel(f(x1,x2,x3,....))
大)。
确定Hessian的值也需要很多时间,因为fmincon
如果您没有明确指定导数,通常会使用有限差分。
你可以做一些事情来加快速度。
HessPattern
传递 Hessian 矩阵的稀疏模式.这节省了大量的内存和计算时间。 fmincon
通过 HessFcn
优化集中的选项。 GradConstr
(对于您的非线性约束函数)和/或 GradObj
(对于您的目标函数)在此处应用。 fmincon
是 MATLAB 优化工具箱的骄傲和喜悦,确实没有比这更好的现成工具了,您必须到别处搜索。
fmincon
对某些类型的问题有一些真正的弱点。我知道这个
很好 ,因为我曾经因为它输掉了一个非常负盛名的比赛(
GTOC)。结果证明我们的方法与获胜者的方法完全相同,除了他们可以访问 SNOPT,这使得他们的几百万变量优化问题在几次迭代中收敛,而
fmincon
无论我们尝试过什么(相信我,
我们尝试过 ),根本无法收敛。直到今天,我仍然不知道为什么会发生这种情况,但是当我可以访问 SNOPT 时,我自己验证了这一点。有一次,当我有无限量的时间时,我会找出来并将其报告给 MathWorks。但在那之前......我对
fmincon
失去了一点信任:)
关于matlab - FMINCON 的替代品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17062925/
除了 fmincon 之外,还有更快更高效的求解器吗?我正在使用 fmincon 解决特定问题,但我的内存不足,无法容纳中等大小的向量变量。我也没有任何 super 计算机或云计算选项可供我使用。我知
我想在matlab中解决这个非线性程序 min J=X' EX + U' EU subject to X'-X0'-G'Z-X'DP+X'DZ-U'P=0 其中 X 和 U 未知 2*r+1 by 1
我正在使用 fmincon解决一个问题。这个问题有一些线性不等式约束,它们写在矩阵 A 和 B 中。 我可以用 2 种方式编写这些约束,我应该得到类似的结果。但是,奇怪的是我得到了不同的解决方案。这是
我想使用 fmincon 解决约束最小化问题.但是约束是根据 f(x_0)b y_maxb c(2) = y_max-ab(1); % this is y_max
我试图最小化由约束变量以外的变量组成的目标函数。有没有办法将参数传递给这样的函数,例如: data = xlsread('Returns.xlsx', 'Sheet2','A2:F324'); for
我正在尝试最小化由约束变量以外的变量组成的目标函数。有没有办法将参数传递给这样的函数,例如: data = xlsread('Returns.xlsx', 'Sheet2','A2:F324'); f
我想抑制 fmincon 的标准输出像下面这样 Optimization completed because the objective function is non-decreasing in f
我有一个 MINLP 目标函数,我想将一些变量值固定为常量,如下所述: A = [1 1 1]; b = 30; x1 = zeros(1,3); y=1; x = fmincon(@(x)objfu
我正在尝试最小化具有非线性约束的目标函数。我的问题是方便地为参数找到一个合适的初始值集。因为初始值也必须满足非线性约束,然而,在我的目标函数中,我有超过 1000 个数据点,导致 1000 个函数值。
我正在尝试使用 MATLAB 优化工具箱中的 fmincon 来估计非线性滤波器的参数,同时保持状态方程矩阵的特征值小于 1。使用“sqp”算法的 fmincon 的文档说它在所有迭代中都遵守约束,但
我试图在 Matlab 中使用相当复杂的目标函数执行约束线性优化。对于不满足我定义的线性不等式约束的输入值,此目标函数将产生错误。我知道有 a few algorithms在每次迭代中强制严格遵守边界
我知道这是一个愚蠢的问题,但我不知道如何解决它......假设我有类似的问题: x = fmincon(@myfun,x0,A,b,Aeq,beq,lb,ub,@mycon) 后来: function
我试图最小化一个非线性目标函数(我的实际函数比那个复杂得多,但我发现即使这个简单的函数也说明了这一点),我知道在初始点获得最小值x0: fun = @(x) x(1)^2+x(2)^2; x0 = [
我正在使用优化功能“fmincon”,在某些情况下它不会收敛。我必须确定这些情况并采取必要的措施,但是所使用的所有方法都无法捕获错误,因此我继续遇到错误: No feasible solution f
已结束。此问题不符合 Stack Overflow guidelines .它目前不接受答案。 我们不允许提出有关书籍、工具、软件库等方面的建议的问题。您可以编辑问题,以便用事实和引用来回答它。 关闭
我正在使用 C++ 中的 NLopt 库、COBYLA 算法 来最小化基于对数的成本函数。我已经在 Matlab 中使用 fmincom 实现了相同的功能。Matlab 函数的性能比 NLopt 好得
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 5 年前。 Improve this qu
我正在尝试从 C++ 调用 Matlab 的 fmincon 函数。我正在使用电话 mxcallMatlab(2, &arg1, 4, &arg2, "fmincon"); 其中 arg2" 是一个
是否有与 MATLAB 函数 fmincon 等效的函数? () 找到 R 中约束非线性函数(具有线性等式和不等式约束)的最小值? 我可以排除 R Optimization task 中列出的 con
任何人都可以向我展示 Microsoft Solver foundation 3.0 中约束非线性优化的示例或评论吗?与 Matlab 的 fmincon 相比如何?或者是否有更好的 .net 库用于
我是一名优秀的程序员,十分优秀!